Skip to main content

A simple python based expression language

Project description

Brabbel
=======

Brabbel is a small python based expression language which can be used to
evaluate simple expressions.

Brabbel provides the following set of features:

* Values: Strings, Numbers, Variables , Lists
* simple arithmetic operations: + - / *
* simple equation : < > <= >= == !=
* simple bool operation: and or not
* function calls: date, bool
* other: check if values is _in_ a list

Brabbel is the german term for the first "language" of a baby and emphasises
the reduced coverage of this language.
0.4.4
=====
- Added float function to cast value to float. Used to make comparisions
between float and int possible.

0.4.3
=====
- Improved parsing single quoted strings. Now almost all chars are allowed
except a single quote "'" will will raise an execption because parsing
fails. Because the fix is a improvement at all and the remaining bug is is
currently considered as a rare corner case. This will be released anyway.

0.4.2
=====
- Added workaround for failing parsing of expressions when pyparsing is under
high load.

0.4.1
=====
- Changed license from MIT to GPL v2+ and added LICENSE.txt
- Added "bdist_rpm" section setup.cfg.
- Added "egg_info" section setup.cfg.

0.4.0
=====
- Make comparison of operators more type safe. Evaluation of terms is only
valid of operators of the same type. Otherwise the term will evaluate to
False.
- Implement short circuiting for "and" and "or" operators.
- Support "True","False","None" in bool function.
- Refactored code. Created own module for operators and functions.
- Added documentation.

0.3.0
=====
Make Brabbel Python3 compatible. Added python-future package as dependency

- Allow dots "." in variable names.

0.2.7
=====
- Fixed handling of integer and string values in lists.

0.2.6
=====
- Added folders for documentation (currently empty)
- Allow "-" in Strings
- Added more tests.

0.2.5
=====
- Log warning if a variable can not be resolved in the values dict.
- Allow signed numbers. Currently only negativ sign is allowed.
- String to not have a "'" anymore.
- Added more tests.

0.2.4
=====
- Compatiblity: Allow "-" in variable names.
- Fixed strip of "'" in "len" function.

0.2.3
=====
- Allow empty strings
- Fix bool function
- Allow lists as param for functions

0.2.2
=====
- Added len function

0.2.1
=====
- Be more tolerant on whitespaces in delimeted lists,
- Fix call of functions

0.2
===
- Add operator mapping for operators like ge, gt, le, lt, eq, ne
- Be more tolerant on getting non existing values from the values dictionary.
- Removed Rule class.

0.1
===
- Initial Release

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

brabbel-0.4.4.tar.gz (8.1 kB view details)

Uploaded Source

File details

Details for the file brabbel-0.4.4.tar.gz.

File metadata

  • Download URL: brabbel-0.4.4.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for brabbel-0.4.4.tar.gz
Algorithm Hash digest
SHA256 9892e908b7702212b4827c99f8567bbd34656368c48812e73c59410e4fa662d1
MD5 7e00b3f514ec92e3e9516a681a63a835
BLAKE2b-256 4d0b3813e177514231e9770649c0abfdd99469bb17eeab07606369ba1fe3aea8

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