[package]
name = "dta"
version = "0.5.1"
edition = "2024"
description = "Pure Rust streaming reader and writer for Stata's DTA file format (every released version, 102-119), plus a parser and reader for Stata dictionary (.dct) files."
license = "MIT"
homepage = "https://github.com/almus-the-dan/dta"
repository = "https://github.com/almus-the-dan/dta"
readme = "README.md"
exclude = [
    "precommit-check.ps1",
    "profile.sh",
    "profile.ps1",
    ".github/",
    "plans/",
    "benches/data/",
]
keywords = ["stata", "dta", "data", "statistics"]
categories = ["parser-implementations", "encoding", "science"]

[dependencies]
chrono = { version = "0.4", default-features = false, features = ["std"], optional = true }
encoding_rs = "0.8.35"
tokio = { version = "1", features = ["io-util", "fs"], optional = true }

[dev-dependencies]
clap = { version = "4", features = ["derive"] }
criterion = { version = "0.8", features = ["html_reports"] }
flate2 = "1"
float-cmp = "0.10.0"
serde_json = "1"
tempfile = "3"
tokio = { version = "1", features = ["fs", "io-util", "macros", "rt"] }

[profile.profiling]
inherits = "release"
debug = 1

[[bench]]
name = "roundtrip"
harness = false

[features]
chrono = ["dep:chrono"]
tokio = ["dep:tokio"]

[lints.rust]
rust_2018_idioms = "warn"
missing_debug_implementations = "warn"

[lints.clippy]
all = "warn"
pedantic = "warn"
