[package]
name = "symbolic_regression"
version = "0.3.0"
edition = "2021"
license = "Apache-2.0"
description = "Rust port of SymbolicRegression.jl."
homepage = "https://github.com/MilesCranmer/symbolic_regression.rs"
repository = "https://github.com/MilesCranmer/symbolic_regression.rs"
readme = "README.md"
documentation = "https://docs.rs/symbolic_regression"
keywords = ["symbolic-regression", "genetic-programming"]
categories = ["science", "mathematics", "algorithms"]
include = [
    "Cargo.toml",
    "README.md",
    "LICENSE*",
    "src/**",
    "tests/**",
    "examples/**",
    "benches/**",
]

[dependencies]
dynamic_expressions = "0.3.0"
num-traits = "0.2"
rand = "0.9"
rand_distr = "0.5"
ndarray = "0.17"
ndarray-rand = "0.16"
indicatif = { version = "0.18", optional = true }
console = { version = "0.16", optional = true }
anyhow = { version = "1", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
csv = { version = "1", optional = true }
calamine = { version = "0.32", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }

[features]
default = ["progress"]
progress = ["dep:indicatif", "dep:console"]
cli = [
    "progress",
    "dep:anyhow",
    "dep:clap",
    "dep:csv",
    "dep:calamine",
    "dep:serde",
    "dep:serde_json",
]
[dev-dependencies]
rust_xlsxwriter = "0.92"
tempfile = "3"

[[bin]]
name = "symreg"
path = "src/bin/symreg.rs"
required-features = ["cli"]
