snorkel-team/snorkel

A system for quickly generating training data with weak supervision

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 43 minutes ago
Added to GitGenius on September 11th, 2026
Created on February 26th, 2016
Open Issues & Pull Requests: 19 (+0)
GitHub issues: Enabled
Number of forks: 858
Total Stargazers: 6,006 (+0)
Total Subscribers: 162 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.8 hours
Mean response time: 40.4 days
90th percentile: 80.8 days
Tracked items: 2

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 77 days
Stale 30+ days: 1
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Q&A (1)
  • feature request (1)
  • no-stale (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Snorkel is a system for programmatically building and managing training data using weak supervision.

The core problem Snorkel addresses is that training data quality often determines machine learning project success more than model architecture or algorithms. Rather than manually labeling large datasets, Snorkel lets developers write labeling functions that programmatically generate noisy labels from multiple weak sources. The system then models the accuracy and dependencies of these labeling functions to produce clean training labels, enabling rapid iteration on data creation without requiring extensive hand-annotation.

Snorkel suits teams with domain expertise who want to encode that knowledge into labeling logic rather than spending time on manual annotation. It works well for projects where obtaining ground truth labels is expensive or time-consuming, and where developers can articulate heuristics or rules that capture labeling patterns. The approach is particularly valuable when you have multiple imperfect labeling sources that need to be combined intelligently. The README does not position the tool against specific alternatives, so no comparative claims can be made.

The project maintains active development with regular updates to its core functionality. Documentation is kept current and accessible. The codebase includes comprehensive test coverage. The tool is distributed through standard Python package channels, making installation straightforward for practitioners.