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 ✔️ ✔️ ✔️ ✔️
linux-arm64-gnu ✔️ ✔️ ✔️ ✔️
darwin-x64 ✔️ ✔️ ✔️ ✔️
darwin-arm64 ✔️ ✔️ ✔️ ✔️
win32-x64-msvc ✔️ ✔️ ✔️ ✔️

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.33.0

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.33.0
File Size Uploaded
zen_engine-0.33.0.tar.gz 172.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for zen-engine 0.33.0
File
zen_engine-0.33.0-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.33.0-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.33.0-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.33.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.28+ x86-64 Details
zen_engine-0.33.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.28+ ARM64 Details
zen_engine-0.33.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.28+ x86-64 Details
zen_engine-0.33.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.28+ ARM64 Details
zen_engine-0.33.0-cp312-none-win_amd64.whl CPython 3.12 none Windows x86-64 Details
zen_engine-0.33.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
zen_engine-0.33.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
zen_engine-0.33.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
zen_engine-0.33.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
zen_engine-0.33.0-cp311-none-win_amd64.whl CPython 3.11 none Windows x86-64 Details
zen_engine-0.33.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
zen_engine-0.33.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
zen_engine-0.33.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
zen_engine-0.33.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
zen_engine-0.33.0-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
zen_engine-0.33.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
zen_engine-0.33.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
zen_engine-0.33.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
zen_engine-0.33.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details
zen_engine-0.33.0-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
zen_engine-0.33.0-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
zen_engine-0.33.0-cp39-cp39-manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64 Details
zen_engine-0.33.0-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
zen_engine-0.33.0-cp38-cp38-manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64 Details
zen_engine-0.33.0-cp38-cp38-manylinux_2_28_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ ARM64 Details
zen_engine-0.33.0-cp37-none-win_amd64.whl CPython 3.7 none Windows x86-64 Details
zen_engine-0.33.0-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.33.0-cp37-cp37m-manylinux_2_28_aarch64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ ARM64 Details

Total release size: 94.9 MB

Release files / zen_engine-0.33.0.tar.gz

Download URL zen_engine-0.33.0.tar.gz
Size 172.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7ecfd803b13d83c22e3bafe718c45166b8c6ddea4bada2c60c98e0755d7b00e1
BLAKE2b-256 checksum
How to use checksums
cabee551575f07f8e14c31117a73fd895fee5c7a8741125761d64ad586ae4ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

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

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

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

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

Download URL zen_engine-0.33.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
b01b77c881fe963d0b5923aacc4302adb8ffec0feeca7f2adb6c13658ea0ab0e
BLAKE2b-256 checksum
How to use checksums
47cf20416e4160a562959dc78cff1f105c5157f5b0c631aa9ec4ebdb52fb380c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.33.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
216fe1c3dd47bddea5efd1833979237c89c1a76faead94b8e249581d0bcef1e4
BLAKE2b-256 checksum
How to use checksums
69b9d2d9efb4f010326d14e032bbd7bbb34200b29ce75ea5f9af36d2aa1154ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.33.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
0b073d8b82f5b8f4f4a2d34b60fc4893114a1ccac9a53a52fd1ce5ba7b35ba7f
BLAKE2b-256 checksum
How to use checksums
2f8137e6a5c1c89764c6d3095629aab6c391d48f82af15a16d8eba81742d43ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl

Download URL zen_engine-0.33.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
20730b421bae915e791413c0a1220e9a687a6d59f3990de072d083c84709660c
BLAKE2b-256 checksum
How to use checksums
f3a5deebe718734650275ece7c2c2a6cd9bc7e492788186750e1bce7addebd52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl

Download URL zen_engine-0.33.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
9cba6f12aed4ff1ae92fc18ab99b52407aa92c133f786937ba5983c111eb91b7
BLAKE2b-256 checksum
How to use checksums
b1863de4c310547d7102ca388d21a144e30aa36c90c5e505f8e539eb53d914d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp312-none-win_amd64.whl

Download URL zen_engine-0.33.0-cp312-none-win_amd64.whl
Size 3.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ee14c30e0b557ecc28ab4765b3291af20471a21af603e292244125b091348581
BLAKE2b-256 checksum
How to use checksums
5d3f3337974128f927209f319d335f97eef5679cb2cdf5475f93e00812eb77bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bb57960138d7096fc624ac6699f12489f7c863843751fe5c721b98eb168a83f3
BLAKE2b-256 checksum
How to use checksums
20aa4611ec5d71a401e3c5505fd45df786be86ff5e6add2f57c5c2402fd3dbc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
cdd1739b7ae0a1792a0b75e758be146db3177ad0b361577cec7cc2afbc8d6548
BLAKE2b-256 checksum
How to use checksums
f7cb3c4df5f91a0136ad99f120c70007294d4c8aed84fb3930c61c732335a025
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp312-cp312-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6a4d9fcd9e8130cdfedcb32fd915f37a36da0aac4d0c987168982b262ee5485c
BLAKE2b-256 checksum
How to use checksums
b157881806d0ec66ce481c4551afb7ecb4af9898e98403f1059d8a51dad27b81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 3.0 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
23b60ee039a58620e14334c7cf25fc32d7a0218a90b187b8917aeb6431d1d5a6
BLAKE2b-256 checksum
How to use checksums
4159ef499c21f7e417e9c106dbc63417517c42879ed071f70888006c11dc6320
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp311-none-win_amd64.whl

Download URL zen_engine-0.33.0-cp311-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
43d8de718856cf3447ce121cf42e6f7ebda4646833c15d98a1cdf09c58fdf806
BLAKE2b-256 checksum
How to use checksums
df3dff0417682ba7b11bd0c49cf360ddc1e0d385e3731d9eaec5a9fc54fdfa2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e0efbde98edc3954f02eec26dcbfc0850925c612ad176c18691f3c39154a536e
BLAKE2b-256 checksum
How to use checksums
8e79ca6c27344026b6b4346bf1d0b977328e6151329d6ed80ed8bbabb1513d20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
17f8ca3dfdc6474a03339bcc4f8e68deb86e67699a000adc49cd1d48e2d40eda
BLAKE2b-256 checksum
How to use checksums
fa394d59f3851a814de350189630a9337373304794115baf668e74b86055424f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp311-cp311-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
099f133170c725c0bd8ddd6f728822bc6318e88df1b13ebca312273500cec358
BLAKE2b-256 checksum
How to use checksums
c032fc65a194f0e075d250e40313424a2f63ef47c6add2a8c9b05b29ee47f9c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 3.0 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
63063354547959bb9e197f71a4a8f8fb99c5265fdf947d0c3f1ea56758f52c86
BLAKE2b-256 checksum
How to use checksums
1a1abaa8cfb4e0d9ad65029e486639646637abe162b90072a747e0c19efcda1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp310-none-win_amd64.whl

Download URL zen_engine-0.33.0-cp310-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ff76192e55152165bcfe30cf3655069c75d692caed6268773694a62d8c764f6f
BLAKE2b-256 checksum
How to use checksums
b40ed6ed8f164f3db439c4efe4372ff0bf77cfa3a61bf0c6e061451502c14565
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
837c9551ca0d124b2470ca3f5fb39a25cd940031c5f12b18352b0ca03f4c9146
BLAKE2b-256 checksum
How to use checksums
4af18867212ef7e47abf45306bb63d65024bb8e7e75909a19f96eda1e70efd9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp310-cp310-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
088aee85aeadf9bdf715ac0ba4014027663eb6ebd983b32573d0da67b04f93b5
BLAKE2b-256 checksum
How to use checksums
419037ce6550083bff9e07b2cf36e4d224a58d8697c088b8e11dbabeea5199dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL zen_engine-0.33.0-cp310-cp310-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9460d2db565ff9488a5cd2e2359fce7d24bef4e6c788c6511d3f23c8577339c7
BLAKE2b-256 checksum
How to use checksums
2e77b897ba56bbb76ab8f602695d763e17c7028d2a4c0b3835a6a252d319f0a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp310-cp310-macosx_10_12_x86_64.whl

Download URL zen_engine-0.33.0-cp310-cp310-macosx_10_12_x86_64.whl
Size 3.0 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
94b024d2b0702c0882d034791b2d5293cabef7dd8d2909223c683cb8a2b77c9c
BLAKE2b-256 checksum
How to use checksums
5e1ea4f695b9835150f8b8756ca48e0e67b499b788925dd3613867abf7bfba7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp39-none-win_amd64.whl

Download URL zen_engine-0.33.0-cp39-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
b91640c15cf35576b498360031ea38c4b2a8a668ae5a4fdafe7b9ac6f8eaefe7
BLAKE2b-256 checksum
How to use checksums
341d59ab2d2be48d6e0f583e54c02e3315fe8244a3b109c80d71d24fa8c9de09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp39-cp39-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
200414a9c1791c8d39d0f875c76085b42e3d453d9f1f69d71ea107cc054fc65f
BLAKE2b-256 checksum
How to use checksums
5f04240b80a7e865bd72c1583d7dd2963d145723f903e4efa062ef389710fa4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp39-cp39-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
06d69e2c1402b1460331e46ab23c61dff1069af3d085f37ae87bbe7f9026de88
BLAKE2b-256 checksum
How to use checksums
0203e39c25b5b07982e6f83bf773d41cd3cba5bc67ae9901c5fb9af8e5e431b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp38-none-win_amd64.whl

Download URL zen_engine-0.33.0-cp38-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
f589df9284125d093056a23d683f0cc08d13fc0e0d7335aec820d4a830718fad
BLAKE2b-256 checksum
How to use checksums
a096ea613eb1bcf1991dc2308d64f2a6cf79de5f511e6772ba0258a2f485837f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp38-cp38-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ef9b87987b880dac171fe32b703c3f4335ca32f2ebdb3853a9be8aa9a936552b
BLAKE2b-256 checksum
How to use checksums
a82f92fc0c5f0ac6ebef548d2faecaefb9f1877f05d21e72694e058548003210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp38-cp38-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.8 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
354fc3ed8265968063e8fed825f729cbad02fee492b09fec5b01ebedfda90ce3
BLAKE2b-256 checksum
How to use checksums
be57017947025b6904033d21f50048937172f58c06cb833d21a7c63d7ea0f3e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

Release files / zen_engine-0.33.0-cp37-none-win_amd64.whl

Download URL zen_engine-0.33.0-cp37-none-win_amd64.whl
Size 3.2 MB
Tags CPython 3.7 Windows x86-64
SHA-256 checksum
How to use checksums
ac2ed6f2c38723c7ca0c90d754c8b8cd67372b0544ba11c72754b352258f88d4
BLAKE2b-256 checksum
How to use checksums
3aead7dce8ae6cec45053b01abac8a4ed6a6ed826b413ebddce7f14adcd23806
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp37-cp37m-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7a5ccc5d6f3ae57c14aa56fea74a1b54e59ad8b3a703ad07cb68d34b7a0c6053
BLAKE2b-256 checksum
How to use checksums
37477d4f353ba60f9de9d4a990d0f704bd937ab653a95c7b9da663339185f76b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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

Download URL zen_engine-0.33.0-cp37-cp37m-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
09f165fcf1ae9e8105f005d923ecf93dd1cf2ab92f8bc414f8950e3e73af2931
BLAKE2b-256 checksum
How to use checksums
5fab7be67e94d9155aa3b995769ed1ff35583818856992ec33246294e0e6a85a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.5

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.33.0 This release

32 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