Skip to main content

sleap-nn

CI codecov Release PyPI PyPI - Python Version

Neural network backend for training and inference for animal pose estimation.

This is the deep learning engine that powers SLEAP (Social LEAP Estimates Animal Poses), providing neural network architectures for multi-instance animal pose estimation and tracking. Built on PyTorch, SLEAP-NN offers an end-to-end training workflow, supporting multiple model types (Single Instance, Top-Down, Bottom-Up, Multi-Class), and seamless integration with SLEAP's GUI and command-line tools.

Need a quick start? Refer to our Quick Start guide in the docs.

Documentation

Documentation - Comprehensive guides and API reference

For development setup

  1. Clone the sleap-nn repo
git clone https://github.com/talmolab/sleap-nn.git
cd sleap-nn
  1. Install uv Install uv first - a fast Python package manager:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. Install sleap-nn dependencies based on your platform\

Python 3.14 is not yet supported

sleap-nn currently supports Python 3.11, 3.12, and 3.13. Python 3.14 is not yet tested or supported. By default, uv will use your system-installed Python. If you have Python 3.14 installed, you must specify the Python version (≤3.13) in the install command.

For example:

uv sync --python 3.13 ...

Replace ... with the rest of your install command as needed.

  • Install everything with a single command. uv sync creates a .venv (virtual environment) inside your current working directory. This environment is only active within that directory and can't be directly accessed from outside. To use installed packages, run commands with uv run (e.g., uv run sleap-nn train ... or uv run pytest ...).

    uv sync
    

    This installs the CUDA 13.0 GPU build on Windows/Linux (x86-64) and the Apple-MPS build on macOS automatically, and uv run keeps it. A GPU is not required — the CUDA wheel also runs on CPU.

    Want the smaller CPU-only wheel (CPU-only machines/CI, Linux aarch64) or a specific CUDA version? Add --no-group gpu, e.g. uv sync --no-group gpu --extra cpu or uv sync --no-group gpu --extra torch-cuda128.

  1. Run tests

    uv run pytest tests
    
  2. (Optional) Lint and format code

    uv run black --check sleap_nn tests
    uv run ruff check sleap_nn/
    

Upgrading All Dependencies To ensure you have the latest versions of all dependencies, use the --upgrade flag with uv sync:

uv sync --upgrade

This will upgrade all installed packages in your environment to the latest available versions compatible with your pyproject.toml.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sleap_nn-0.3.2.tar.gz (26.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sleap_nn-0.3.2-py3-none-any.whl (779.8 kB view details)

Uploaded Python 3

File details

Details for the file sleap_nn-0.3.2.tar.gz.

File metadata

  • Download URL: sleap_nn-0.3.2.tar.gz
  • Upload date:
  • Size: 26.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sleap_nn-0.3.2.tar.gz
Algorithm Hash digest
SHA256 aacb8a1ff9b09fc6e4b46eb87b6f9f5ba467b09bcf0f02f1a8c13fb95a0840e6
MD5 5a3ba814ad6ff8406e664abb19e89a9f
BLAKE2b-256 6f682c58c2fe240f6d7f753a8cb15aac637a31436c8de5a0ca6ce9c109a21aab

See more details on using hashes here.

File details

Details for the file sleap_nn-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: sleap_nn-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 779.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sleap_nn-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d9a124122f11e5fc498e576d01e0c1a00182b3e6eaae0cb0633c78ffdaaa517a
MD5 5f2d330cf5163a90a3a6d70f2d9a1562
BLAKE2b-256 ef99c695f6cb7a0da844a6f4af34fda258a02194f7e6c08c19a721bc5b22b3ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page