Skip to content
A system for quickly generating training data with weak supervision
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update exempt stale label for issues to `no-stale` (#1511) Nov 18, 2019
docs Model baseline model imports to snorkel/labeling/model (#1535) Jan 20, 2020
figs Editing README Dec 6, 2018
scripts Faster symmetry breaking (#1502) Oct 30, 2019
snorkel Fix squeeze bug for length 1 array, and inconsistency on requirements… Jan 27, 2020
test Fix squeeze bug for length 1 array, and inconsistency on requirements… Jan 27, 2020
.codecov.yaml Bump coverage requirement (#1269) Aug 14, 2019
.coveragerc Remove the tutorials directory (#1335) Aug 14, 2019
.gitignore [EASY] Update badges on README (#1400) Aug 14, 2019
.readthedocs.yml Initial doc build (#1274) Aug 14, 2019
.travis.yml Remove redux references Aug 14, 2019 [BUMP]: v0.9.4+dev (#1510) Nov 12, 2019 Update (#1479) Oct 11, 2019
LICENSE Added license. Sep 6, 2016 tox setup (#1118) Aug 14, 2019 Add spectrum badge to README (#1519) Nov 21, 2019 Update (#1518) Dec 2, 2019
pyproject.toml [EASY] Fix .venv -> .env refactor (#1149) Aug 14, 2019
requirements-pyspark.txt Add SparkMapper (#1206) Aug 14, 2019
requirements.txt Fix squeeze bug for length 1 array, and inconsistency on requirements… Jan 27, 2020
setup.cfg Structure Slicing applier outputs as np.recarrays (#1406) Aug 15, 2019 Fix squeeze bug for length 1 array, and inconsistency on requirements… Jan 27, 2020
tox.ini Add doc sync to tox testenv:doc (#1536) Jan 20, 2020

PyPI - Python Version PyPI Conda build docs coverage license Join the community on Spectrum

Programmatically Build and Manage Training Data

Quick Links

Getting Started

The quickest way to familiarize yourself with the Snorkel library is to walk through the Get Started page on the Snorkel website, followed by the full-length tutorials in the Snorkel tutorials repository. These tutorials demonstrate a variety of tasks, domains, labeling techniques, and integrations that can serve as templates as you apply Snorkel to your own applications.


Snorkel requires Python 3.6 or later. To install Snorkel, we recommend using pip:

pip install snorkel

or conda:

conda install snorkel -c conda-forge

For information on installing from source and contributing to Snorkel, see our contributing guidelines.

Details on installing with conda

The following example commands give some more color on installing with conda. These commands assume that your conda installation is Python 3.6, and that you want to use a virtual environment called snorkel-env.

# [OPTIONAL] Activate a virtual environment called "snorkel"
conda create --yes -n snorkel-env python=3.6
conda activate snorkel-env

# We specify PyTorch here to ensure compatibility, but it may not be necessary.
conda install pytorch==1.1.0 -c pytorch
conda install snorkel==0.9.0 -c conda-forge

A quick note for Windows users

If you're using Windows, we highly recommend using Docker (you can find an example in our tutorials repo) or the Linux subsystem. We've done limited testing on Windows, so if you want to contribute instructions or improvements, feel free to open a PR!



We use GitHub Issues for posting bugs and feature requests — anything code-related. Just make sure you search for related issues first and use our Issues templates. We may ask for contributions if a prompt fix doesn't fit into the immediate roadmap of the core development team.


We welcome contributions from the Snorkel community! This is likely the fastest way to get a change you'd like to see into the library.

Small contributions can be made directly in a pull request (PR). If you would like to contribute a larger feature, we recommend first creating an issue with a proposed design for discussion. For ideas about what to work on, we've labeled specific issues as help wanted.

To set up a development environment for contributing back to Snorkel, see our contributing guidelines. All PRs must pass the continuous integration tests and receive approval from a member of the Snorkel development team before they will be merged.

Community Forum

For broader Q&A, discussions about using Snorkel, tutorial requests, etc., use the Snorkel community forum hosted on Spectrum. We hope this will be a venue for you to interact with other Snorkel users — please don't be shy about posting!


To stay up-to-date on Snorkel-related announcements (e.g. version releases, upcoming workshops), subscribe to the Snorkel mailing list. We promise to respect your inboxes — communication will be sparse!


Follow us on Twitter @SnorkelML.

You can’t perform that action at this time.