Installation

Malva Tools are distributed in two formats. Choose the one that fits your use case, or install both.

Python Wheel

Recommended for most users

Use Malva in notebooks and Python scripts. Full API access for programmatic queries.

Apptainer Container

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

Platform

Linux (Ubuntu 22.04+, CentOS 7+)

Python

Python 3.11 (for wheel)

Hardware

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 malva or python -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

  1. Download and extract the distribution (provided upon request):

tar -xzvf malva_dist.tar.gz
cd malva_dist
  1. 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