Metadata-Version: 2.4
Name: routingfilter
Version: 2.5.0
Summary: Generic Business Logic Implementation for Routing objects as python dictionaries
Author-email: "Certego S.r.l." <support@certego.net>
License-Expression: LGPL-3.0-or-later
Project-URL: Homepage, https://github.com/certego/RoutingFilter
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: macaddress~=2.0.2
Provides-Extra: dev
Requires-Dist: black==26.5.1; extra == "dev"
Requires-Dist: flake8==7.3.0; extra == "dev"
Requires-Dist: isort==8.0.1; extra == "dev"
Requires-Dist: pre-commit==4.6.2; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Dynamic: license-file

# RoutingFilter

This is a Python module to handle routing filters based on dictionaries.

### Usage
Load a rule and check whether an event matches the rule or not. 
```
from routingfilter.routing import Routing
routing = Routing()
routing.load_from_dict([test_rule_1])
routing.match(test_event_1)
```
See the [online documentation](https://routingfilter.readthedocs.io/en/latest/) for further details.
 
### Release steps
* (If needed) Update the dependencies in `pyproject.toml`
* Add a new entry in `CHANGELOG.md` with the new version number
* Update the version number in `pyproject.toml`
* Commit and merge the changes into `master` branch
* Publish a new release with the version number as a tag: the CI will automatically publish the new version on PyPI

### Benchmark tests
In order to launch the benchmark tests, run ```python routing_benchmark.py```

### Development
* Install `pip install -e ".[dev]"` in your local virtual environment
* Setup pre-commit: `pre-commit install -c .github/.pre-commit-config.yaml`

### License
This project is licensed under the **GNU LGPLv3** license.
