# 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 = "2021"
name = "scirs2-graph"
version = "0.4.4"
authors = ["COOLJAPAN OU (Team KitaSan)"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Graph processing module for SciRS2 (scirs2-graph)"
readme = "README.md"
keywords = [
    "graph",
    "network",
    "scientific",
    "ai",
    "machine-learning",
]
categories = [
    "science",
    "mathematics",
    "algorithms",
]
license = "Apache-2.0"
repository = "https://github.com/cool-japan/scirs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
advanced_centrality = []
benchmarks = []
compression = []
default = [
    "std",
    "sysinfo",
]
experimental_algorithms = ["unstable"]
extra_formats = []
full = [
    "parallel",
    "simd",
    "advanced_centrality",
    "extra_formats",
    "benchmarks",
    "profiling",
    "validation",
    "networkx_compat",
]
gpu = ["scirs2-core/gpu"]
igraph_compat = []
networkx_compat = []
neural_networks = []
parallel = ["scirs2-core/parallel"]
profiling = []
simd = ["scirs2-core/simd"]
std = []
sysinfo = []
unstable = []
validation = []

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

[[example]]
name = "advanced_final_validation"
path = "examples/advanced_final_validation.rs"

[[example]]
name = "advanced_numerical_validation_demo"
path = "examples/advanced_numerical_validation_demo.rs"

[[example]]
name = "advanced_validation_simple"
path = "examples/advanced_validation_simple.rs"

[[example]]
name = "graph_advanced_demo"
path = "examples/graph_advanced_demo.rs"

[[example]]
name = "graph_demo"
path = "examples/graph_demo.rs"

[[example]]
name = "hypergraph_demo"
path = "examples/hypergraph_demo.rs"

[[example]]
name = "infomap_demo"
path = "examples/infomap_demo.rs"

[[example]]
name = "refactor_demo"
path = "examples/refactor_demo.rs"

[[example]]
name = "temporal_graph_demo"
path = "examples/temporal_graph_demo.rs"

[[example]]
name = "test_k_core"
path = "examples/test_k_core.rs"

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

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

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

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

[[bench]]
name = "advanced_algorithms"
path = "benches/advanced_algorithms.rs"
harness = false

[[bench]]
name = "advanced_benchmarks"
path = "benches/advanced_benchmarks.rs"

[[bench]]
name = "advanced_large_graph_stress"
path = "benches/advanced_large_graph_stress.rs"

[[bench]]
name = "benchmark_runner"
path = "benches/benchmark_runner.rs"
harness = false

[[bench]]
name = "graph_benchmarks"
path = "benches/graph_benchmarks.rs"
harness = false

[[bench]]
name = "large_graph_stress"
path = "benches/large_graph_stress.rs"
harness = false

[[bench]]
name = "memory_benchmarks"
path = "benches/memory_benchmarks.rs"
harness = false

[[bench]]
name = "networkx_igraph_comparison"
path = "benches/networkx_igraph_comparison.rs"

[[bench]]
name = "performance_optimizations"
path = "benches/performance_optimizations.rs"
harness = false

[[bench]]
name = "performance_regression"
path = "benches/performance_regression.rs"
harness = false

[[bench]]
name = "simd_operations"
path = "benches/simd_operations.rs"

[dependencies.ordered-float]
version = "5.3.0"

[dependencies.parking_lot]
version = "0.12.5"

[dependencies.petgraph]
version = "0.8.3"

[dependencies.scirs2-core]
version = "0.4.4"
features = [
    "parallel",
    "simd",
    "random",
    "array",
]
default-features = false

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "derive",
]

[dependencies.serde_json]
version = "1.0"

[dependencies.sysinfo]
version = "0.38.4"

[dependencies.thiserror]
version = "2.0.18"

[dev-dependencies.approx]
version = "0.5.1"

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

[dev-dependencies.ctor]
version = "0.12"

[dev-dependencies.num_cpus]
version = "1.17.0"

[dev-dependencies.tempfile]
version = "3.27.0"

[lints.clippy]
expect_used = "allow"
len_zero = "allow"
unwrap_used = "warn"

[lints.rust]
dead_code = "allow"
mismatched_lifetime_syntaxes = "allow"
unknown_lints = "allow"
unpredictable_function_pointer_comparisons = "allow"
unused_imports = "allow"
unused_mut = "allow"
unused_variables = "allow"
