A DSL to define matching rules
Project description
Mucho DSL
Mucho is a Python library that provides a domain specific language (DSL) to define rules with the form:
rule_name: description
conditions
=> match|mismatch|unknown
For example:
like_a_duck: it must be a duck
walks.like_a_duck and
quacks.like_a_duck and
looks.like_a_duck
=> match
It comes with:
- a compiler that transforms the rules into a Python object representation
- a virtual machine that evaluates the compiled rules and returns the first satisfied one
Documentation
See https://mucho.readthedocs.io .
Install
pip install mucho
Contribute
Checkout the project and configure Python environment
git clone git@bitbucket.org:sancorva/mucho.git
cd mucho
pipenv install --dev
Run tests
make test-coverage
Generate docs
cd docs
pipenv run make html
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
mucho-0.2.1.tar.gz
(16.3 kB
view details)
Built Distribution
mucho-0.2.1-py3-none-any.whl
(29.7 kB
view details)
File details
Details for the file mucho-0.2.1.tar.gz
.
File metadata
- Download URL: mucho-0.2.1.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b59db56add5318464aed32d7a4652a4e714ad069190454e195f4b10e63bf98b |
|
MD5 | 63b29854ceda085eccb532d92c941f35 |
|
BLAKE2b-256 | 51e103766b39b3c64537fc95efb59c0fb41b70193272a6095c56586a164ec3ab |
File details
Details for the file mucho-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: mucho-0.2.1-py3-none-any.whl
- Upload date:
- Size: 29.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c32dcde1b267794b05c06fbb7e7de1ad52f9a492d54d35b7c94b9995cce66632 |
|
MD5 | f26854b3b68e4255be32c9bc8f6a9355 |
|
BLAKE2b-256 | 895dc0cd43c5147031f9005a02021417e1ebed0f1dc544ed63452999e36ed504 |