[package] name = "ftl-jiter" description = "Fast Iterable JSON parser (preview build)" readme = "../../README.md" version = { workspace = true } edition = { workspace = true } authors = { workspace = true } license = { workspace = true } keywords = { workspace = true } categories = { workspace = true } homepage = { workspace = true } repository = { workspace = true } [dependencies] num-bigint = { version = "0.4.4", optional = true } num-traits = "0.2.16" ahash = "0.8.0" smallvec = "1.11.0" pyo3 = { workspace = true, optional = true } lexical-parse-float = { version = "0.8.5", features = ["format"] } bitvec = "1.0.1" [features] default = ["num-bigint"] python = ["dep:pyo3", "dep:pyo3-build-config"] num-bigint = ["dep:num-bigint", "pyo3/num-bigint"] [dev-dependencies] bencher = "0.1.5" paste = "1.0.7" serde_json = { version = "1.0.87", features = [ "preserve_order", "arbitrary_precision", "float_roundtrip", ] } serde = "1.0.147" pyo3 = { workspace = true, features = ["auto-initialize"] } codspeed-bencher-compat = "2.7.1" [build-dependencies] pyo3-build-config = { workspace = true, optional = true } [[test]] name = "python" required-features = ["python"] [[bench]] name = "main" harness = false [[bench]] name = "python" required-features = ["python"] harness = false # get docs.rs to include python docs [package.metadata.docs.rs] all-features = true [lints.clippy] dbg_macro = "deny" print_stdout = "deny" print_stderr = "deny" # in general we lint against the pedantic group, but we will whitelist # certain lints which we don't want to enforce (for now) pedantic = { level = "deny", priority = -1 } missing_errors_doc = "allow" module_name_repetitions = "allow" must_use_candidate = "allow" if_not_else = "allow" cast_lossless = "allow" cast_possible_wrap = "allow" cast_possible_truncation = "allow" cast_precision_loss = "allow" match_bool = "allow" doc_markdown = "allow" implicit_clone = "allow" iter_without_into_iter = "allow" return_self_not_must_use = "allow" inline_always = "allow" # TODO remove? match_same_arms = "allow" # TODO remove?