SLEAP labels first, then trains on a single GPU
A deep learning framework for multi-animal pose tracking.
At a glance
- What is it?
- SLEAP is a BSD-licensed deep learning framework for tracking any type or number of animals, built around a human-in-the-loop labeling GUI and two versioned backends, sleap-nn for training and inference and sleap-io for files, with the install path pinned below Python 3.14 because uv picks your system interpreter by default.
- Who is it for?
- SLEAP fits a neuroscience group that needs per-animal pose estimates with a labeling interface attached, rather than a general keypoint detector and a separate labeling tool. It does not fit anyone who needs Python 3.14 support today, since the package declares a range that stops below it.
- Can I use it commercially?
- Yes. BSD-3-Clause-Clear is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 11 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 11, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Social LEAP Estimates Animal Poses
The name expands to Social LEAP Estimates Animal Poses, and the expansion describes the lineage as much as the tool. SLEAP is the successor to LEAP, the single-animal pose estimation software that came first in 2019, and the current system is described in a 2022 Nature Methods paper, Sleap: A deep learning system for multi-animal pose tracking.
What changed between the two is scope. LEAP handled one animal; SLEAP tracks any type or number of animals, in either single-animal or multi-animal mode. For a behavioural study with a subject and an interacting partner, that is the difference between running the analysis twice and running it once.
The framework is Python, published under a BSD licence, with the package description following the same expansion. Its stated audience is research: the project classifiers mark it for science and research, with artificial intelligence and image processing as topics, and it is maintained by a named group of people rather than a company.
Top-down or bottom-up, and how many animals
The pose estimation side supports both single-animal and multi-animal training, and within each of those there is a choice of strategy: top-down, where animals are found first and each is then posed, and bottom-up, where joints are found across the frame and assembled.
That choice is the main architectural decision a user makes, and the framework presents it as a supported pair rather than a preference with one blessed answer. It follows from the shape of the data: a video of a single isolated animal is the easy case for either strategy, and a crowded scene of interacting animals is where they diverge.
On top of the strategy sits the network itself. The architectures are described as customizable, and the claim attached to that is specific: accurate predictions with very few labels. Combined with the labeling GUI, that is the argument for the whole workflow: the expensive part of pose tracking is usually the annotation, and the framework is built to spend as little of it as possible.
15 to 60 minutes of training, 600 FPS at inference
The performance figures are stated for a typical dataset rather than a benchmark table, and they are worth reading as order-of-magnitude targets.
Training is quoted at 15 to 60 minutes on a single GPU for a typical dataset. Inference is quoted two ways: up to 600 frames or more per second for batch processing, and under 10 milliseconds of latency for realtime use. The two numbers answer different questions, and which one matters depends on whether you are processing a recording after the fact or making decisions inside it.
There is a third path for people without a GPU at all. Remote training and inference are supported as a workflow, which is what makes the framework usable from a laptop or a shared cluster where the hardware lives elsewhere. That option sits alongside a flexible developer API, described as the route for building integrated applications rather than running the GUI.
The labeling GUI is the product, not the training script
The feature list leads with a purpose-built GUI and a human-in-the-loop workflow for rapidly labeling large datasets, and that is the design centre of the project.
Human-in-the-loop here means the loop is a documented part of the workflow rather than an afterthought: you label, train, look at the failures, fix them, and repeat. For pose tracking that loop is where most of the accuracy comes from, because a landmark defined consistently across frames is what makes a track usable downstream, and models are the thing that finds instances you have not labelled yet.
The GUI is not a thin wrapper around a command line. It ships with the package and starts with a single command after installation, and the toolkit around it is substantial: PySide6 and qtpy for the interface, scikit-image and OpenCV for the image work, pandas and numpy for the data, and rich-click for the command line side.
Two independent backends sit underneath. sleap-nn handles training and inference pipelines, while sleap-io handles SLEAP files themselves, and the two are versioned and maintained separately.
uv will use your system Python, and 3.14 is out of range
The install instructions lead with a warning about the interpreter rather than about the package. SLEAP supports Python 3.11, 3.12 and 3.13, and Python 3.14 is described as neither tested nor supported. The package metadata encodes the same limit as a version range that stops below 3.14.
The trap is that uv uses your system-installed Python by default. If you have 3.14 installed, a plain install will pick it and fail, so the version has to be named explicitly in the command, as in the example that passes a 3.13 interpreter.
The wheel index is chosen per machine. On Windows and Linux with a CUDA 12.8 GPU the install points at the CUDA wheel index, and on macOS or a CPU-only machine it points at the CPU index:
uv tool install "sleap[nn]" --index https://download.pytorch.org/whl/cu128 --index https://pypi.org/simpleThe nn extra is what pulls in the neural network backend. After installation, the GUI starts with a single command:
sleapsleap-nn and sleap-io are pinned apart from the framework
The split into two backends is visible in the dependency pins, and it is the part of the packaging that will affect you when a version conflicts.
The core package depends on sleap-io with a floor and a ceiling, currently from 0.9.2 up to but not including 0.10.0, while the nn extra pulls sleap-nn with its own tighter range, from 0.3.3 up to but not including 0.4.0, together with the torch extra. The framework itself is on the 1.6 line, with 1.6.3, 1.6.4 and 1.6.5 released between May and August 2026, so the backends move on their own schedule.
The rest of the dependency list tells you what the framework is made of: omegaconf for configuration, pyzmq for messaging between processes, imageio and imageio-ffmpeg for video, jsonpickle and rapidjson for serialisation, networkx for graph work, matplotlib and seaborn for plotting, psutil for resource monitoring, and rich for terminal output.
The package is built with setuptools and setuptools-scm, and the version is read from the source tree rather than hard-coded, which is why the distribution reports a release line that matches the GitHub releases.
Created at Princeton, maintained at Salk
The project has moved institutions once, and the documentation is explicit about it. SLEAP was created in the Murthy and Shaevitz labs at the Princeton Neuroscience Institute at Princeton University, and it is currently developed and maintained in the Talmo Lab at the Salk Institute for Biological Studies.
The maintainer list is six people, all at Salk: Divya Murali, Amick Licup, Elizabeth Berrigan, Andrew Park, Tom Han and Talmo Pereira, who is also the corresponding author on the Nature Methods paper and the contact address for general inquiries. The contributors list adds people from both institutions, including Liezl Maree and Arlo Sheridan at Salk and Arie Matsliah, Nat Tabris and David Turner from Princeton.
Development happens on a develop branch rather than on main, which is why the branch name is worth knowing if you are following the repository. The last push was on September 30, 2026, and the most recent release is v1.6.5 from August 11, 2026. The repository carries a codecov configuration, a hooks directory, a mkdocs site definition and a tests directory, and the docs site is where the tutorial, guides and notebooks live.
Editorial conclusion
SLEAP fits a neuroscience group that needs per-animal pose estimates with a labeling interface attached, rather than a general keypoint detector and a separate labeling tool. It does not fit anyone who needs Python 3.14 support today, since the package declares a range that stops below it. Before you install, read the version note carefully, because uv will otherwise use your system interpreter, and pick the right wheel index for your machine: the CUDA 12.8 index for Windows and Linux with a GPU, the CPU index for macOS or a machine without one.
Frequently asked questions
What does SLEAP stand for?
Social LEAP Estimates Animal Poses. SLEAP is the successor to LEAP, the earlier single-animal pose estimation software, and tracks any type or number of animals rather than one.
How do I install sleap?
SLEAP is a Python package and the project strongly recommends installing it with uv in its own environment. On Windows or Linux with a CUDA 12.8 GPU you install the nn extra against the CUDA wheel index, and on macOS or CPU-only machines against the CPU index. Start the GUI afterwards with the sleap command.
Who developed Sleap?
SLEAP was created in the Murthy and Shaevitz labs at the Princeton Neuroscience Institute at Princeton University. It is now developed and maintained in the Talmo Lab at the Salk Institute for Biological Studies, with six named maintainers there.
What is the SLEAP Nature method?
It refers to the paper Sleap: A deep learning system for multi-animal pose tracking by Pereira and colleagues, published in Nature Methods, volume 19 issue 4, 2022. The project asks that it be cited when SLEAP is used in research.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/talmolab-sleap)