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.
Name | Type | Description |
---|---|---|
expression | Code | The expression that will run on Python. |
None.
Name | Type | Description |
---|---|---|
result | Struct | A struct containing the output values generated by the expression. |
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")
CalculatePythonExpression