Skip to main content

Python evaluator for jQuery-QueryBuilder rules

Project description

jQuery-QueryBuilder-Python-Evaluator

Python Rule evaluator for jQuery-QueryBuilder. It evaluates rules agains provided objects.

WebsiteautobotAI 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


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)

Uploaded Source

Built Distribution

jqqb_evaluator-0.0.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

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

Hashes for jqqb_evaluator-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8b5b00718cced03fb6552de596a65e8d741bf4a2b4b0a5815d4d0acef7773ecc
MD5 96c47091eaca98a2fcf80e887e38d32f
BLAKE2b-256 416409a942f8e967cb470073defb8acde7972e7dbbb0b8437b291d65aabd40f7

See more details on using hashes here.

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

Hashes for jqqb_evaluator-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f04ddfc9829f2847145f7229b0b9fb51c6ad4792455638d499f14d2a98a1bac9
MD5 69572cb8df8ae9432e16667b726ab385
BLAKE2b-256 0ceca168c67852e7f81a694b06d4edaceff265f6f2bc2aefc81061210aa31e1e

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