Conda Environments
Cylc consists of multiple components.
This Conda environment will provide you with the “recommended” installation of all components:
name: cylc-8.4
channels:
- conda-forge
dependencies:
- cylc-flow =8.4
- cylc-uiserver
- cylc-rose
- metomi-rose
The following sections outline alternatives for finer control over installation.
Cylc Flow
The simplest Cylc installation consists only of Cylc Flow:
name: cylc-flow
channels:
- conda-forge
dependencies:
- cylc-flow =8.4
Tip
We suggest installing Cylc Flow at a “minor” version (e.g. 8.1
rather
than 8.1.2
) to pick up the latest “maintenance” release.
If you do not specify your Python version you will be provided with the most recent compatible one.
If you are installing Cylc on multiple machines across a network it is advisable to keep the Python versions consistent.
You can do this by adding Python into the environment at a particular version:
name: cylc-flow-with-python-3.7
channels:
- conda-forge
dependencies:
- python =3.7
- cylc-flow =8.4
Cylc Flow provides a cut-down package containing only the bare essentials
called cylc-flow-base
.
This may be useful for installing onto job hosts where client-facing extra features are not of interest:
name: cylc-flow-base
channels:
- conda-forge
dependencies:
- cylc-flow-base =8.4
Cylc UIServer
The default Cylc UIServer package comes with Jupyter Hub and the Configurable HTTP Proxy (required by Jupyter Hub) bundled:
name: cylc-uiserver
channels:
- conda-forge
dependencies:
- cylc-flow =8.4
- cylc-uiserver
Tip
We suggest not specifying the version of other Cylc components to (i.e. Cylc UIServer and Cylc Rose). This will pick up the most recent version compatible with the specified Cylc Flow version.
Jupyter Hub is only required for multi-user setups, the Cylc UIServer can be run as a standalone application.
To exclude Jupyter Hub from the installation use cylc-uiserver-base
:
name: cylc-uiserver-without-jupyterhub
channels:
- conda-forge
dependencies:
- cylc-flow =8.4
- cylc-uiserver-base
If you want to use Jupyter Hub with an alternative proxy use
cylc-uiserver-hub-base
(this depends on jupyterhub-base
, see the
Jupyter Hub documentation for details):
name: cylc-uiserver-with-traefik-proxy
channels:
- conda-forge
dependencies:
- cylc-flow =8.4
- cylc-uiserver-hub-base
- pip
- pip:
- jupyterhub-traefik-proxy
Cylc Rose
For working with Rose add metomi-rose
and cylc-rose
(the bridge
between Cylc & Rose):
name: cylc-rose
channels:
- conda-forge
dependencies:
- cylc-flow =8.4
- cylc-rose
- metomi-rose
We will look at providing more installation options for Rose in the near future.
Adding Cylc To Your Conda Package
If you want to publish a package (e.g. to Conda Forge) that depends on Cylc,
consider using the minimal package (e.g. cylc-flow-base
) as a dependency
to allow the installer to maintain flexibility over the installation.
Working With Other Conda Channels
Cylc projects are published to Conda Forge and the above environments install all dependencies from Conda Forge.
If you want to install other dependencies (e.g. Python), from other channels (e.g. Anaconda), list the dependency explicitly and place the channel above the Conda Forge channel.
name: cylc-flow
channels:
- defaults
- conda-forge
dependencies:
- python
- cylc-flow =8.4