InstallationΒΆ

NumberLink provides a Python package (numberlink) and CLI (numberlink-cli).

  • Supported Python: 3.10+

3. PyPI (binary / sdist) installΒΆ

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
python -m pip install --upgrade pip
pip install numberlink
numberlink-cli --help

4. Source install with uvΒΆ

uv is a fast Python package manager and project manager that can replace pip, virtualenv, and other tools. It provides fast dependency resolution and environment management.

Setup stepsΒΆ

  1. Install UV: Follow the official UV installation guide.

  2. Clone repository:

    git clone https://github.com/misaghsoltani/NumberLink.git
    cd NumberLink
    
  3. Install the project:

    # uv will automatically create a virtual environment and install dependencies
    uv sync
    
    # Activate the environment
    source .venv/bin/activate  # Linux/macOS
    # Or on Windows: .venv\Scripts\activate
    
  4. Verify installation:

    uv run numberlink-cli --help
    # or after activation (source .venv/bin/activate)
    numberlink-cli --help
    

See uv’s documentation for more usage and features.

5. CondaΒΆ

Use the provided environment files:

# Default
conda env create -f environment.yml -n numberlink

# Development (adds lint/type tools)
conda env create -f environment_dev.yml -n numberlink_dev

This will install the required packages.

Activate the environment:

conda activate numberlink   # or: conda activate numberlink_dev

Or you can install from source within a Conda environment:

# Editable source install
uv pip install -e . # Using uv
# or
pip install -e . # Using pip

Verify InstallationΒΆ

Check installation:

For package:

python -m pip show numberlink || python -c "import numberlink\nprint(numberlink.__version__)"

For CLI:

numberlink-cli --help

Quick run:

numberlink-cli viewer

The viewer subcommand needs the human extra. Without it the command reports the missing module and the installation hint.

DependenciesΒΆ

Core Python dependencies (see pixi.toml (pixi.toml on GitHub) or pyproject.toml (pyproject.toml on GitHub)): gymnasium, numpy. The pygame dependency ships with the human extra, and the notebook widgets ship with the notebook extra.