Installation of radprocess
Requirements
How to obtain radprocess
Clone the GitHub repository, create a virtual environment, and install in editable mode:
git clone https://github.com/sachagavino/radprocess.git
cd radprocess
python -m venv .venv --prompt radprocess
source .venv/bin/activate
python -m pip install -e .
This creates a virtual environment (.venv/) inside the radprocess/
directory, activates it, and installs radprocess with all its Python
dependencies (numpy, scipy, zarr, matplotlib, astropy, etc.).
Note
Always use python -m pip instead of bare pip. On some systems,
pip may point to a different Python environment than the one activated
by the venv, which leads to packages being installed in the wrong place.
If you also want the Gradio web interface:
python -m pip install -e ".[gui]"
Every time you open a new terminal and want to use radprocess, you need to activate the environment first:
cd /path/to/radprocess
source .venv/bin/activate
To update your local copy later:
git pull
python -m pip install -e .
Alternative: using uv
If you have uv installed:
git clone https://github.com/sachagavino/radprocess.git
cd radprocess
uv venv --python 3.12
source .venv/bin/activate
uv pip install -e .
Installing pymses
pymses is not available on PyPI and must be installed from the local source directory. The up-to-date version lives on the server (typically in the shared software folder). To install it, activate the radprocess environment first, then install pymses into it:
# Activate the radprocess environment
source /path/to/radprocess/.venv/bin/activate
# Go to the pymses source directory on the server
cd /path/to/pymses
# Install pymses (--no-build-isolation ensures it uses the numpy
# and Cython already installed in the environment)
python -m pip install -e . --no-build-isolation
This compiles the Cython extensions against the correct numpy version and registers pymses so that Python can find it.
Warning
Do not use $PYTHONPATH or $PATH as an alternative.
$PATHonly affects executables, not Python imports.$PYTHONPATHbypasses pip, can cause version conflicts across projects, and may lead to crashes if pymses was compiled against a different numpy.
Using radprocess from a notebook
Make sure the notebook kernel uses the same Python environment where radprocess is installed. You can verify from a notebook cell:
import sys
print(sys.executable)
and compare with the output of which python in the terminal where you ran
python -m pip install -e ..
Registering the environment as a Jupyter kernel
If your notebook uses a different default kernel, register the radprocess environment explicitly:
# From the terminal, with the radprocess venv activated:
python -m pip install ipykernel
python -m ipykernel install --user --name radprocess --display-name "Python (radprocess)"
Then select Python (radprocess) as the kernel in your notebook.
Running the Gradio interface
If installed with the [gui] extra, radprocess can be launched as a
Gradio-based graphical interface:
radprocess
One or more URLs will be displayed in the terminal.
On a local machine, open the local URL.
On a remote server, use the public (share) URL if available, or set up SSH tunneling:
ssh -L 7860:localhost:7860 user@server
then open
http://localhost:7860in your browser.
Verifying the installation
from radprocess.pipeline.Pipeline import Pipeline
pipe = Pipeline()
pipe.configparams.ramsesoutput.ramses_output_dir = "/path/to/output_00940/"
pipe.set_working_dir("/path/to/working_directory")
# Check that RAMSES output is readable:
print(pipe.read_hydro_descriptor())
print(pipe.read_sink_info())
Troubleshooting
- “No module named pymses”
pymses must be installed separately into the radprocess environment. See the section above.
- zarr import errors or “BloscCodec not found”
radprocess requires zarr v3. Check your installed version:
python -c "import zarr; print(zarr.__version__)"
If it shows 2.x, upgrade with
python -m pip install "zarr>=3.0".- “No module named gradio”
Gradio is optional. Install it with
python -m pip install -e ".[gui]"orpython -m pip install gradio. It is only needed for the web interface, not for notebook or script usage.- numpy/Cython build errors when installing pymses
pymses requires Cython at build time. Make sure Cython is installed (
python -m pip install cython) before installing pymses. If you still get errors about deprecated numpy C API, the internal pymses fork should handle this.- pip points to the wrong environment
If
which pipshows a path outside.venv/, always usepython -m pipinstead. This guarantees you are using the pip that matches the active Python interpreter.