Installation Guide#

This guide explains how to install Panther and its dependencies.

System Requirements#

  • Python: 3.12

  • PyTorch: 2.6.0 or later

  • OS: Linux x86_64, Windows x64, macOS Apple Silicon (arm64)

  • GPU: NVIDIA GPU with CUDA 11.8 or 12.4 (optional — CPU-only is fully supported)

Note

PyTorch must be installed before panther-ml. Choose the variant that matches your hardware (see Step 1 below). panther-ml itself declares torch>=2.6.0 so it works with any compatible PyTorch flavor you install first.

Step 1 — Install PyTorch#

Choose the variant that matches your hardware:

# CPU only (all platforms)
pip install torch==2.6.0 torchvision==0.21.0 \
    --extra-index-url https://download.pytorch.org/whl/cpu

# CUDA 11.8 (Linux / Windows)
pip install torch==2.6.0+cu118 torchvision==0.21.0+cu118 \
    --extra-index-url https://download.pytorch.org/whl/cu118

# CUDA 12.4 (Linux / Windows)
pip install torch==2.6.0+cu124 torchvision==0.21.0+cu124 \
    --extra-index-url https://download.pytorch.org/whl/cu124

Step 2 — Install panther-ml#

CPU wheel (PyPI — Linux, Windows, macOS)

pip install panther-ml

This installs the CPU wheel for your platform directly from PyPI.

CUDA wheels (GitHub Releases)

CUDA variants are attached to each GitHub Release as direct-download assets. Install the wheel for your platform and CUDA version:

# Linux x86_64, CUDA 12.4
pip install https://github.com/FahdSeddik/panther/releases/download/v0.1.3/panther_ml-0.1.3+cu124-cp312-cp312-manylinux_2_28_x86_64.whl

# Linux x86_64, CUDA 11.8
pip install https://github.com/FahdSeddik/panther/releases/download/v0.1.3/panther_ml-0.1.3+cu118-cp312-cp312-manylinux_2_28_x86_64.whl

# Windows x64, CUDA 12.4
pip install https://github.com/FahdSeddik/panther/releases/download/v0.1.3/panther_ml-0.1.3+cu124-cp312-cp312-win_amd64.whl

# macOS Apple Silicon (arm64), CPU
pip install https://github.com/FahdSeddik/panther/releases/download/v0.1.3/panther_ml-0.1.3+cpu-cp312-cp312-macosx_12_0_arm64.whl

Platform matrix

Platform

CPU

CUDA 11.8

CUDA 12.4

Linux x86_64

PyPI

GitHub Release

GitHub Release

Windows x64

PyPI

GitHub Release

macOS arm64

PyPI

Docker (Optional)#

A pre-built Docker image with all dependencies is available for GPU systems:

docker pull fahdseddik/panther-dev

Verify Installation#

import torch
import panther as pr

print(f"CUDA available: {torch.cuda.is_available()}")

A = torch.randn(100, 80)
Q, R, J = pr.linalg.cqrrpt(A)
print("Installation successful!")
print(f"Q: {Q.shape}, R: {R.shape}, J: {J.shape}")

Building from Source (Contributors)#

Use this path if you are contributing to panther-ml or need to modify the native backend.

Prerequisites: Poetry, a C++ compiler (GCC / MSVC / Clang), and optionally the CUDA Toolkit.

Linux

sudo apt-get update && sudo apt-get install -y libopenblas-dev liblapacke-dev

git clone https://github.com/FahdSeddik/panther.git && cd panther
poetry install

# Build native extension in-place (required for relative import)
cd pawX && python setup.py build_ext --inplace && cd ..

pip install -e .

Windows

git clone https://github.com/FahdSeddik/panther.git; cd panther
poetry install

cd pawX; python setup.py build_ext --inplace; cd ..

pip install -e .

macOS

brew install openblas

git clone https://github.com/FahdSeddik/panther.git && cd panther
poetry install

cd pawX && python setup.py build_ext --inplace && cd ..

pip install -e .

After building, verify the extension:

python -c "import torch; import pawX; t = pawX.scaled_sign_sketch(4, 4); print('OK:', t.shape)"

Common Issues#

“No module named ‘panther’”

Make sure the package is installed (editable mode for source builds):

pip install -e .

OpenBLAS not found (Linux)

sudo apt-get install libopenblas-dev liblapacke-dev

CUDA not found

nvcc --version   # Check CUDA Toolkit is installed and on PATH

Compilation errors on Windows

Ensure Visual Studio Build Tools with C++ workload are installed.

Uninstallation#

pip uninstall panther-ml