# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "ebi"
version = "0.3.12"
build = false
exclude = [
    "/testfiles",
    "/manual",
    ".github/",
    ".*",
    "/documentation",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A stochastic process mining utility and library"
homepage = "https://ebitools.org"
readme = "README.md"
keywords = [
    "stochastic-processes",
    "process-mining",
    "business-processes",
]
categories = ["command-line-utilities"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/BPM-Research-Group/Ebi"

[package.metadata.wasm-pack.profile.release]
wasm-opt = [
    "-Oz",
    "--enable-bulk-memory",
    "--all-features",
]

[features]
approximatearithmetic = [
    "eapproximatearithmetic",
    "ebi_objects/approximatearithmetic",
    "ebi_optimisation/approximatearithmetic",
]
default = []
eapproximatearithmetic = []
eexactarithmetic = []
exactarithmetic = [
    "eexactarithmetic",
    "ebi_objects/exactarithmetic",
    "ebi_optimisation/exactarithmetic",
]
extension-module = ["pyo3/extension-module"]
java = ["dep:jni"]
javascript = [
    "dep:wasm-bindgen",
    "dep:syn",
    "dep:js-sys",
]
python = [
    "java",
    "dep:pyo3",
    "dep:polars",
    "dep:num-traits",
    "dep:syn",
    "dep:num-bigint",
]
test_generation = ["dep:syn"]
testactivities = ["ebi_objects/testactivities"]

[lib]
name = "ebi"
crate-type = [
    "cdylib",
    "lib",
]
path = "src/lib.rs"

[[bin]]
name = "ebi"
path = "src/main.rs"

[[test]]
name = "earth_movers_test"
path = "tests/earth_movers_test.rs"

[dependencies.Inflector]
version = "0.11.4"

[dependencies.bitvec]
version = "1.0.1"

[dependencies.cfg-if]
version = "1.0.4"

[dependencies.chrono]
version = "0.4.44"

[dependencies.clap]
version = "4.6.1"
features = [
    "derive",
    "cargo",
    "string",
]

[dependencies.clap-verbosity-flag]
version = "3.0.3"

[dependencies.const_format]
version = "0.2.36"

[dependencies.ebi_derive]
version = "0.2.11"

[dependencies.ebi_objects]
version = "0.3.187"

[dependencies.ebi_optimisation]
version = "0.3.8"

[dependencies.env_logger]
version = "0.11.10"

[dependencies.flate2]
version = "1.1.5"

[dependencies.fnv]
version = "1.0.7"

[dependencies.indexmap]
version = "2.14.0"

[dependencies.indicatif]
version = "0.18.4"

[dependencies.intmap]
version = "3.1.3"

[dependencies.itertools]
version = "0.15.0"

[dependencies.jni]
version = "0.21.1"
optional = true

[dependencies.js-sys]
version = "0.3.98"
optional = true

[dependencies.layout-rs]
version = "0.1.3"

[dependencies.log]
version = "0.4.30"
features = ["release_max_level_debug"]

[dependencies.logging_timer]
version = "1.1.1"

[dependencies.ntest]
version = "0.9.3"

[dependencies.num-bigint]
version = "0.4.6"
optional = true

[dependencies.num-traits]
version = "0.2"
optional = true

[dependencies.pastey]
version = "0.2.0"

[dependencies.pathfinding]
version = "4.15.0"

[dependencies.polars]
version = "0.32"
features = [
    "ipc",
    "timezones",
]
optional = true

[dependencies.priority-queue]
version = "2.6.0"

[dependencies.process_mining]
version = "0.5.4"
features = ["graphviz-export"]

[dependencies.pyo3]
version = "0.27.1"
features = [
    "abi3-py37",
    "generate-import-lib",
    "num-bigint",
]
optional = true

[dependencies.quick-xml]
version = "0.40.1"
features = ["serialize"]

[dependencies.rand]
version = "0.10.1"

[dependencies.rand_chacha]
version = "0.10.0"

[dependencies.rayon]
version = "1.10.0"

[dependencies.regex]
version = "1.12.3"

[dependencies.rustc-hash]
version = "2.1.2"

[dependencies.serde]
version = "1.0.228"

[dependencies.serde_json]
version = "1.0.149"

[dependencies.strongly-connected-components]
version = "1.0.0"

[dependencies.strsim]
version = "0.11.1"

[dependencies.strum]
version = "0.28.0"

[dependencies.strum_macros]
version = "0.28.0"

[dependencies.svg2pdf]
version = "0.13.0"

[dependencies.syn]
version = "2.0.118"
features = [
    "parsing",
    "full",
]
optional = true

[dependencies.uuid]
version = "1.23.1"

[dependencies.wasm-bindgen]
version = "0.2.121"
optional = true

[dev-dependencies]

[target.wasm32-unknown-unknown.dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]

[target.wasm32-unknown-unknown.dependencies.getrandom_v2]
version = "0.2"
features = ["js"]
package = "getrandom"

[target.wasm32-unknown-unknown.dependencies.getrandom_v3]
version = "0.4.2"
features = ["wasm_js"]
package = "getrandom"

[target.wasm32-unknown-unknown.dependencies.uuid]
version = "1.23.1"
features = ["js"]

[profile.release]
opt-level = 2
lto = true
codegen-units = 8
debug = 0
panic = "abort"
strip = true
