Python evaluator for jQuery-QueryBuilder rules
Project description
jQuery-QueryBuilder-Python-Evaluator
Python Rule evaluator for jQuery-QueryBuilder. It evaluates rules agains provided objects.
Website • autobotAI Cloud Governance
Inspired from SixiS/jquery_query_builder-rails
Usage
Install the package.
pip install jqqb-evaluator
Usage Example:
from jqqb_evaluator.evaluator import Evaluator
rule_json = {
"condition": "AND",
"rules": [{
"id": "tagname",
"field": "tags.name",
"type": "string",
"input": "text",
"operator": "not_contains",
"value": "production"
}, {
"id": "tagname",
"field": "tags.name",
"type": "string",
"input": "text",
"operator": "begins_with",
"value": "development"
}, {
"condition": "OR",
"rules": [{
"id": "type",
"field": "type",
"type": "string",
"input": "text",
"operator": "equal",
"value": "ec2"
},{
"id": "type",
"field": "type",
"type": "string",
"input": "text",
"operator": "equal",
"value": "ami"
}]
}]
}
evaluator = Evaluator(rule_json)
object_1 = {'type': "ec2", "tags": [{"name": "hello"}, {"name": "asdfasfproduction_instance"}]}
object_2 = {'type': "ami", "tags": [{"name": "development"}, {"name": "asfdafdroduction_instance"}, {"name": "proction"}]}
objects = [object_1, object_2]
print(evaluator.get_matching_objects(objects))
Result:
[{'type': 'ami', 'tags': [{'name': 'development'}, {'name': 'asfdafdroduction_instance'}, {'name': 'proction'}]}]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jqqb_evaluator-0.0.1.tar.gz
(3.3 kB
view details)
Built Distribution
File details
Details for the file jqqb_evaluator-0.0.1.tar.gz
.
File metadata
- Download URL: jqqb_evaluator-0.0.1.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b5b00718cced03fb6552de596a65e8d741bf4a2b4b0a5815d4d0acef7773ecc |
|
MD5 | 96c47091eaca98a2fcf80e887e38d32f |
|
BLAKE2b-256 | 416409a942f8e967cb470073defb8acde7972e7dbbb0b8437b291d65aabd40f7 |
File details
Details for the file jqqb_evaluator-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: jqqb_evaluator-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f04ddfc9829f2847145f7229b0b9fb51c6ad4792455638d499f14d2a98a1bac9 |
|
MD5 | 69572cb8df8ae9432e16667b726ab385 |
|
BLAKE2b-256 | 0ceca168c67852e7f81a694b06d4edaceff265f6f2bc2aefc81061210aa31e1e |