Skip to main content

License: MIT

Python Rules Engine

ZEN Engine is a cross-platform, Open-Source Business Rules Engine (BRE). It is written in Rust and provides native bindings for NodeJS, Python and Go. ZEN Engine allows to load and execute JSON Decision Model (JDM) from JSON files.

Open-Source Rules Engine

An open-source React editor is available on our JDM Editor repo.

Usage

ZEN Engine is built as embeddable BRE for your Rust, NodeJS, Python or Go applications. It parses JDM from JSON content. It is up to you to obtain the JSON content, e.g. from file system, database or service call.

Installation

pip install zen-engine

Usage

To execute a simple decision you can use the code below.

import zen

# Example filesystem content, it is up to you how you obtain content
with open("./jdm_graph.json", "r") as f:
  content = f.read()

engine = zen.ZenEngine()

decision = engine.create_decision(content)
result = decision.evaluate({"input": 15})

Loaders

For more advanced use cases where you want to load multiple decisions and utilise graphs you can build loaders.

import zen

def loader(key):
    with open("./jdm_directory/" + key, "r") as f:
        return f.read()

engine = zen.ZenEngine({"loader": loader})
result = engine.evaluate("jdm_graph1.json", {"input": 5})

When engine.evaluate is invoked it will call loader and pass a key expecting a content of the JDM decision graph. In the case above we will assume file jdm_directory/jdm_graph1.json exists.

Similar to this example you can also utilise loader to load from different places, for example from REST API, from S3, Database, etc.

Supported Platforms

List of platforms where Zen Engine is natively available:

For a complete Business Rules Management Systems (BRMS) solution:

JSON Decision Model (JDM)

GoRules JDM (JSON Decision Model) is a modeling framework designed to streamline the representation and implementation of decision models.

Understanding GoRules JDM

At its core, GoRules JDM revolves around the concept of decision models as interconnected graphs stored in JSON format. These graphs capture the intricate relationships between various decision points, conditions, and outcomes in a GoRules Zen-Engine.

Graphs are made by linking nodes with edges, which act like pathways for moving information from one node to another, usually from the left to the right.

The Input node serves as an entry for all data relevant to the context, while the Output nodes produce the result of decision-making process. The progression of data follows a path from the Input Node to the Output Node, traversing all interconnected nodes in between. As the data flows through this network, it undergoes evaluation at each node, and connections determine where the data is passed along the graph.

To see JDM Graph in action you can use Free Online Editor with built in Simulator.

There are 5 main node types in addition to a graph Input Node (Request) and Output Node (Response):

  • Decision Table Node
  • Switch Node
  • Function Node
  • Expression Node
  • Decision Node

Decision Table Node

Overview

Tables provide a structured representation of decision-making processes, allowing developers and business users to express complex rules in a clear and concise manner.

Decision Table

Structure

At the core of the Decision Table is its schema, defining the structure with inputs and outputs. Inputs encompass business-friendly expressions using the ZEN Expression Language, accommodating a range of conditions such as equality, numeric comparisons, boolean values, date time functions, array functions and more. The schema's outputs dictate the form of results generated by the Decision Table. Inputs and outputs are expressed through a user-friendly interface, often resembling a spreadsheet. This facilitates easy modification and addition of rules, enabling business users to contribute to decision logic without delving into intricate code.

Evaluation Process

Decision Tables are evaluated row by row, from top to bottom, adhering to a specified hit policy. Single row is evaluated via Inputs columns, from left to right. Each input column represents AND operator. If cell is empty that column is evaluated truthfully, independently of the value.

If a single cell within a row fails (due to error, or otherwise), the row is skipped.

HitPolicy

The hit policy determines the outcome calculation based on matching rules.

The result of the evaluation is:

  • an object if the hit policy of the decision table is first and a rule matched. The structure is defined by the output fields. Qualified field names with a dot (.) inside lead to nested objects.
  • null/undefined if no rule matched in first hit policy
  • an array of objects if the hit policy of the decision table is collect (one array item for each matching rule) or empty array if no rules match

Inputs

In the assessment of rules or rows, input columns embody the AND operator. The values typically consist of (qualified) names, such as customer.country or customer.age.

There are two types of evaluation of inputs, Unary and Expression.

Unary Evaluation

Unary evaluation is usually used when we would like to compare single fields from incoming context separately, for example customer.country and cart.total . It is activated when a column has field defined in its schema.

Example

For the input:

{
  "customer": {
    "country": "US"
  },
  "cart": {
    "total": 1500
  }
}
Decision Table Unary Test

This evaluation translates to

IF customer.country == 'US' AND cart.total > 1000 THEN {"fees": {"percent": 2}}
ELSE IF customer.country == 'US' THEN {"fees": {"flat": 30}}
ELSE IF customer.country == 'CA' OR customer.country == 'MX' THEN {"fees": {"flat": 50}}
ELSE {"fees": {"flat": 150}}

List shows basic example of the unary tests in the Input Fields:

Input entry Input Expression
"A" the field equals "A"
"A", "B" the field is either "A" or "B"
36 the numeric value equals 36
< 36 a value less than 36
> 36 a value greater than 36
[20..39] a value between 20 and 39 (inclusive)
20,39 a value either 20 or 39
<20, >39 a value either less than 20 or greater than 39
true the boolean value true
false the boolean value false
any value, even null/undefined
null the value null or undefined

Note: For the full list please visit ZEN Expression Language.

Expression Evaluation

Expression evaluation is used when we would like to create more complex evaluation logic inside single cell. It allows us to compare multiple fields from the incoming context inside same cell.

It can be used by providing an empty Selector (field) inside column configuration.

Example

For the input:

{
  "transaction": {
    "country": "US",
    "createdAt": "2023-11-20T19:00:25Z",
    "amount": 10000
  }
}
Decision Table Expression
IF time(transaction.createdAt) > time("17:00:00") AND transaction.amount > 1000 THEN {"status": "reject"}
ELSE {"status": "approve"}

Note: For the full list please visit ZEN Expression Language.

Outputs

Output columns serve as the blueprint for the data that the decision table will generate when the conditions are met during evaluation.

When a row in the decision table satisfies its specified conditions, the output columns determine the nature and structure of the information that will be returned. Each output column represents a distinct field, and the collective set of these fields forms the output or result associated with the validated row. This mechanism allows decision tables to precisely define and control the data output.

Example

Decision Table Output

And the result would be:

{
  "flatProperty": "A",
  "output": {
    "nested": {
      "property": "B"
    },
    "property": 36
  }
}

Switch Node (NEW)

The Switch node in GoRules JDM introduces a dynamic branching mechanism to decision models, enabling the graph to diverge based on conditions.

Conditions are written in a Zen Expression Language.

By incorporating the Switch node, decision models become more flexible and context-aware. This capability is particularly valuable in scenarios where diverse decision logic is required based on varying inputs. The Switch node efficiently manages branching within the graph, enhancing the overall complexity and realism of decision models in GoRules JDM, making it a pivotal component for crafting intelligent and adaptive systems.

The Switch node preserves the incoming data without modification; it forwards the entire context to the output branch(es).

Switch / Branching

HitPolicy

There are two HitPolicy options for the switch node, first and collect.

In the context of a first hit policy, the graph branches to the initial matching condition, analogous to the behavior observed in a table. Conversely, under a collect hit policy, the graph extends to all branches where conditions hold true, allowing branching to multiple paths.

Note: If there are multiple edges from the same condition, there is no guaranteed order of execution.

Available from:

  • Python 0.16.0
  • NodeJS 0.13.0
  • Rust 0.16.0
  • Go 0.1.0

Functions Node

Function nodes are JavaScript snippets that allow for quick and easy parsing, re-mapping or otherwise modifying the data using JavaScript. Inputs of the node are provided as function's arguments. Functions are executed on top of QuickJS Engine that is bundled into the ZEN Engine.

Function timeout is set to a 50ms.

const handler = (input, {dayjs, Big}) => {
    return {
        ...input,
        someField: 'hello'
    };
};

There are two built in libraries:

  • dayjs - for Date Manipulation
  • big.js - for arbitrary-precision decimal arithmetic.

Expression Node

The Expression node serves as a tool for transforming input objects into alternative objects using the Zen Expression Language. When specifying the output properties, each property requires a separate row. These rows are defined by two fields:

  • Key - qualified name of the output property
  • Value - value expressed through the Zen Expression Language

Note: Any errors within the Expression node will bring the graph to a halt.

Decision Table

Decision Node

The "Decision" node is designed to extend the capabilities of decision models. Its function is to invoke and reuse other decision models during execution.

By incorporating the "Decision" node, developers can modularize decision logic, promoting reusability and maintainability in complex systems.

Support matrix

Arch Rust NodeJS Python Go
linux-x64-gnu :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
linux-arm64-gnu :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
darwin-x64 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
darwin-arm64 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
win32-x64-msvc :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

We do not support linux-musl currently.

Contribution

JDM standard is growing and we need to keep tight control over its development and roadmap as there are number of companies that are using GoRules Zen-Engine and GoRules BRMS. For this reason we can't accept any code contributions at this moment, apart from help with documentation and additional tests.

Metadata

Release files for zen-engine 0.50.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zen-engine 0.50.3
File Size Uploaded
zen_engine-0.50.3.tar.gz 294.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for zen-engine 0.50.3
File
zen_engine-0.50.3-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
zen_engine-0.50.3-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
zen_engine-0.50.3-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
zen_engine-0.50.3-cp313-cp313t-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
zen_engine-0.50.3-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
zen_engine-0.50.3-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
zen_engine-0.50.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
zen_engine-0.50.3-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
zen_engine-0.50.3-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
zen_engine-0.50.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
zen_engine-0.50.3-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
zen_engine-0.50.3-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
zen_engine-0.50.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
zen_engine-0.50.3-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
zen_engine-0.50.3-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp39-cp39-manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp38-cp38-manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp38-cp38-manylinux_2_28_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ ARM64 Details
zen_engine-0.50.3-cp37-cp37m-manylinux_2_28_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64 Details
zen_engine-0.50.3-cp37-cp37m-manylinux_2_28_aarch64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ ARM64 Details

Total release size: 193.7 MB

Release files / zen_engine-0.50.3.tar.gz

Download URL zen_engine-0.50.3.tar.gz
Size 294.2 kB
Tags Source
SHA-256 checksum
How to use checksums
54e20a2393446edb5aea9522b33567cc7bcc6b4eb1d898e7b6cc3470f8e76840
BLAKE2b-256 checksum
How to use checksums
f64087af3fb5c887a84b3c7e7ae9edef32aa1a8213ad464e85946fae3a7582d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
afa02d62e05cd91bbaca7057ccbbe672aa7c76b996e3ceb3cc5de9477783422c
BLAKE2b-256 checksum
How to use checksums
79bacd6d86f163235a30a5189cbc374f3cba26b899e7a592e77eb5ada1cf7f87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
c06eb95454731c684b652ec1ba0b486cce2c49be6184e003b417fe927562380b
BLAKE2b-256 checksum
How to use checksums
22c34cec72c275faba2bf3004295eb759d896d93137a1d317473d5dd583788c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
e73aa514ee36fdded7aee5f551e2d467d6a5d1fe60ee8007530f9d0e2b68f9b9
BLAKE2b-256 checksum
How to use checksums
7430637612dcd7d54c9a5cc38bc5c6604f6ef8033a0fe28585aa5918a70cde3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
ae367616c31339ebb50c149ba53bc192b70fed68c8d718f63219aff2dec80aa3
BLAKE2b-256 checksum
How to use checksums
dafdd1ecfef77016ad541b66e5aa99bea978592cab1d70301e0914ded0b394bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
1f63512357ad458fd6f290a9ca67cff16525bf202e46b7711d10719f232b9317
BLAKE2b-256 checksum
How to use checksums
ecee0bc8c3f6446a0430f18e3352d32e8ffa0b44d849c0bfb8ec7de2c652c01e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fd08a45875b90ff221b78db7891a96843dc5372c51eddbe5d06549c9ca0c2ef7
BLAKE2b-256 checksum
How to use checksums
5b5d96b2012a633dfddfe3b41f0808fc42c992fdee7ad1c4113526853f68bd10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp314-cp314-win_amd64.whl

Download URL zen_engine-0.50.3-cp314-cp314-win_amd64.whl
Size 5.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
67397361e8310914fec3c3e0d93e94a4f5aa65600365dc153cfd1eef004c98ee
BLAKE2b-256 checksum
How to use checksums
c89991e0ec9fd6b5468e0e1572a89d91ec7e9620eb267bd5ed0f24afa87d1b0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp314-cp314-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
641ff7ce37b1bf53c539131bd6276916a299872296e7eaac021b74c835460024
BLAKE2b-256 checksum
How to use checksums
167881b91df85acbf41aa439c69e461f673fdc000f1388c927f6542823571870
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp314-cp314-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
cc0d31693ab97e19fa23f3a7cbb7f3f99eade5733e0ab70f3d40d6166c412a52
BLAKE2b-256 checksum
How to use checksums
df02417fa375f2a6f5fa300da5e30c0e858e5ab77acf15eaec3221d407bbf1e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp314-cp314-macosx_11_0_arm64.whl

Download URL zen_engine-0.50.3-cp314-cp314-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d54689cbe98b011bacff18cd2ce986deb844b78c1deb24d9a32bf4dc014ccbb1
BLAKE2b-256 checksum
How to use checksums
bedf7c9ae165b512b5ab2af1a0aae8d9fd23cac278ee1657959f56b7ed135ec8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp314-cp314-macosx_10_12_x86_64.whl

Download URL zen_engine-0.50.3-cp314-cp314-macosx_10_12_x86_64.whl
Size 5.2 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c70215f63cb5803e3dc875b99d92023e6a12d9f0ac4472f5eaf9de57cddca8a6
BLAKE2b-256 checksum
How to use checksums
ea3ea7b1d9e6b4c27c45a0ede42a9be60c2d9d928f721166f1f2b2e79fcc7bdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp313-cp313t-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp313-cp313t-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a6c541b42398147e47e56743b4e7488f33e36e0c88f52adb5560f5c1bdb25c6b
BLAKE2b-256 checksum
How to use checksums
fcbf0e4a5c9425c06971415df316c3d615dafc3c3b08c50d9e200ca659de3d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp313-cp313-win_amd64.whl

Download URL zen_engine-0.50.3-cp313-cp313-win_amd64.whl
Size 5.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0e0482c68c628ac8a4b000f11f53d99182d72036d1feaa9301df0e604afdabbf
BLAKE2b-256 checksum
How to use checksums
2d919ccb646b3c5c27654e67e712e2701adc1b4ce632adbe7b211301416e87f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp313-cp313-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
11f21e23da9e5c91b3c25d11ff71e5efc459c04bd413f23f0ee8a65cb13cd6fb
BLAKE2b-256 checksum
How to use checksums
db26e1cb225ada28b0a50417970f5d59556cc7f6fd48c02276e7ffa7055e016d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp313-cp313-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
eb812b13525167bff75be88eabc87fc3845b884704d08fd742c6f5ff8afd7677
BLAKE2b-256 checksum
How to use checksums
7a3362f4f9ada9362302438e736bacb715d1a637853cc627a79ea674ee61d085
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp313-cp313-macosx_11_0_arm64.whl

Download URL zen_engine-0.50.3-cp313-cp313-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ec4a1de7529cb856610332f50921bdeb4744135c5397658902ab9f287596edee
BLAKE2b-256 checksum
How to use checksums
5586d75a6f5384fe0a200adc7cb1bb513731635c44eea708e38e2d0cea1bfb70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp313-cp313-macosx_10_12_x86_64.whl

Download URL zen_engine-0.50.3-cp313-cp313-macosx_10_12_x86_64.whl
Size 5.2 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
bbef34ccaa967c126f73659a79246cf5f4fd81fb8b8fe18e6fb7fdd60780fb41
BLAKE2b-256 checksum
How to use checksums
598eadea5beeceb4df167cab7ab7766d58a63492209b9be8be413ad942a0de18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp312-cp312-win_amd64.whl

Download URL zen_engine-0.50.3-cp312-cp312-win_amd64.whl
Size 5.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
33b0709762914a4dcf41c53f389c4d06cfb0d8719165bacb3586229e2bad2204
BLAKE2b-256 checksum
How to use checksums
6b071377a3def9829499bbef9fb288b4f1cdfb31e8062f57f1d37f5f636fef31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp312-cp312-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c4d1a95ee6d3c300a16f30fa0b18defe9ea6829bff5eeaa82133e7221996440b
BLAKE2b-256 checksum
How to use checksums
94bb91f823ae878127ba5a8dbefa9cf8bf53142f98db42b4c6d11af051c6d617
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp312-cp312-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7cc6444994bb6d015d8c4f72ec68bf9f9d7b8aec32742b8628a71204ec02d350
BLAKE2b-256 checksum
How to use checksums
bb619fe8e9652f72fe226caa55bba4889f723225bc271bbd0504c9b00224d938
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp312-cp312-macosx_11_0_arm64.whl

Download URL zen_engine-0.50.3-cp312-cp312-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
97285a2473b1dd72d873b9132cfe79b96e0488e35cdddec89fb26bc05548fb36
BLAKE2b-256 checksum
How to use checksums
36888cb3484a4456307bffe481ad00837c9485842a8536503cf77febc90004a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp312-cp312-macosx_10_12_x86_64.whl

Download URL zen_engine-0.50.3-cp312-cp312-macosx_10_12_x86_64.whl
Size 5.1 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
7534de922b0940f661ee1c1c0e1e65c75a275909274afab8bafce7fec0304741
BLAKE2b-256 checksum
How to use checksums
f61fa3743b27c6d77c777390934b13345716c046ed697a413114a89453ac6570
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp311-cp311-win_amd64.whl

Download URL zen_engine-0.50.3-cp311-cp311-win_amd64.whl
Size 5.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0916eb0882b3c43f6ac18b2e5e0131941cb58951dea1333f8ef00710d2bcb1eb
BLAKE2b-256 checksum
How to use checksums
6ab4e130ae65b8684d7dfeb519667e582e7b0358bd29d23233af80306fd5e53c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp311-cp311-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8c46edbce192ee213a88134b0211bad8e3182aaaa51be7e55faf4ad2e6597c74
BLAKE2b-256 checksum
How to use checksums
6cda57e2f1c2591a81b79662376faebd3830483e3a98ced2f30132d1b4f76ba2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp311-cp311-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b25040afe8673313856cc0a8c2f6e0b82a7e187860cce769b4cbe1b2828a08c3
BLAKE2b-256 checksum
How to use checksums
4169e087ff3ba2e9e66bd627fb1399005e3ae4b53af8f5ea8c20296c62c055be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL zen_engine-0.50.3-cp311-cp311-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
08e4170dd04c68f328d48c59b515740b597e5d6af809d5647f73ece31aeb5925
BLAKE2b-256 checksum
How to use checksums
09d4debcb92ba660bf7b248a3e6aa1187d7ae213400eb64e7c3c96c9ca3c378a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp311-cp311-macosx_10_12_x86_64.whl

Download URL zen_engine-0.50.3-cp311-cp311-macosx_10_12_x86_64.whl
Size 5.1 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
eb2a2b0be4898ae0b699ade2faa72f786944218e42aaca36334f635d62508d59
BLAKE2b-256 checksum
How to use checksums
cefdac67d3f4081396abd41be08672b0ebd34f8ce9b43ea77ee626377259895d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp310-cp310-win_amd64.whl

Download URL zen_engine-0.50.3-cp310-cp310-win_amd64.whl
Size 5.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
bc7a1de1927fc0919444ecdbe421ab47bef491f504918475b84529b5a5a15f31
BLAKE2b-256 checksum
How to use checksums
d07ec933c1bac5980359728aa7b0de79a6f31fa35be50c40d356132ecce62430
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp310-cp310-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d2ce09a1daea346c8ca126fe8b003c6b19781ff8ea16a0c6c5e36ebb36f243f2
BLAKE2b-256 checksum
How to use checksums
00accbcbe78438f69eac07f95c95fbd716cf0bf479a5a4c073ebbbbaad2aa664
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp310-cp310-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f2a18885a64b9bea380a5179d9f893404567cbaddbcb237e3980f68d20912000
BLAKE2b-256 checksum
How to use checksums
a836dd62e16e219019f2b429aeb6342639d0e7fdac706f83319d61c4a12ec6ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp39-cp39-win_amd64.whl

Download URL zen_engine-0.50.3-cp39-cp39-win_amd64.whl
Size 5.5 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
fe2061d7302d61b73b83af203f20896afbd589f9ae7d7ca84eb53467d477c263
BLAKE2b-256 checksum
How to use checksums
44f0c86258ccf857a16bda5be1eb3ec7987d807c0fba915786d0494308ec0a32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp39-cp39-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ab0b2d3b7d84ec7df193bc2f88c5db75b9a57ab3fd2eef364d52bb07dfe1a5fe
BLAKE2b-256 checksum
How to use checksums
5247a5ba331f9785d8064e951b97edc774730cda328f24424c30dd1d8fa3d2fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp39-cp39-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp39-cp39-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2ac878756288cbf02ae4a877e84fdf7e24117dec236afe04eb93bd88ba49cb00
BLAKE2b-256 checksum
How to use checksums
b7b7b63c2941c71cfa2a7e1a3b3f461231f40b86937bb751917e691823c9c3fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp38-cp38-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp38-cp38-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
75d263ffe0e891e0ec8208b12846ecbbf2260658a11431fec1a8f42598b03e94
BLAKE2b-256 checksum
How to use checksums
4679a2205e6bdac48bba0dbdf3ce2539f797f5d0a15c9be8cf7746089d61884c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp38-cp38-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp38-cp38-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.8 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
821a73e1d8d5ccfd37f378afce31e6c9fed580293b3659b1c6bfe396f1efab9e
BLAKE2b-256 checksum
How to use checksums
82f57f09ad66c66142231e0b851a0a30901e7410c71fd1ae21f95699d78be810
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp37-cp37m-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.50.3-cp37-cp37m-manylinux_2_28_x86_64.whl
Size 5.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
94bec01395dc3f0dcf8e0a7a5a7ed1183eee794c23f238254d70ab0ef854dbe2
BLAKE2b-256 checksum
How to use checksums
adcfecb7f59e95fb937a0fe47b72fb8b5019d12eef3167732860049e9f38858a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / zen_engine-0.50.3-cp37-cp37m-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.50.3-cp37-cp37m-manylinux_2_28_aarch64.whl
Size 5.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
74dbeda4314b84047f7b63d710f40daab7767205da01da47827ef89899b1b6ce
BLAKE2b-256 checksum
How to use checksums
e4bad4438ebfa0853573a2c95cd4c746b67a73261e74d07e394ab99f53095f2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release history Release notifications | RSS feed

2.1.3

6 release files

2.1.2

6 release files

2.1.1

6 release files

2.1.0

6 release files

2.0.2

6 release files

2.0.1

6 release files

2.0.0

6 release files

This release

0.50.3 This release

38 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page