pip-services4-expressions 0.0.3

Last updated:

0 purchases

pip-services4-expressions 0.0.3 Image
pip-services4-expressions 0.0.3 Images
Add to Cart

Description:

pipservices4expressions 0.0.3

Tokenizers, parsers and expression calculators in Python
This module is a part of the Pip.Services polyglot microservices toolkit.
It provides syntax and lexical analyzers and expression calculator optimized for repeated calculations.
The module contains the following packages:

Calculator - Expression calculator
CSV - CSV tokenizer
IO - input/output utility classes to support lexical analysis
Mustache - Mustache templating engine
Tokenizers - lexical analyzers to break incoming character streams into tokens
Variants - dynamic objects that can hold any values and operators for them

Quick links:

API Reference
Change Log
Get Help
Contribute

Use
Install the Python package as
pip install pip-services3-expressions

The example below shows how to use expression calculator to dynamically
calculate user-defined expressions.
from pip_services4_expressions.variants.Variant import Variant
from pip_services4_expressions.calculator.variables.Variable import Variable
from pip_services4_expressions.calculator.ExpressionCalculator import ExpressionCalculator
from pip_services4_expressions.calculator.variables.VariableCollection import VariableCollection

# ...

clalculator = ExpressionCalculator()

clalculator.expression = "A + b / (3 - Max(-123, 1)*2)"
vars = VariableCollection()
vars.add(Variable("A", Variant(1)))
vars.add(Variable("B", Variant(3)))

result = clalculator.evaluate_with_variables(vars)
print('The result of the expression is ' + result.as_string)
# ...

This is an example to process mustache templates.
mustache = MustacheTemplate()
mustache.template = "Hello, {{{NAME}}}{{#ESCLAMATION}}!{{/ESCLAMATION}}{{#unless ESCLAMATION}}.{{/unless}}"
result = mustache.evaluate_with_variables({ 'NAME': 'Mike', 'ESCLAMATION': True })
print("The result of template evaluation is '" + result + "'")

Develop
For development you shall install the following prerequisites:

Python 3.7+
Visual Studio Code or another IDE of your choice
Docker

Install dependencies:
pip install -r requirements.txt

Run automated tests:
python test.py

Generate API documentation:
./docgen.ps1

Before committing changes run dockerized build and test as:
./build.ps1
./test.ps1
./clear.ps1

Contacts
The module is created and maintained by:

Sergey Seroukhov
Danil Prisiazhnyi

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.