# Library dependencies for Python code.  You need to install these with
# `pip install -r requirements.txt` or
# `conda install --file requirements.txt`
# to ensure that you can use all Snorkel code.
# NOTE: all essential packages must be placed under a section named
# '#### ESSENTIAL ...' so that the script `./scripts/check_requirements.py`
# can find them.

#### ESSENTIAL LIBRARIES

# General scientific computing
numpy>=1.24.0
scipy>=1.2.0

# Data storage and function application
pandas>=1.0.0
tqdm>=4.33.0

# Internal models
scikit-learn>=0.20.2
torch>=1.2.0
munkres>=1.0.6

# LF dependency learning
networkx>=2.2

# Model introspection tools
protobuf>=3.19.6
tensorboard>=2.13.0

#### EXTRA/TEST LIBRARIES

# spaCy (NLP)
spacy>=2.1.0
blis>=0.3.0

# Dask (parallelism)
dask[dataframe]>=2020.12.0
distributed>=2023.7.0

# Dill (serialization)
dill>=0.3.0

#### DEV TOOLS

black>=22.8
flake8>=3.7.0
importlib_metadata<5 # necessary for flake8
isort>=4.3.0
mypy>=0.760
pydocstyle>=4.0.0
pytest>=6.0.0
pytest-cov>=2.7.0
pytest-doctestplus>=0.3.0
tox>=3.13.0
