[openstack-dev] [oslo][mistral] Mistral expressions package

Bob Haddleton bob.haddleton at nokia.com
Mon Oct 9 16:35:16 UTC 2017


Hello Oslo team:

The Mistral project has an expressions package [0] that is used to 
evaluate inline expressions using a context.  It has a pluggable 
architecture that presently supports Jinja and YAQL expression 
evaluation.  It also allows custom functions[1] to provide Python 
implementations of functionality that is then made available to the 
expression evaluation engines.

This functionality was originally developed to support dynamic 
processing within Mistral workflows, but is also very useful in other 
applications that use templates which require runtime evaluation of 
expressions.

I'd like to explore extracting this functionality from mistral to make 
it more widely available with minimal dependencies.

The expressions dependencies are pretty limited:

Jinja2
oslo.utils
oslo.log
stevedore
yaql

and since 60% are already oslo-maintained packages, it seemed like a 
logical place to start.

I'd appreciate feedback on the topic.  There is no real OpenStack 
dependency in the functionality, so maybe a standalone package on pypi 
makes sense.

Thanks for your help,

Bob Haddleton


[0] https://github.com/openstack/mistral/tree/master/mistral/expressions
[1] 
https://github.com/openstack/mistral/blob/master/mistral/utils/expression_utils.py#L63




More information about the OpenStack-dev mailing list