[package]
name = "time_requirements"
version = "0.1.0"
edition = "2024"
authors = ["Earth Metabolome Initiative"]
license = "MIT"
repository = "https://github.com/earth-metabolome-initiative/time_requirements"
homepage = "https://github.com/earth-metabolome-initiative/time_requirements"
documentation = "https://docs.rs/time_requirements"
description = "Crate to measure time requirements of steps in your code."
readme = "README.md"
keywords = ["time", "measurement", "performance", "profiling"]
categories = ["development-tools::profiling", "development-tools"]

[dependencies]
tabled = "0.20.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = {version = "0.4", features = ["serde"] }
chrono-humanize = "0.2.3"

[lints.rust]
missing_docs = "forbid"
unused_macro_rules = "forbid"
unconditional_recursion = "forbid"
unreachable_patterns = "forbid"
unused_import_braces = "forbid"
unused_must_use = "forbid"
deprecated = "deny"

[lints.rustdoc]
broken_intra_doc_links = "forbid"
bare_urls = "forbid"
invalid_codeblock_attributes = "forbid"
invalid_html_tags = "forbid"
missing_crate_level_docs = "forbid"
unescaped_backticks = "forbid"
redundant_explicit_links = "forbid"
invalid_rust_codeblocks = "forbid"

[lints.clippy]
unreadable_literal = "allow"
missing_panics_doc = "allow"
new_ret_no_self = "allow"
struct_excessive_bools = "allow"
should_panic_without_expect = "allow"
doc_markdown = "allow"
clone_on_copy = "forbid"
pedantic = { level = "deny", priority = -1 }
