Calculate Python Expression
Description
This functor runs an Python instance with the defined user expression. For an overview of how Dinamica and Python can be linked together check the documentation about Dinamica EGO and Python Coupling.
Inputs
Name | Type | Description |
---|---|---|
expression | Code | The expression that will run on Python. |
Optional Inputs
None.
Outputs
Name | Type | Description |
---|---|---|
result | Struct | A struct containing the output values generated by the expression. |
Notes
DinamicaEGO allows installing libraries from within python scripts:
Simply install and load the numpy library:
dinamica.package("numpy")
You can specify a version like you do on pip:
dinamica.package("numpy", "numpy==1.19.5")
You can install and load a library that has different name from its project, in this case the package is called “segment_anything_py” but it can only be imported “segment_anything”:
dinamica.package("segment_anything_py", "segment_anything_py", "segment_anything")
And you can also use all pip parameters as you want, for example installing from a remote wheel and loading dependencies from a custom repository “–index-url https://download.pytorch.org/whl/cu118”.
dinamica.package("segment_anything_py", "https://files.pythonhosted.org/packages/43/2f/dabe75d90a7eb54a0a609a0fc5c36d1933256319beaea5d6b2f176e213a2/segment_anything_py-1.0-py3-none-any.whl --index-url https://download.pytorch.org/whl/cu118", "segment_anything")
Or use it in a more complex pipeline. For example: install the “cython” and “numpy” dependencies to clone and compile a python library from a git repository: ( of course the git executable must be on the path for cloning a repository)
dinamica.package("cython") dinamica.package("numpy") dinamica.package("pycocotools", "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI")
Group
Internal Name
CalculatePythonExpression