rust-rule-engine 1.18.0

A blazing-fast Rust rule engine with RETE algorithm, backward chaining inference, and GRL (Grule Rule Language) syntax. Features SIMD/zero-copy/parallel parsing, forward/backward chaining, pattern matching, O(1) rule indexing, TMS, expression evaluation, method calls, streaming with Redis state backend. Production-ready for business rules, expert systems, and real-time decision automation.
Documentation
[[bench]]
harness = false
name = "advanced_optimizations_benchmark"
path = "benches/advanced_optimizations_benchmark.rs"

[[bench]]
harness = false
name = "alpha_indexing_benchmark"
path = "benches/alpha_indexing_benchmark.rs"

[[bench]]
harness = false
name = "backward_chaining_benchmarks"
path = "benches/backward_chaining_benchmarks.rs"
required-features = ["backward-chaining"]

[[bench]]
harness = false
name = "backward_chaining_index_benchmark"
path = "benches/backward_chaining_index_benchmark.rs"
required-features = ["backward-chaining"]

[[bench]]
harness = false
name = "engine_comparison_benchmark"
path = "benches/engine_comparison_benchmark.rs"

[[bench]]
harness = false
name = "literal_search_benchmarks"
path = "benches/literal_search_benchmarks.rs"

[[bench]]
name = "memory_usage_benchmark"
path = "benches/memory_usage_benchmark.rs"

[[bench]]
harness = false
name = "parallel_benchmarks"
path = "benches/parallel_benchmarks.rs"

[[bench]]
name = "rete_1m_rules_benchmark"
path = "benches/rete_1m_rules_benchmark.rs"

[[bench]]
harness = false
name = "rete_optimization_benchmark"
path = "benches/rete_optimization_benchmark.rs"

[[bin]]
name = "memory_usage_benchmark"
path = "benches/memory_usage_benchmark.rs"

[[bin]]
name = "rete_1m_rules_benchmark"
path = "benches/rete_1m_rules_benchmark.rs"

[[bin]]
name = "rust-rule-engine"
path = "src/main.rs"

[dependencies.aho-corasick]
version = "1.1"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.log]
version = "0.4"

[dependencies.memchr]
version = "2.7"

[dependencies.nom]
version = "7.1"

[dependencies.rayon]
version = "1.10"

[dependencies.redis]
features = ["tokio-comp", "connection-manager"]
optional = true
version = "0.27"

[dependencies.regex]
optional = true
version = "1.11"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
features = ["full"]
optional = true
version = "1.42"

[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"

[dev-dependencies.serde_yaml]
version = "0.9"

[dev-dependencies.tokio]
features = ["full"]
version = "1.42"

[[example]]
name = "accumulate_grl_demo"
path = "examples/03-advanced-features/accumulate_grl_demo.rs"

[[example]]
name = "action_handlers_grl_demo"
path = "examples/03-advanced-features/action_handlers_grl_demo.rs"

[[example]]
name = "conflict_resolution_demo"
path = "examples/03-advanced-features/conflict_resolution_demo.rs"

[[example]]
name = "ecommerce_approval_demo"
path = "examples/09-backward-chaining/ecommerce_approval_demo.rs"
required-features = ["backward-chaining"]

[[example]]
name = "expression_demo"
path = "examples/01-getting-started/expression_demo.rs"

[[example]]
name = "fraud_detection"
path = "examples/01-getting-started/fraud_detection.rs"

[[example]]
name = "grl_no_loop_demo"
path = "examples/03-advanced-features/grl_no_loop_demo.rs"

[[example]]
name = "grl_query_demo"
path = "examples/09-backward-chaining/grl_query_demo.rs"
required-features = ["backward-chaining"]

[[example]]
name = "grule_demo"
path = "examples/01-getting-started/grule_demo.rs"

[[example]]
name = "medical_diagnosis_demo"
path = "examples/09-backward-chaining/medical_diagnosis_demo.rs"
required-features = ["backward-chaining"]

[[example]]
name = "memory_usage_comparison"
path = "examples/05-performance/memory_usage_comparison.rs"

[[example]]
name = "method_calls_demo"
path = "examples/01-getting-started/method_calls_demo.rs"

[[example]]
name = "parallel_engine_demo"
path = "examples/05-performance/parallel_engine_demo.rs"

[[example]]
name = "phase3_demo"
path = "examples/10-module-system/phase3_demo.rs"

[[example]]
name = "proof_graph_cache_demo"
path = "examples/09-backward-chaining/proof_graph_cache_demo.rs"
required-features = ["backward-chaining"]

[[example]]
name = "quick_engine_comparison"
path = "examples/05-performance/quick_engine_comparison.rs"

[[example]]
name = "rete_deffacts_demo"
path = "examples/02-rete-engine/rete_deffacts_demo.rs"

[[example]]
name = "rete_demo"
path = "examples/02-rete-engine/rete_demo.rs"

[[example]]
name = "rete_grl_demo"
path = "examples/02-rete-engine/rete_grl_demo.rs"

[[example]]
name = "rete_p3_incremental"
path = "examples/07-advanced-rete/rete_p3_incremental.rs"

[[example]]
name = "rete_typed_facts_demo"
path = "examples/02-rete-engine/rete_typed_facts_demo.rs"

[[example]]
name = "rete_ul_drools_style"
path = "examples/07-advanced-rete/rete_ul_drools_style.rs"

[[example]]
name = "rule_templates_demo"
path = "examples/03-advanced-features/rule_templates_demo.rs"

[[example]]
name = "session_window_demo"
path = "examples/session_window_demo.rs"

[[example]]
name = "simple_query_demo"
path = "examples/09-backward-chaining/simple_query_demo.rs"
required-features = ["backward-chaining"]

[[example]]
name = "smart_home_modules"
path = "examples/10-module-system/smart_home_modules.rs"

[[example]]
name = "streaming_with_rules_demo"
path = "examples/03-advanced-features/streaming_with_rules_demo.rs"
required-features = ["streaming"]

[[example]]
name = "tms_demo"
path = "examples/02-rete-engine/tms_demo.rs"

[features]
backward-chaining = []
default = []
legacy-regex-parser = ["regex"]
streaming = ["tokio"]
streaming-redis = ["streaming", "redis"]

[lib]
name = "rust_rule_engine"
path = "src/lib.rs"

[package]
authors = ["Ton That Vu <ttvuhm@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["algorithms", "data-structures", "science"]
description = "A blazing-fast Rust rule engine with RETE algorithm, backward chaining inference, and GRL (Grule Rule Language) syntax. Features SIMD/zero-copy/parallel parsing, forward/backward chaining, pattern matching, O(1) rule indexing, TMS, expression evaluation, method calls, streaming with Redis state backend. Production-ready for business rules, expert systems, and real-time decision automation."
documentation = "https://docs.rs/rust-rule-engine"
edition = "2021"
exclude = ["tests/*", ".github/*", "benchmarks/*"]
keywords = ["rules", "engine", "grl", "ai", "ml"]
license = "MIT"
name = "rust-rule-engine"
readme = "README.md"
repository = "https://github.com/KSD-CO/rust-rule-engine"
version = "1.18.0"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]