A cross-platform open-source business rules engine for embedding decision logic in Rust, Node.js, Python, Go, Java, C#, Kotlin, and Swift applications.
ZEN Engine is an open-source Business Rules Engine that allows developers to embed decision logic into their applications using the JSON Decision Model (JDM). It solves the problem of hardcoding business rules by providing a declarative, JSON-based format that can be evaluated at runtime across multiple programming languages and platforms.
Developers and engineering teams building applications in Rust, Node.js, Python, Go, Java, C#, Kotlin, or Swift who need to externalize and manage complex business rules, pricing logic, eligibility checks, or workflow decisions.
Developers choose ZEN Engine for its high-performance Rust core, extensive language bindings, and standardized JDM format, which enables consistent rule execution across different tech stacks without rewriting business logic.
Open-source Business Rules Engine for your Rust, NodeJS, Python, Go, Java, C#, Kotlin (JVM), Kotlin (Android) and Swift (iOS) applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers native bindings for Rust, Node.js, Python, Go, Java, C#, Kotlin, and Swift, allowing consistent rule execution across diverse applications without rewriting logic.
Core written in Rust ensures high efficiency and low latency, as highlighted in the philosophy for embeddability and performance across platforms.
Supports multiple node types like Decision Table, Switch, and Function nodes, enabling complex business logic to be declaratively defined in JSON Decision Model (JDM) format.
Includes an open-source React-based editor for creating and simulating JDM graphs, facilitating collaboration between developers and business analysts.
Recent updates, such as the arbitrary_precision feature change in Rust crates, require manual configuration and can disrupt existing deployments without warning.
The project explicitly does not accept code contributions, restricting community-driven enhancements and potentially slowing innovation outside the core team's roadmap.
Function nodes rely on a bundled QuickJS engine with a fixed 50ms timeout, which may hinder complex computations or real-time applications needing more flexibility.