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 hashes)

Uploaded source

Built Distribution

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

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page