Simple Conda Example¶
This directory demonstrates what a simple Pinto project built on top of Conda might look like. Note in particular the poetry.toml that indicates that this project depends on Conda via the
[virtualenvs]
create = false
table, as well as the environment.yaml that describes the dependencies Conda will be in charge of installing and gives the project’s virtual environment its name, pinto-conda-example. Therefore, after buildling this project via
pinto build
you could just as easily activate this environment with Conda
conda activate pinto-conda-example
and do your work inside of there.
As with any Poetry project, the name given in the [tool.poetry] table of the pyproject.toml tells Poetry to look for a library (or file in this case) named pinto_conda_example to install. The [tool.poetry.scripts] table in pyproject.toml tells Poetry to install a command line executable named testme which executes the main function defined in pinto_conda_example.py. So once this project has been built, you can run
pinto run testme
Which should print
Good job! You installed a pip module.
Now get back to work!
Everything's working!
If you wanted to do this without pinto, you could always activate the conda environment and run things in there
conda activate pinto-conda-example
testme
The point is just that the unfamiliar user would need to know that this required execution inside a Conda environment. There are also potential sticking points with using Conda inside containers that this alleviates.
Also note that pinto_conda_example has been installed as a library in this environment as well, so you could just as easily create a python script which imports it
from pinto_conda_example import main as pinto_conda
pinto_conda()