Installation¶
Malva Tools are distributed in two formats. Choose the one that fits your use case, or install both.
Recommended for most users
Use Malva in notebooks and Python scripts. Full API access for programmatic queries.
Best for HPC systems
Run CLI commands without managing Python environments. Works on shared clusters.
Availability¶
Note
Malva Tools are provided free of charge for academic non-profit research.
Pre-built binaries (wheel + container) are available upon request.
To request access: Contact daniel.leonperinan@mdc-berlin.de with your name, institution, and intended use case.
System Requirements¶
Linux (Ubuntu 22.04+, CentOS 7+)
Python 3.11 (for wheel)
Min: 2 GB RAM, 1 CPU
Option 1: Python Wheel¶
Tip
This is the recommended method for most users. It enables full Python API access.
Step 1: Download the wheel file (provided upon request)
Step 2: Install with pip
pip install malva-0.2.0-cp311-cp311-linux_x86_64.whl
Step 3: Verify the installation
import malva
from malva.index import MalvaIndex
What you can do:
Import Malva in Python scripts and Jupyter notebooks
Use the Python API for programmatic queries
Run CLI commands via
malvaorpython -m malva
Option 2: Apptainer Container¶
Use this option on HPC systems where you may not have control over the Python environment.
Prerequisites
Apptainer (formerly Singularity) must be available:
apptainer --version
If not available, ask your system administrator or see the Apptainer installation guide.
Setup
Download and extract the distribution (provided upon request):
tar -xzvf malva_dist.tar.gz
cd malva_dist
Verify the installation:
./malva --version
./malva --help
Distribution contents:
malva_dist/
├── python.sif # Apptainer container with Python runtime
├── site-packages/ # Malva package and dependencies
├── malva # CLI wrapper script
└── malva_runner.py # Helper for Python/Jupyter integration
HPC Configuration¶
Warning
On HPC systems, Apptainer may not have access to all data directories by default.
Binding additional paths
If you get FileNotFoundError for files that exist, edit the malva wrapper script to bind your data directories:
#!/bin/bash
DIST="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
exec apptainer exec \
--bind "$(pwd):$(pwd)" \
--bind "/data:/data" \
--bind "$DIST:$DIST" \
--env PYTHONPATH="$DIST/site-packages" \
--pwd "$(pwd)" \
"$DIST/python.sif" \
python -m malva "$@"
Replace /data:/data with your institution’s data path (e.g., /scratch:/scratch).
Symlinks
If your input files are symlinks, ensure the symlink target directory is also bound, or use the resolved path:
readlink -f /path/to/symlink