expy 0.0.2

Embeddable & extensible expression evaluator
Documentation
[package]
name = "expy"
version = "0.0.2"
description = "Embeddable & extensible expression evaluator"
categories = ["compilers", "mathematics"]
keywords = ["calc", "expressions", "math", "scripting"]
authors = ["Karol Kuczmarski <karol.kuczmarski@gmail.com>"]
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"]