[package]
name = "expr-lang"
version = "2.1.0"
edition = "2024"
rust-version = "1.85"
authors = ["@jdx"]
license = "MIT"
documentation = "https://docs.rs/expr-lang"
homepage = "https://github.com/jdx/expr.rs"
repository = "https://github.com/jdx/expr.rs"
description = "Implementation of expr language in Rust"
include = [
"/CHANGELOG.md",
"/LICENSE",
"/README.md",
"/compat/cases.tsv",
"/compat/errors.tsv",
"/examples/**/*.rs",
"/MIGRATION.md",
"/src/**/*.pest",
"/src/**/*.rs",
"/tests/**/*.rs",
]
[features]
default = ["base64", "json", "regex", "temporal"]
base64 = ["dep:base64"]
json = ["dep:serde_json", "base64"]
regex = ["dep:regex"]
temporal = ["dep:chrono", "dep:chrono-tz", "dep:iana-time-zone", "dep:regex"]
serde = ["dep:serde", "indexmap/serde", "chrono?/serde", "chrono-tz?/serde"]
[lib]
name = "expr"
[dependencies]
base64 = { version = "0.23", optional = true }
chrono = { version = "0.4", optional = true }
chrono-tz = { version = "0.10", optional = true }
iana-time-zone = { version = "0.1", optional = true }
indexmap = "2"
regex = { version = "1", optional = true }
pest_derive = "2"
pest = "2"
log = "0.4"
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"], optional = true }
[dev-dependencies]
test-log = "0.2"
proptest = "1"
serde = "1"
serde_json = "1"
[profile.dev]
debug = 1