#4040th of 41 in Training and fine-tuning
snorkel
Python library for programmatic labeling of machine learning training data
Documentation ↗
(opens in a new tab)Website ↗
(opens in a new tab)Repository on GitHub ↗
(opens in a new tab)
- Stars
- 6k
- License
- Apache-2.0
- Last commit
- Apr 2026
- Last release
- Feb 2024
- Language
- Python
5,926 on 3 Apr 20266,026 on 30 Oct 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
Snorkel is a Python library for building and managing training data programmatically, using weak supervision instead of hand labeling. It started at Stanford in 2015 and installs with pip or conda. The team now focuses on the commercial Snorkel Flow platform, and the last release was 2024-02-27.
Who it is for: ML engineers and researchers labeling training data with weak supervision
Strengths
- Installs with pip or conda; requires Python 3.11 or later
- Apache-2.0 licensed, with docs and a separate tutorials repository
- Backed by over sixty peer-reviewed publications on weak supervision
- Tutorials cover several tasks, domains and labeling techniques
Weaknesses
- Team focus has moved to proprietary Snorkel Flow, not this library
- Last release was 2024-02-27
- Limited Windows testing; Docker or WSL recommended
What it needs
- Needs Python 3.11+
Quick answers
Is snorkel open source?
Yes. Its code is on GitHub under the Apache-2.0 license.
Also in Training and fine-tuning
See all 41| Rank | Project | Score |
|---|---|---|
| 1 | unslothDesktop and web app to run and fine-tune local models | 88 out of 100 |
| 2 | peftPython library for LoRA and other parameter-efficient fine-tuning of Transformers models | 86 out of 100 |
| 3 | deepspeedPyTorch library for distributed training of very large models with ZeRO | 85 out of 100 |
| #4 | verlReinforcement learning training library for LLM post-training with PPO and GRPO | 84 out of 100 |
| #5 | trlPost-training library with SFT, DPO, GRPO and KTO trainers | 83 out of 100 |