Requirements

Python 3.7 at minimum is required for the installation of ICICLE; 3.9 or greater is recommended to ensure cross-compatibility with dirigent and the rest of the ETHZ module testing framework.

Environment

It is recommended to install ICICLE and associated dependencies in a separate python environment. One may use Python virtualenvs or anaconda environments for this purpose - it makes litte practical difference. An example of how to set up a python virtualenv for this purpose is below:

cd /path/to/cloned/repository/
python3 -m venv py3-env
. py3-env/bin/activate

Dependencies

Most package dependencies are automatically installed by pip; no specific action is required.

Three sets of optional dependencies are available for extended features:
  • sim: installs pyvisa_sim as simulation backend for devices (only partially implemented so far).

  • docs: installs sphinx and sphinx-rtd-theme for generating documentation.

  • dev: installs pre-commit. black, and docformatter[tomli] for pre-commit hook and automatic format.

Installation

Finally, the icicle package may be installed as a stand-alone installation using pip or a similar pyproject.toml-compliant package manager:

python3 -m pip install "."

To install the sim, docs, or dev additional dependency sets for simulating devices, generating documentation, or developing ICICLE respectively, specify any or all these in square braces after the project path on install:

python3 -m pip install [-e] ".[sim,docs,dev]"

The -e (editable installation) flag can be included for developing or troubleshooting, and links the executables to the local repository files rather than installing/copying these into the python environment.