[package]
name = "orjson"
version = "3.9.0"
authors = ["ijl <ijl@mailbox.org>"]
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
edition = "2021"
resolver = "2"
rust-version = "1.60"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/ijl/orjson"
homepage = "https://github.com/ijl/orjson"
readme = "README.md"
keywords = ["fast", "json", "dataclass", "dataclasses", "datetime", "rfc", "8259", "3339"]
include = [
    "Cargo.toml",
    "CHANGELOG.md",
    "data/*",
    "include",
    "LICENSE-APACHE",
    "LICENSE-MIT",
    "pyproject.toml",
    "README.md",
    "src/*",
    "test/*.py",
    "test/requirements.txt",
]

[lib]
name = "orjson"
crate-type = ["cdylib"]

[features]
default = []

# Use SIMD intrinsics. This requires Rust on the nightly channel.
unstable-simd = [
    "bytecount/generic-simd",
    "encoding_rs/simd-accel",
]

# Build yyjson as a backend and panic if it fails. The default is to attempt
# to build and on failure fall back to another backend.
yyjson = []

[dependencies]
ahash = { version = "0.8", default_features = false }
arrayvec = { version = "0.7", default_features = false, features = ["std", "serde"] }
associative-cache = { version = "1", default_features = false }
beef = { version = "0.5", default_features = false, features = ["impl_serde"] }
bytecount = { version = "^0.6.3", default_features = false, features = ["runtime-dispatch-simd"] }
chrono = { version = "^0.4.24", default_features = false }
compact_str = { version = "0.7", default_features = false, features = ["serde"] }
encoding_rs = { version = "0.8", default_features = false }
itoa = { version = "1", default_features = false }
itoap = { version = "1", features = ["std", "simd"] }
once_cell = { version = "1", default_features = false, features = ["race"] }
pyo3-ffi = { version = "0.19", default_features = false, features = ["extension-module"]}
ryu = { version = "1", default_features = false }
serde = { version = "1", default_features = false }
serde_json = { version = "1", default_features = false, features = ["std", "float_roundtrip"] }
simdutf8 = { version = "0.1", default_features = false, features = ["std", "aarch64_neon"] }
smallvec = { version = "^1.10", default_features = false, features = ["union", "write"] }

[build-dependencies]
cc = { version = "1" }
pyo3-build-config = { version = "0.19" }
version_check = { version = "0.9" }

[profile.release]
codegen-units = 1
debug = false
incremental = false
lto = "thin"
opt-level = 3
panic = "abort"

[profile.release.build-override]
opt-level = 0
