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.

Metadata

Release files for sleap-nn 0.3.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sleap-nn 0.3.4
File Size Uploaded Provenance
sleap_nn-0.3.4.tar.gz 27.4 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sleap-nn 0.3.4
File Interpreter ABI Platform
sleap_nn-0.3.4-py3-none-any.whl Python 3 none any Details

Total release size: 28.3 MB

Release files / sleap_nn-0.3.4.tar.gz

Download URL sleap_nn-0.3.4.tar.gz
Size 27.4 MB
Tags Source
SHA-256 checksum
How to use checksums
4827e81669f320a64a87318ad2bf72197908b95c92e38af2a6cb80af14b61235
BLAKE2b-256 checksum
How to use checksums
6957199c83635cec5c86006426ed880146ef147518565e73b382c407bd50695e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.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}

Release files / sleap_nn-0.3.4-py3-none-any.whl

Download URL sleap_nn-0.3.4-py3-none-any.whl
Size 977.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
848d74f83f63bc565a395ba2a55d6261d0102e024d16ad2052a6771a56a91c73
BLAKE2b-256 checksum
How to use checksums
93fb4236a9a86756ab538c7165f5086f33ae37ae4d44a3961c257d0ac7afc3b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.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}

Security for sleap-nn 0.3.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page