.. _installation: Installation Guide ================== This guide will walk you through the installation process for the RadioViz application. Are you interested in installing and using RadioViz? Then follow this :ref:`link ` for the installation of the latest existing binary package. If you want to contribute to the development of RadioViz, then follow this :ref:`other_link ` for the cloning of the git repository. .. _pip_install: Standard binary installation ---------------------------- If you here, it is because you would like to use the tool, but for the moment you are not planning to contribute to it. In this case, we strongly recommend to make a system-wide installation using `pipx `_. Here below the procedure to follow: To install RadioViz from the binary wheel, you need the following: - Python 3.8 or later (it has been successfully tested up to 3.14) - Pipx .. code-block:: bash pipx install radioviz Pipx is taking care of installing the python wheels of RadioViz and of all its dependencies. Once installed, you can launch it typing `radioviz` from a terminal emulator. You can also create a shortcut icon to put on your desktop and launch it by double clicking on it. Installation without (direct) internet connection ************************************************* RadioViz is a laboratory analysis tool and the maintainers are aware of the fact that not all computers installed in laboratories have direct access to the internet for security policies. For this reason, this alternative procedure is provided to allow RadioViz installation on these isolated PC as well. In this specific case, the installation is a bit more elaborated. The user needs to have a computer that is connected to the internet and a way to transfer data from this PC to the air-gapped one (a USB memory key for example). Even though, the two PCs (internet-connected and air-gapped) can have different architecture, operating system and python version, it is strongly recommended to use machines with the same configuration. First step: download wheels on the internet connected PC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Requirements of the internet connected PC: - Internet connection - A recent version of pip The first step is to download the installation wheels of RadioViz and of all its dependencies from the `python registry `__ on the internet connected PC. The commands below are provided for a linux bash shell, but they are similar if not identical to the ones used for Windows CMD. .. code-block:: bash mkdir radioviz_offline cd radioviz_offline pip download radioviz -d ./wheels The last command will create a wheels subfolder and download there all the packages to be installed. If the two PCs have different operating systems or python versions, you have to provide the two optional flag `--platform` and `--python-version`. At the time of writing, for all supported python versions and the most common platform, all packages needed by RadioViz are available as (compiled) wheels. If you have a not standard target platform, you might have to compile some of the packages (tar.gz). Now copy the whole radioviz_offline folder on your USB memory stick, or find another way to transfer it to the air-gapped computer and move there. Second step: install wheels on the air-gapped PC ++++++++++++++++++++++++++++++++++++++++++++++++ Requirements of the air-gapped PC: - A copy of the wheels downloaded on the internet connect computer - A supported python version (>=3.8) - pipx, if you want to have a system wide installation, or pip if you want to have an installation in a virtual environment. Let's start from the standard pipx installation. .. code-block:: bash cd radioviz_offline pipx install --pip-args="--no-index --find-links=./wheels" radioviz The --pip-args option is forwarded directly to the pip instance working behind the scene for pipx and it is actually forcing pip not to use an index (pypi or any other ones and to look for missing packages in the wheels folder. If you want a more traditional installation inside a virtual environment, follow this procedure: .. code-block:: bash cd radioviz_offline python -m venv .venv source .venv/bin/activate pip install --no-index --find-links=./wheels radioviz .. _git_install: Source code installation via git -------------------------------- If you here, it is because you would like to develop the tool. In this case, we strongly recommend to make profit from the project management tool `hatch `_. The procedure is a bit more complicated, but nothing exceptionally hard. This is what you need: - Python 3.8 or later - Git - Hatch (best if installed using pipx and available system-wide) - Verified email address with GPG signature for sending commits to the JRC Gitlab. 1. **Clone the Repository** First, clone the repository to your local machine using Git: .. code-block:: bash git clone https://code.europa.eu/kada/radioviz.git cd radioviz 2. **Create a development environment** Before starting coding, you need to create a development environment. This is easily achieved via hatch: .. code-block:: bash hatch env create dev hatch shell dev Hatch will take care of installing all required dependencies and will spawn a shell in that environment. 3. **Install pre-commit hooks** To ensure high code quality, the developers have adopted some `pre-commit `_ hooks. The first time, you need to install the hooks in the repository. .. code-block:: bash pre-commit install --install-hooks -t pre-commit -t pre-push As already said, this installation might last a few minutes, but then it will be executed much faster. 4. **Good to go** At this point, you are good to go! Open your IDE and start coding!