Skip to main content

No project description provided

Project description

Package to evaluate logical tag expressions by using a modified version of the Shunting Yard algorithm. This package is a Python port of cucumbers tag expression.

It’s also used by radish.

Build Status PyPI package version PyPI python versions

Installing

$ pip install tag-expressions

Here is a tease

>>> from tagexpressions import parse
>>>
>>> expression = '( a and b ) or ( c and d )'
>>> compiled_expression = parse(expression)
>>> print(compiled_expression)
( ( a and b ) or ( c and d ) )
>>>
>>> data = ['a', 'b', 'c', 'd']
>>> assert compiled_expression.evaluate(data) == True
>>>
>>> data = ['a', 'c']
>>> assert compiled_expression.evaluate(data) == False
>>>
>>>
>>> expression = 'not a or b and not c or not d or e and f'
>>> compiled_expression = parse(expression)
>>> print(compiled_expression)
( ( ( not ( a ) or ( b and not ( c ) ) ) or not ( d ) ) or ( e and f ) )
>>>
>>> data = ['b', 'e', 'f']
>>> assert compiled_expression.evaluate(data) == True
>>>
>>> data = ['a', 'c', 'd']
>>> assert compiled_expression.evaluate(data) == False

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

tag-expressions-1.0.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

tag_expressions-1.0.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file tag-expressions-1.0.0.tar.gz.

File metadata

File hashes

Hashes for tag-expressions-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0622e40d625fb738324b2591d11c86588d448d0f34e43c73e545cc89d219301d
MD5 49ca46144f12aeb9c337d0e16ca0c0ee
BLAKE2b-256 1000ba91152c22e3548ae3dd188120f858dd569c16eebb2da105a46b8246a218

See more details on using hashes here.

Provenance

File details

Details for the file tag_expressions-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tag_expressions-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e4b289b97d476e19420a2348437544d62a4e5bd2e9f5cf6ee4c16427026a5c6
MD5 7a3d5122bf561644c1a9c1b7e232bc39
BLAKE2b-256 1d4267fbfaca4fc6cd3e7c10f5c9c6c3492ecf5073851a3c861a8c495134f874

See more details on using hashes here.

Provenance

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