Installation#
Synora supports multiple installation methods depending on your use case.
From PyPI#
For stable releases:
# Core dependencies (torch, torchvision, torchaudio, gym, gymnasium, etc.)
pip install synora
# With specific extras
pip install synora[gym] # Additional gym environments (huggingface-hub, pygame, autorom)
pip install synora[ml-agents] # Unity ML-Agents support
pip install synora[ml] # TensorBoard, Weights & Biases, logging tools
pip install synora[viz] # FastAPI, Uvicorn, documentation tools
pip install synora[docs] # Sphinx and documentation tools
pip install synora[dev] # Testing and development tools (pytest, mypy, pre-commit)
# Install multiple extras
pip install synora[gym,ml-agents,dev]
Available Extras#
Extra |
Description |
|---|---|
|
Additional Gym environment dependencies (huggingface-hub, pygame, autorom) |
|
Unity ML-Agents support |
|
TensorBoard, Weights & Biases, and logging tools |
|
Latent-space visualization (opencv-python, umap-learn, scikit-learn, plotly) |
|
Sphinx and documentation building tools |
|
pytest, mypy, pre-commit for development |
Core Dependencies#
The minimal installation includes only: torch, torchvision, click, einops, tqdm, and pyyaml. Everything else — environment backends, logging, and visualization — comes from the extras above.
From Source#
For the latest development version:
git clone https://github.com/ParamThakkar123/synora.git
cd synora
# Core dependencies
pip install -e .
# With extras
pip install -e ".[gym,ml-agents,ml,viz,dev,docs]"
PyTorch Build Selection#
Synora does not pin a single PyTorch wheel index. Install the PyTorch build that matches your platform (CPU, macOS, CUDA, ROCm, etc.) using the index recommended by the PyTorch installation selector.
# Example: CUDA 12.1 wheels. Replace the index for CPU, ROCm, or other CUDA versions.
uv add torch torchvision torchaudio --index https://download.pytorch.org/whl/cu121
# Or using pip.
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Docker#
Build the default CPU image and run the Synora CLI:
# Build
docker build -t synora .
# Show the CLI help
docker run --rm synora
# Run a specific command
docker run --rm synora models list
The Dockerfile installs PyTorch explicitly before installing Synora so the wheel
source is controlled by the PYTORCH_INDEX_URL build argument. The default uses
CPU wheels. To build against a CUDA wheel index, pass the matching PyTorch index
and run the container with the NVIDIA runtime:
docker build \
--build-arg PYTORCH_INDEX_URL=https://download.pytorch.org/whl/cu121 \
-t synora:cu121 .
docker run --rm --gpus all synora:cu121 models list
Additional optional dependency groups can be installed at build time with
SYNORA_EXTRAS, for example --build-arg SYNORA_EXTRAS=viz,ml. Runtime data is
stored under /data/synora, which you can persist with a bind mount or volume.
Verification#
Verify your installation:
import torch
import synora
print(f"PyTorch: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
print("Synora imported successfully!")