[package]
edition = "2021"
rust-version = "1.89"
name = "aprender-contracts"
version = "0.29.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.29.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"