Skip to main content

Open-Source Business Rules Engine

Project description

License: MIT

Python ZEN Engine

ZEN Engine is business friendly Open-Source Business Rules Engine (BRE) to execute decision models according to the GoRules JSON Decision Model (JDM) standard. It is written in Rust and provides native bindings for NodeJS and Python. ZEN Engine allows to load and execute JSON Decision Model (JDM) from JSON files.

Usage

ZEN Engine is built as embeddable BRE for your Rust, NodeJS or Python 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.

If you are looking for a Decision-as-a-Service (DaaS) over REST, take a look at GoRules Cloud.

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.

JSON Decision Model (JDM)

JDM is a modeling standard for business decisions and business rules and is stored in a JSON format. Decision models are represented by graphs. Graphs are built using nodes and edges. Edges are used to pass the data from one node to another (left-side to right-side).

You can try Free Online Editor with built in Simulator.

JSON Decision Model

JSON Example

Input node contains all data sent in the context, and Output node returns the data from the decision. Data flows from the Input Node towards Output Node evaluating all the Nodes in between and passing the data where nodes are connected.

Decision Tables

Decision table is a node which allows business users to easily modify and add new rules in an intuitive way using spreadsheet like interface. The structure of decision table is defined by its schema. Schema consists of inputs and outputs.

Decision tables are evaluated row by row from top to bottom, and depending on the hit policy a result is calculated.

Inputs

Input fields are commonly (qualified) names for example cart.total or customer.country.

{
  "cart": {
    "total": 1000
  },
  "customer": {
    "country": "US"
  }
}

Inputs are using business-friendly ZEN Expression Language. The language is designed to follow these principles:

  • Side-effect free
  • Dynamic types
  • Simple syntax for broad audiences

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.

Outputs

The result of the decisionTableNode 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

Example:

Screenshot 2023-03-10 at 22 57 04

And the result would be:

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

Functions

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

const handler = (input) => {
    return input;
};

Decision

Decision is a special node whose purpose is for decision model to have an ability to call other/re-usable decision models during an execution.

Support matrix

linux-x64-gnu linux-arm64-gnu darwin-x64 darwin-arm64 win32-x64-msvc
yes yes yes yes yes

We do not support linux-musl for now as we are relying on the GoogleV8 engine to run function blocks as isolates.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zen_engine-0.12.0.tar.gz (95.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zen_engine-0.12.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-cp311-none-win_amd64.whl (8.2 MB view details)

Uploaded CPython 3.11Windows x86-64

zen_engine-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-cp311-cp311-macosx_11_0_arm64.whl (10.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

zen_engine-0.12.0-cp311-cp311-macosx_10_7_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.11macOS 10.7+ x86-64

zen_engine-0.12.0-cp310-none-win_amd64.whl (8.2 MB view details)

Uploaded CPython 3.10Windows x86-64

zen_engine-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-cp310-cp310-macosx_11_0_arm64.whl (10.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

zen_engine-0.12.0-cp310-cp310-macosx_10_7_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10macOS 10.7+ x86-64

zen_engine-0.12.0-cp39-none-win_amd64.whl (8.2 MB view details)

Uploaded CPython 3.9Windows x86-64

zen_engine-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-cp38-none-win_amd64.whl (8.2 MB view details)

Uploaded CPython 3.8Windows x86-64

zen_engine-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

zen_engine-0.12.0-cp37-none-win_amd64.whl (8.2 MB view details)

Uploaded CPython 3.7Windows x86-64

zen_engine-0.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

zen_engine-0.12.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

Details for the file zen_engine-0.12.0.tar.gz.

File metadata

  • Download URL: zen_engine-0.12.0.tar.gz
  • Upload date:
  • Size: 95.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.2.3

File hashes

Hashes for zen_engine-0.12.0.tar.gz
Algorithm Hash digest
SHA256 571c1f35a3c20286e9ae21a88937f0d5ac28845bb5edacacba332a3d6051b28a
MD5 e9f40cb3ef6235781dd886bd71132e74
BLAKE2b-256 b8fb56a26e845f052d2d95faff4dd3b14c0ee8ca5879da45ded1b13cb9332b4a

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9616296f01d0593b6f0295bb761de9effe4c02445b2409636d83ca2d88fa22f7
MD5 c6951c19952529e87671fd55d63f1d39
BLAKE2b-256 e0ed216dde81610c4bd12b04c2899c4401b34b0871c9e2bbc19300931589f473

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d2ced5b8cee4b8665d4ee3342ad77a67c27dd6de633ab3ee6dfda7a6e15a570
MD5 faf1745d8b7e093db21bf21a2cdbf07a
BLAKE2b-256 4afb4aaca82c0d87380fd65c7e50289c7b2d51527114ba2b99c47d5193f925c9

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 888a58cb07ab25111725998c3c566d1d4e105b362d5061ec9a3c83fe4ccd9a0d
MD5 af9b2127d416e81c18ce2268020902a4
BLAKE2b-256 dc6c7639539b26c95e9aaa9dfd79d8a7a6c255acfbe6cf0d804e46e06af7641a

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd17c022abd4f9ad79a24f7e63f7888e994eef744794ae149bf9832cfdf78e05
MD5 fff4faefee634580ff98118daf2ce90d
BLAKE2b-256 c193dc43ea2bef2b97d6b20d24862afa29a98ce8409a98460d1363661fcec1ef

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 92f658200d80546832497b390eb56ce17bf460d6e097bfafead61cdc609f3dd1
MD5 4e9ca4b51edef3863ce1459083200913
BLAKE2b-256 ab22ea37a24c0e797311c6c47f127b1488dedbf465fa2500467c7f5baed0ddb1

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06b17c04c7c4ffafc4c86d86c63d5f82f8a085140e299bec16a332bf040e9193
MD5 448256eb6e3052dd03bb1fd62663e615
BLAKE2b-256 0daefaa136fa499656932bbc14e17ee2c005b1d985ef4324f8f2afea32b74f6a

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fbba9df13ddd044eba71f9ac0118db5b7c7d6a141490af6d97fe4217cfccbb02
MD5 300a392860a2ca6c0f83ca4869f725bf
BLAKE2b-256 6c85f668a5d77801f39e8f05e15b870cf0ce2fb12662e898fc26b0d1d824580d

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a89f284550d44ed42eec12d17e9b92330d1925958209135520571d8c70ac5997
MD5 2534a0d5943365df3508da40a6035a3a
BLAKE2b-256 855cf10f19c4f3e5d9dee9f0cd99da8bf8e25176e9347983bd33019b928d6d7f

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 14cb4f8e6c064400987a2494bdcf240b19b4bb6215e3de159e9ef6fbd2405a02
MD5 bb7efff3a08333e76ae9bd55b5672804
BLAKE2b-256 f433429638e68bd84e1e81c8afc6ec09f61d23d197db5b5ed1194b80533a0fca

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 0f0d60c00126fdec065ad640141831f354ca47b3e1dd6ab9096630eb61751ca4
MD5 98e501bcd9849537e76ab9692fd7e15d
BLAKE2b-256 4d763d060279e6035a217a6b2045f1fb56610fbdb5e686a588a6a3912ed28ebe

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d7e06620c387a622323e86f7901d5294c088cf56b02a8434af7c9dfcc02f88f
MD5 b6289df11a038336b3aa82c9a13eddb5
BLAKE2b-256 06c67ecf9f7586934c876e118089798e5a793a30f56142833611fdef4fccdff7

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a43e523779bfab89f590ac995938f8408201431e10a6bd43a80925d3e4dfd213
MD5 74d1d24355c39c83e764f00215998cea
BLAKE2b-256 2e599444d4f939f482fa25d2bd38cf664ec25a2a3edc92963e6eb52cd8ffccbf

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67d95eae7c1ba0c6ce11d8052b40763eb2396ae2ff58ae76591542715eae62db
MD5 d12d141d41a667149e80fbfa08ae6b44
BLAKE2b-256 76919ec1c13e299d0a5b5211eff2a23699be7ef28123a46d5b199a3b7d08667e

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp311-cp311-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f918713cb3bcc444553069d4aa0e1711a800e8f6f0e30bf8ebd2c161f792ba03
MD5 ae0f4ecc3ab42bcf345132002e0916e2
BLAKE2b-256 411eb79a65cfab155c8e640d55578f7871f8c3343407e2b22d4e5c004c119cba

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 e6863d484590719040e319199863edd2f7fccd710e49049ac9371b0e5ace9ced
MD5 56dfe02d4484cf6a291c466644c28317
BLAKE2b-256 24d90f318bede93655b8bdb0401b8288c612624cf7e0e8227469d2029b563374

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b892b5dc4ebfa2842af5faba3a5e239e40a8149e65d6a1e4d968858c98f6432
MD5 50b6d37b1df716b3223e4a2333c00468
BLAKE2b-256 022734d01e9eac972bffbe492023886e16acc96cc912611ca2efecdfbfd84c52

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a10e24fd41933139e453b2719761cf12226888020733a653586632f07a70db59
MD5 fb33f2f2d1bf19bb81d712c8905b9a5c
BLAKE2b-256 616924a83467a99a66935109c091b343152de0ef190f7412ee9362d88841298f

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0f738d29ff54f95543beff618a6d891ee5133feff5cfa34bcb7a294bc12b8fe
MD5 9efb1b26bb975ad4181960281bb65911
BLAKE2b-256 84c9ad0e2e0d012b34edfd90e1d500ad3a4b6e558987936dd24a987088a8cb57

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a74d6437d644ba7e1facf70555d82110535599c9e344851bc3abf3e7162617ba
MD5 fb96ed41673719382351bfd233f47078
BLAKE2b-256 a34f56fb5024c20477170a14b8d30fb9c71ca31bfa64aac96c7214a95cbf274e

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 fecdc6c6fc7f0736179854a4f8441dc3cfdcbf4fe3ea26c218bb62e5873d53a5
MD5 e74c69b94a8a1e6b8cb7e63ec44982b0
BLAKE2b-256 7db058ac7d44e74bff361cf6c5735fcdcd2a94a35205d60cbb558d0796414642

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b02cdf0620e6d385d276b8e2fa8ae4fc66678b3749762cd8e1d9f0bd8ef0b92
MD5 d4f55b0155a8594e295898429f4d1ca6
BLAKE2b-256 d12fbbea6af1d1351f02b98dfc063c22db677b4beeebb4952ebd6e12530e981d

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd00c02ac5426128d293d1441404b3185cb407e4e0fcfaa355283e20ca48456b
MD5 85f3c6d8ca1a3f673d3f4679a44d99cb
BLAKE2b-256 8bc0f1cd936158cc760aa84e085c3afd90a5d5a3d850d27f3190c5850a81226b

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 fdbfb02eb9a3fc6b01df11729fa58faa8722d02a27d52445250e96728628753b
MD5 543269c34ecda9eb482b8f89fea19c29
BLAKE2b-256 db44a40c7bc35d4fc74bf9ee0fec8377591bdade512f004ea2b68690b141c17e

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0374ede4cadfb3356e051c2a015021eef2b13aca5991eec83f7e80c83c15acca
MD5 7d31081540fc14b3ba4eff56d070521a
BLAKE2b-256 c8136e84bae654b1d0e6c467887b0934624efc6a48a0794dfc55b6b8291f5853

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 af86137d10a43b0ddc58fb9410493c55ad906150a0d86b4852f156abbfe40d7c
MD5 982f5741c177fd05869aba7fdd248df1
BLAKE2b-256 0b3eb41d35f9adafe67c073394ff2c5e812f1cf1b81ca63e01416d2671fb271b

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp37-none-win_amd64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 479f29bd16cb6c242cb138d612b65b07d44298c55f79a45eae3253c7a587b0a9
MD5 13bcd30701dc7be5b86e5674e000b7cf
BLAKE2b-256 71e1489a42e35b0109f6b4621c005f40ed08443e4247b0816ab0856d648f917e

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efcaadb8046700897f9c7e60dddb4899b7205179cf7d3bb4ba09669cfa114fc5
MD5 06d72df417057d7f89182e2b474d9949
BLAKE2b-256 87433a391f39ad885e5b5048b4c374a7f1d92cfab64433e083695fe40dfb1076

See more details on using hashes here.

File details

Details for the file zen_engine-0.12.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zen_engine-0.12.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fcab89c1cd8e8513704ac498a185b776f7865299a4013026f90303f2bc7d0c3e
MD5 684347113292dc161d192b40dd0e0739
BLAKE2b-256 6f5de10dc4c19127fef76ca19e22239f93724f3e4998ae82f26ed6f194666cfb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page