[package]
name = "dtcs"
version = "0.1.2"
edition = "2021"
rust-version = "1.75"
description = "Reference implementation of the Data Transformation Contract Standard (DTCS)"
readme = "README.md"
license = "Apache-2.0"
keywords = ["dtcs", "data-transformation", "contracts", "validation"]
categories = ["parsing", "data-structures"]
repository = "https://github.com/dtcs/dtcs"
documentation = "https://docs.rs/dtcs"

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
miette = { version = "7", features = ["fancy"] }
semver = { version = "1", features = ["serde"] }
indexmap = { version = "2", features = ["serde"] }

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.pyo3]
version = "0.23"
optional = true
features = ["extension-module", "abi3-py39"]

[features]
default = ["cli"]
cli = ["dep:clap"]
python = ["dep:pyo3"]

[[bin]]
name = "dtcs"
path = "src/bin/dtcs.rs"
required-features = ["cli"]

[lints.rust]
missing_docs = "warn"

[lints.clippy]
all = { level = "warn", priority = -1 }
