Skip to content

PANTHER Installation Guide¤

Overview¤

This document provides instructions for installing and setting up the PANTHER system on your environment.

Prerequisites¤

System requirements

Running PANTHER requires root-level Docker access and can consume significant system resources during protocol testing. Ensure adequate disk space (>=20GB) for container images.

  • Operating System: Linux, macOS
  • Docker v27 or higher
  • Python 3.10 or higher
  • pip (Python package manager)
  • Git (for cloning the repository)

Dependencies

pyproject.toml is the source of truth for Python dependencies. requirements.txt is a frozen snapshot—do not edit.

Installation Steps¤

Option A — From PyPI (easiest)¤

Recommended for most users

This is the simplest installation method and includes all core functionality and built-in plugins.

python -m venv .venv              # optional but recommended
source .venv/bin/activate
pip install "panther-net"

panther-net is the official PyPI package that bundles the core engine, all built-in plugins, and CLI entry-points. Upgrade later with pip install -U "panther-net".

Option B — From Source (for dev)¤

Clone the Repository¤

git clone --recurse-submodules https://github.com/ElNiak/PANTHER.git;
cd PANTHER
python -m venv .venv && source .venv/bin/activate;

For development work, we highly recommend using the included Python builder script instead of the traditional Makefile:

git clone https://github.com/ElNiak/PANTHER.git
cd PANTHER
python -m venv .venv && source .venv/bin/activate
# After cloning and setting up your environment:
python panther_builder.py package-dev    # Install in development mode
python panther_builder.py docs           # Build documentation
python panther_builder.py check          # Run code quality checks
python panther_builder.py clean          # Clean build artifacts

More details with:

python panther_builder.py --help         # See all available commands
usage: panther_builder.py [-h] [-v]
                          [{package,package-dev,package-test,clean,install-local,docs,serve-docs,deploy-docs,check,zip-outputs,remove-images-all,remove-images-services,remove-system-all,remove-system-services,remove-volume,help}]

PANTHER Build Script - A portable Python-based build system

positional arguments:
  {package,package-dev,package-test,clean,install-local,docs,serve-docs,deploy-docs,check,zip-outputs,remove-images-all,remove-images-services,remove-system-all,remove-system-services,remove-volume,help}
                        Command to execute

options:
  -h, --help            show this help message and exit
  -v, --verbose         Enable verbose output

Examples:
    python panther_builder.py package           # Build and install package
    python panther_builder.py package-dev       # Install in development mode
    python panther_builder.py clean             # Clean build artifacts
    python panther_builder.py docs              # Build documentation
    python panther_builder.py serve-docs        # Serve documentation locally
    python panther_builder.py deploy-docs       # Deploy documentation to GitHub Pages
    python panther_builder.py check             # Run code quality checks
    python panther_builder.py zip-outputs       # Archive outputs directory
    python panther_builder.py remove-images-all # Remove all Docker images with 'panther'

Why use the builder?

  • Cross-platform: Works on Linux, macOS
  • Smart checks: Automatically validates Python ≥3.10 and Docker ≥27.0
  • Integrated: Replaces Makefile with better error handling
  • Developer-friendly: Includes quality checks, documentation builds, and cleanup
  • Docker management: Built-in Docker image and volume cleanup commands

Manually¤

# For regular installation
pip install --upgrade pip
pip install .

# For development installation (editable mode)
pip install -e .

# For installation with specific extras
pip install -e ".[tests]"  # Install with testing dependencies
pip install -e ".[lint]"   # Install with linting dependencies
pip install -e ".[doc]"    # Install with documentation dependencies (Python 3.8)

# Install with multiple extras
pip install -e ".[tests,lint,doc]"

Both methods read dependencies from pyproject.tomldo not manually edit requirements.txt, it’s just a frozen lock.

Entry point argument auto-completion

We have add the package argcompletein the project You can also activate this package globally with activate-global-python-argcomplete --user

Verify Installation¤

After installation, you can verify that PANTHER was installed correctly:

# Check the installed version
python -c "import panther; print(panther.__version__)"

# Run the CLI help command
panther --help

Troubleshooting¤

Common Issues¤

  • Missing dependencies: Make sure all prerequisites are installed
  • Permission errors: Try using sudo for installation commands if appropriate
  • Version conflicts: Ensure you're using compatible versions of dependencies

Getting Help¤

License¤

PANTHER is licensed under MIT. See the LICENSE file for more details.