zen-engine
Open-Source Business Rules Engine
Decision gist · record as of 2026-08-14
Yes, if you need to externalize and version decision logic separately from code. The package is actively maintained, has no known vulnerabilities, and offers broad platform coverage. The main caveat is that the license is undeclared in package metadata—verify the actual license in the repository before adopting it in proprietary work. Install friction is moderate due to compiled wheels, but prebuilt binaries are available for common platforms.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; prebuilt wheels are available for Python 3.10–3.14 on Linux, macOS, and Windows.
- Medium install friction due to compiled wheels; the package provides prebuilt binaries for Python 3.10–3.14 across Linux (aarch64, x86_64), macOS (Intel and ARM), and Windows.
- Maintenance is active with recent releases and a healthy repository (1907 stars, last commit 2026-08-07).
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms in the repository before using in proprietary or restricted contexts.
last release 2026-03-15 (152 days) · last repo commit 2026-08-07 · 1,907 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 371,126 downloads/mo, #7,171 on PyPI
Alternatives
Verify before relying
pip install zen-engine
import zen
with open("./decision_model.json", "r") as f:
content = f.read()
engine = zen.ZenEngine()
decision = engine.create_decision(content)
result = decision.evaluate({"input": 15})- Actual license terms and restrictions (not declared in package metadata)
- Performance characteristics and scalability limits for large decision graphs
- Whether the loader pattern supports concurrent or async evaluation
What it is and what it does
zen-engine is a Python wrapper around a Rust-based business rules engine designed to execute decision models expressed as JSON. It parses JSON Decision Model (JDM) files—which represent decision logic as interconnected graphs of nodes (decision tables, switches, functions, expressions)—and evaluates them against input data to produce structured results. The engine is embeddable and designed for applications that need to externalize decision logic into declarative, editable models rather than hard-coded conditionals.
Typical usage involves creating a ZenEngine instance, loading a JDM from JSON (either directly or via a custom loader function), and calling evaluate() with input data. The loader pattern allows you to fetch JDM definitions from files, databases, APIs, or other sources at runtime. No runtime dependencies are required beyond the compiled zen-engine wheel itself.
Use it for
- Implement tiered pricing or fee logic that changes frequently without code redeployment
- Build eligibility or approval workflows where rules are managed by business analysts
- Evaluate complex conditional logic in lending, insurance, or compliance workflows
- Load decision models from a remote service or database and execute them in-process
- Prototype decision logic visually using the JDM editor, then execute it in production
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to externalize and version decision logic separately from code.
The package is actively maintained, has no known vulnerabilities, and offers broad platform coverage. The main caveat is that the license is undeclared in package metadata—verify the actual license in the repository before adopting it in proprietary work. Install friction is moderate due to compiled wheels, but prebuilt binaries are available for common platforms.
Install
zen-engine on PyPI
Before you install
Medium install friction due to compiled wheels; the package provides prebuilt binaries for Python 3.10–3.14 across Linux (aarch64, x86_64), macOS (Intel and ARM), and Windows. Maintenance is active with recent releases and a healthy repository (1907 stars, last commit 2026-08-07).
Requires Python 3.7 or later; prebuilt wheels are available for Python 3.10–3.14 on Linux, macOS, and Windows.
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms in the repository before using in proprietary or restricted contexts.
Quickstart
pip install zen-engine
import zen
with open("./decision_model.json", "r") as f:
content = f.read()
engine = zen.ZenEngine()
decision = engine.create_decision(content)
result = decision.evaluate({"input": 15})
Verify before relying
- Actual license terms and restrictions (not declared in package metadata)
- Performance characteristics and scalability limits for large decision graphs
- Whether the loader pattern supports concurrent or async evaluation
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 152 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 371,126 / month, #7,171 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust |
Evidence: zen_engine-0.53.0-cp310-cp310-manylinux_2_28_aarch64.whl; zen_engine-0.53.0-cp310-cp310-manylinux_2_28_x86_64.whl; zen_engine-0.53.0-cp310-cp310-win_amd64.whl; zen_engine-0.53.0-cp311-cp311-macosx_10_12_x86_64.whl; zen_engine-0.53.0-cp311-cp311-macosx_11_0_arm64.whl; zen_engine-0.53.0-cp311-cp311-manylinux_2_28_aarch64.whl; zen_engine-0.53.0-cp311-cp311-manylinux_2_28_x86_64.whl; zen_engine-0.53.0-cp311-cp311-win_amd64.whl; zen_engine-0.53.0-cp312-cp312-macosx_10_12_x86_64.whl; zen_engine-0.53.0-cp312-cp312-macosx_11_0_arm64.whl; zen_engine-0.53.0-cp312-cp312-manylinux_2_28_aarch64.whl; zen_engine-0.53.0-cp312-cp312-manylinux_2_28_x86_64.whl; zen_engine-0.53.0-cp312-cp312-win_amd64.whl; zen_engine-0.53.0-cp313-cp313-macosx_10_12_x86_64.whl; zen_engine-0.53.0-cp313-cp313-macosx_11_0_arm64.whl; zen_engine-0.53.0-cp313-cp313-manylinux_2_28_aarch64.whl; zen_engine-0.53.0-cp313-cp313-manylinux_2_28_x86_64.whl; zen_engine-0.53.0-cp313-cp313t-manylinux_2_28_aarch64.whl; zen_engine-0.53.0-cp313-cp313-win_amd64.whl; zen_engine-0.53.0-cp314-cp314-macosx_10_12_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “decision table evaluation”
- zen-enginezen-engine is a Python binding for a Rust-based business rules engine…
- ydfYDF trains, evaluates, and interprets decision forest models (Random…
- tensorflow-decision-forestsTrains and deploys decision forest models (Random Forests, Gradient…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also common-expression-language · json_logic_qubit · json-logic · panzi-json-logic · rule-engine · business-rules · sumologic-sdk · stockfish · skope-rules · flagsmith-flag-engine