tdc_toolkit 0.4.2

Rust CLI and library, as well as Python bindings, for working with time-to-digital converters (TDCs) such as the PicoQuant MultiHarp 160.
Documentation
[package]
name = "tdc_toolkit"
description = "Rust CLI and library, as well as Python bindings, for working with time-to-digital converters (TDCs) such as the PicoQuant MultiHarp 160."
version = "0.4.2"
license = "BSD-3-Clause"
repository = "https://github.com/moonshot-nagayama-pj/tdc_toolkit"
keywords = ["tdc", "multiharp", "physics", "quantum"]
categories = ["api-bindings", "command-line-utilities", "date-and-time", "science"]
links = "mhlib"
edition = "2024"
rust-version = "1.95"
exclude = [
    ".devcontainer",
    ".editorconfig",
    ".github",
    ".vscode",
    "benches",
    "sample_*",
]

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

[dependencies]
anyhow = "1.0.99"
arrow = "56.0.0"
bitflags = "2.10.0"
chrono = "0.4.41"
clap = { version = "4.5.45", features = ["derive"] }
humantime = "2.2.0"
indicatif = "0.18.0"
parquet = "56.0.0"
pyo3 = { version = "0.26", features = ["anyhow"], optional = true }
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.143"
strum = "0.27.2"
strum_macros = "0.27.2"

[build-dependencies]
bindgen = "0.72.0"

[dev-dependencies]
criterion = "0.7.0"
yare = "3.0.0"

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

[features]
multiharp = []
python = ["dep:pyo3"]

[lints.clippy]
all = "deny"
pedantic = "deny"
cargo = "deny"
missing_errors_doc = { level = "allow", priority = 1 }

# # Restrictions from the restriction group
# # TODO finish configuring this
# # https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction
# absolute_paths = "deny"
# allow_attributes = "deny"
# allow_attributes_without_reason = "deny"