Skip to main content

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 .

Documentation Status

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)

Uploaded Source

Built Distribution

mucho-0.2.1-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

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

Hashes for mucho-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2b59db56add5318464aed32d7a4652a4e714ad069190454e195f4b10e63bf98b
MD5 63b29854ceda085eccb532d92c941f35
BLAKE2b-256 51e103766b39b3c64537fc95efb59c0fb41b70193272a6095c56586a164ec3ab

See more details on using hashes here.

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

Hashes for mucho-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c32dcde1b267794b05c06fbb7e7de1ad52f9a492d54d35b7c94b9995cce66632
MD5 f26854b3b68e4255be32c9bc8f6a9355
BLAKE2b-256 895dc0cd43c5147031f9005a02021417e1ebed0f1dc544ed63452999e36ed504

See more details on using hashes here.

Supported by

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