============================
Environment YAML File Setup
============================
In order to ensure control over which packages are created, PyEnvBuilder requires an YAML file
that defines a certain environment.
Only packages from the *conda-forge* mirror and *PyPI* are accepted since those two combined cover most if not all packages widely available to Python.
Custom packages should use ``PYTHONPATH`` or should be added to one of the two locations:
* PyPI
* `Packaging Python Projects `_
* conda-forge
* `Add conda-forge recipe `_
.. note:: If the code for a certain python package is available at GitHub but not yet at PyPI or conda-forge, it can still be installed via pip using the proper URL.
--------------------------
YAML File
----------
.. figure:: _static/images/yaml.png
:width: 600pt
:align: center
:alt: YAML File Example
YAML file example
The table below explains the attributes of the YAML file:
.. Leaving this here because, just in case the table below does not work very well with LaTex
.. .. csv-table:: YAML FIle Attributes
.. :header: "Attributes", "Description", "Example", "Type", "Required"
.. "name", "name of the environment", "python3.7env", "string", "Yes"
.. "version", "verion of the environment", "v1.0 or 1.0.0", "string", "Yes"
.. "conda_packages", "packages to be installed through conda-forge channel", "\- python=3.7", "array", "Yes"
.. "pip_packages", "packages to be installed through pip", "\- pydm", "array", "No"
.. "tests", "python scripts to test the environment", "\- python test.py", "array", No
+----------------+------------------------------+-------------------+----------+----------+
|Attributes | Description | Example | Type | Required |
+================+==============================+===================+==========+==========+
| name | name of the environment | python3.7env | string | Yes |
+----------------+------------------------------+-------------------+----------+----------+
| version | version of the environment | v1.0 or "1.0.0" | string | Yes |
+----------------+------------------------------+-------------------+----------+----------+
| conda_packages | packages to be installed | \- python=3.7 | array | Yes |
| | through conda-forge channel | | | |
+----------------+------------------------------+-------------------+----------+----------+
| pip_packages | packages to be installed | \- pydm | array | No |
| | through pip | | | |
+----------------+------------------------------+-------------------+----------+----------+
| tests | python scripts to test | \- python test.py | array | No |
| | the environment | | | |
+----------------+------------------------------+-------------------+----------+----------+