# Library dependencies for the python code.  You need to install these with
# `pip install -r requirements.txt` before you can run this.

#### ESSENTIAL LIBRARIES FOR MAIN FUNCTIONALITY ####

# In order to use allennlp you will also need to install pytorch. Currently, the version depends on
# your OS. We're including the linux version here so that our tests can run and docs can build
# correctly using cloud platforms.  Remove this line and visit http://pytorch.org/ for installation
# instructions if you are using an operating system other than linux.
http://download.pytorch.org/whl/cu80/torch-0.2.0.post3-cp35-cp35m-manylinux1_x86_64.whl

# Neural net and related libraries.
h5py
scikit-learn

# Parameter parsing.
pyhocon

# Type checking for python
typing

#### NICE-TO-HAVE LIBRARIES FOR MAIN CODE ####

# Adds an @overrides decorator for better documentation and error checking when using subclasses.
# TODO(mattg): once overrides has a new release (>1.8), change this line back to `overrides`
git+git://github.com/mkorpela/overrides.git@40f8bd1fae7a3364a1

# Used by some old code.  We moved away from it because it's too slow, but some old code still
# imports this.
nltk

# Mainly used for the faster tokenizer.
spacy

# Used by span prediction models.
numpy
matplotlib

# Training visualisation using tensorboard.
pillow # A dependency of tensorboard-pytorch which is not recorded.
tensorboard-pytorch

# aws commandline tools for running on Docker remotely.
awscli>=1.11.91

# REST interface for models
sanic==0.6.0

#### LIBRARIES USED IN SCRIPTS ####
# argument parsing in for data cleaning scripts
argparse

# Used to read the NewsQA CSV and output a clean one.
pandas==0.19.2

# progress bars in data cleaning scripts
tqdm

#### DOC-RELATED PACKAGES ####

# Builds our documentation.
sphinx==1.5.3

# Watches the documentation directory and rebuilds on changes.
sphinx-autobuild

# enables numpydoc formatting in sphinx
numpydoc

# doc theme
sphinx_rtd_theme

# Only used to convert our readme to reStructuredText on Pypi.
pypandoc

# Pypi uploads
twine

# Tutorial notebooks
jupyter
