# 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"
rust-version = "1.89"
name = "aprender-contracts"
version = "0.35.0"
authors = ["Noah Gift <noah@paiml.com>"]
build = "build.rs"
exclude = [
    "tests/",
    "benches/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Papers to Math to Contracts in Code — YAML contract parsing, validation, scaffold generation, and Kani harness codegen for provable Rust kernels"
readme = "README.md"
keywords = [
    "verification",
    "formal-methods",
    "kani",
    "contracts",
    "ml-kernels",
]
categories = [
    "development-tools::testing",
    "mathematics",
]
license = "MIT"
repository = "https://github.com/paiml/aprender"

[features]
default = []
kani = []

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.provable-contracts-macros]
version = "0.35.0"
package = "aprender-contracts-macros"

[dependencies.regex]
version = "1"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.thiserror]
version = "2.0"

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

[dev-dependencies.proptest]
version = "1"

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

[build-dependencies.serde]
version = "1"
features = ["derive"]

[build-dependencies.serde_yaml]
version = "0.9"

[lints.rust]
unsafe_code = "allow"
