[package] name = "expy" version = "0.0.2" description = "Embeddable & extensible expression evaluator" categories = ["compilers", "mathematics"] keywords = ["calc", "expressions", "math", "scripting"] authors = ["Karol Kuczmarski "] repository = "https://github.com/Xion/expy" license = "MIT OR Apache-2.0" readme = "README.md" edition = "2021" rust-version = "1.65" build = "build.rs" [badges] maintenance = { status = "experimental" } [features] default = ["rng"] # Add random number generator to the evaluation content. # Makes available the rand() function. rng = ["dep:fastrand"] # Enable vector math (for 2D/3D/4D vectors) using glam (compatible e.g. with Bevy engine). glam = ["dep:glam"] # Include Deserialize and Serialize impls for expression types. # Also makes the `Calc` type available. serde = [ "dep:derivative", "dep:serde", "glam/serde", ] [dependencies] derivative = { version = "2.2.0", optional = true } derive-new = "0.5.9" doc-comment = "0.3.3" enum-as-inner = "0.6" fastrand = { version = "2", optional = true } glam = { version = "0.24", optional = true } itertools = "0.11" pest = "2.7.2" pest_derive = { version = "2.7.2", features = ["grammar-extras"] } serde = { version = "1", features = ["derive"], optional = true } static_assertions = "1.1" strum = { version = "0.25", features = ["derive"] } thiserror = "1.0.44" [dependencies.derive_more] version = "0.99" default-features = false features = [ "deref", "deref_mut", "display", "from", "is_variant", "try_into", "unwrap", ] [build-dependencies] cfg_aliases = "0.1" [dev-dependencies] claims = "0.7.1" fastrand = "2" pretty_assertions = "1.4.0" serde_json = "1" # # Non-default feature tests # [[test]] name = "rng" path = "tests/rng.rs" required-features = ["rng"] [[test]] name = "serde" path = "tests/serde.rs" required-features = ["serde"] [[test]] name = "vector_math" path = "tests/vector_math.rs" required-features = ["glam"]