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

Doug Hellmann doug at doughellmann.com
Mon Oct 9 19:35:44 UTC 2017


Excerpts from Bob Haddleton's message of 2017-10-09 11:35:16 -0500:
> 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
> 

Oslo is a good place for things like this that have no other obvious
home, but if the Mistral team is already managing the code is there any
reason they couldn't also manage the library after you pull it out of
the service? It's much easier for any project team to manage a library
now, and we have several other examples of that pattern already.

Doug



More information about the OpenStack-dev mailing list