← all repositories
snorkel-team/snorkel

Stanford's bet that training data beats better algorithms

Snorkel treats training-data creation as a programming problem: you write heuristic labeling functions and let statistics resolve the disagreements.

6k stars Python Data Tooling
snorkel
Not currently ranked — collecting fresh signals.
star history

What it does

Snorkel is a Python framework for programmatically building and managing training data. Instead of manually labeling thousands of examples, you write labeling functions—heuristics, patterns, or external resources—that vote on unlabeled data. The system combines these noisy signals mathematically to produce probabilistic training labels. Born at Stanford in 2015, it has since been deployed at Google, Intel, and Stanford Medicine.

The interesting bit

The project’s central bet is that training data quality matters more than model architecture or infrastructure. Snorkel treats labeling as a software engineering problem rather than a manual annotation problem, using statistical methods to resolve conflicts between imperfect labeling rules without requiring ground-truth labels for every example.

Key highlights

  • Over 60 peer-reviewed publications back its approaches to weak supervision, data augmentation, and multi-task learning
  • Repository topics also flag data slicing as a capability
  • Used in production systems and university courses; the README claims you’ve likely used systems backed by Snorkel “in the last few hours”
  • Open-source precursor to Snorkel Flow, the team’s current commercial platform
  • Requires Python 3.11 or later

Caveats

  • The core team has shifted focus to the commercial Snorkel Flow platform, so major new open-source development appears to be winding down
  • Windows support is explicitly limited; the maintainers recommend Docker or WSL

Verdict

Worth exploring if you need to bootstrap labels for large unlabeled datasets and can express your domain knowledge as code. Skip it if you’re looking for an actively maintained end-to-end platform—the team is now building that elsewhere.

Frequently asked

What is snorkel-team/snorkel?
Snorkel treats training-data creation as a programming problem: you write heuristic labeling functions and let statistics resolve the disagreements.
Is snorkel open source?
Yes — snorkel-team/snorkel is open source, released under the Apache-2.0 license.
What language is snorkel written in?
snorkel-team/snorkel is primarily written in Python.
How popular is snorkel?
snorkel-team/snorkel has 6k stars on GitHub.
Where can I find snorkel?
snorkel-team/snorkel is on GitHub at https://github.com/snorkel-team/snorkel.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.