# 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 = "spenso"
version = "0.6.0"
authors = ["Lucien Huber <cargo+mail@lucien.ch>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A tensor (n-dim array) network, iterating, and contraction (using automatic abstract index matching) library."
documentation = "https://docs.rs/spenso/latest/spenso/"
readme = "README.md"
keywords = [
    "tensors",
    "contraction",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/alphal00p/spenso"
resolver = "2"

[package.metadata.docs.rs]
all-features = true

[features]
python = ["dep:pyo3"]
python_stubgen = [
    "dep:pyo3-stub-gen",
    "python",
]
shadowing = [
    "dep:symbolica",
    "spenso-macros/shadowing",
]

[lib]
name = "spenso"
path = "src/spenso.rs"

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

[dependencies.ahash]
version = "0.8.11"
features = ["serde"]

[dependencies.anyhow]
version = "1.0.86"
features = ["backtrace"]

[dependencies.append-only-vec]
version = "0.1.6"

[dependencies.approx-derive]
version = "0.2.6"

[dependencies.approxim]
version = "0.6.6"

[dependencies.bincode]
version = "2.0.1"
features = ["serde"]

[dependencies.bincode-trait-derive]
version = "0.1.1"

[dependencies.bitvec]
version = "1.0.1"
features = ["serde"]

[dependencies.colored]
version = "3.0.0"

[dependencies.constcat]
version = "0.5.0"

[dependencies.delegate]
version = "0.12.0"

[dependencies.derive_more]
version = "0.99.17"

[dependencies.duplicate]
version = "1.0.0"

[dependencies.dyn-clone]
version = "1.0.17"

[dependencies.enum-try-as-inner]
version = "0.1.1"

[dependencies.env_logger]
version = "0.11.5"

[dependencies.features]
version = "0.10.0"

[dependencies.gat-lending-iterator]
version = "0.1.5"

[dependencies.indexmap]
version = "2.2.6"
features = ["serde"]

[dependencies.itertools]
version = "0.14.0"

[dependencies.linnet]
version = "0.16"
features = [
    "serde",
    "bincode",
]

[dependencies.log]
version = "0.4.22"

[dependencies.num]
version = "0.4.3"
features = ["serde"]

[dependencies.once_cell]
version = "1.20.2"

[dependencies.pyo3]
version = "0.27"
optional = true

[dependencies.pyo3-stub-gen]
version = "0.17"
optional = true
default-features = false

[dependencies.rand]
version = "0.9"

[dependencies.rand_xoshiro]
version = "0.6.0"

[dependencies.rayon]
version = "1.10.0"

[dependencies.ref-ops]
version = "0.2.5"

[dependencies.serde]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.slotmap]
version = "1.0.7"
features = ["serde"]

[dependencies.spenso-macros]
version = "0.3"

[dependencies.symbolica]
version = "1.2"
features = [
    "serde",
    "bincode",
]
optional = true
default-features = false

[dependencies.tabled]
version = "0.20.0"

[dependencies.thiserror]
version = "1.0.60"

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.insta]
version = "1.38.0"
features = [
    "yaml",
    "json",
    "ron",
    "toml",
]

[dev-dependencies.ron]
version = "0.8"
