[package] name = "trueskill-tt" version = "0.7.0" edition = "2024" rust-version = "1.85" description = "TrueSkill Through Time: Bayesian skill rating that tracks how skill evolves over time, via Gaussian message passing" repository = "https://git.aceofba.se/logaritmisk/trueskill-tt" authors = ["Anders Olsson"] # Publishing is restricted to the private kellnr registry; this also makes # an accidental `cargo publish` to crates.io a hard error rather than a # irreversible mistake. Index is declared in `.cargo/config.toml`. publish = ["kellnr"] readme = "README.md" keywords = ["trueskill", "rating", "bayesian", "elo", "skill"] categories = ["algorithms", "science", "game-development"] license = "MIT OR Apache-2.0" # `examples/atp.csv` is a 48 MB tennis dataset — 99% of the packaged crate, # for a library whose source is 312 KB. `examples/atp.rs` opens it by # relative path at runtime, so excluding the data still compiles; the # example just needs the file fetched from the repo to run. exclude = [ "/docs", "/benches/*.txt", "/temp", "/.gitea", "/examples/atp.csv", ] [lib] bench = false [[bench]] name = "batch" harness = false [[bench]] name = "gaussian" harness = false [[bench]] name = "history_converge" harness = false [[bench]] name = "scored" harness = false [[bench]] name = "ingest" harness = false [dependencies] approx = { version = "0.5.1", optional = true } libm = "0.2.16" rayon = { version = "1", optional = true } smallvec = "1" [features] approx = ["dep:approx"] rayon = ["dep:rayon"] [dev-dependencies] criterion = "0.5" plotters = { version = "0.3", default-features = false, features = ["svg_backend", "all_elements", "all_series"] } plotters-backend = "0.3" proptest = "1.11.0" time = { version = "0.3", features = ["parsing"] } trueskill-tt = { path = ".", features = ["approx"] } # Debug symbols in release are for `just flame` (cargo-flamegraph), which needs # them to symbolicate. Profile settings in a library are ignored by downstream # consumers, so these only affect local builds — this is deliberate, not an # oversight. [profile.release] debug = true [profile.bench] debug = true [profile.dev] debug = true [[bench]] name = "joint" harness = false