# 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 ####

# This installs Pytorch for CUDA 8 only. If you are using a newer version,
# please visit http://pytorch.org/ and install the relevant version.
torch==0.4.0

# Parameter parsing.
pyhocon==0.3.35

# Type checking for python
typing

# Adds an @overrides decorator for better documentation and error checking when using subclasses.
overrides

# 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>=2.0,<2.1

# Used by span prediction models.
numpy

# Used for reading configuration info out of numpy-style docstrings.
numpydoc==0.8.0

# Used in coreference resolution evaluation metrics.
scipy
scikit-learn

# Write logs for training visualisation with the Tensorboard application
# Install the Tensorboard application separately (part of tensorflow) to view them.
tensorboardX==1.2

# Required by torch.utils.ffi
cffi==1.11.2

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

# REST interface for models
flask==0.12.1
flask-cors==3.0.3
gevent==1.2.2

# Talk to postgres demo database
psycopg2-binary

# Used by semantic parsing code to strip diacritics from unicode strings.
unidecode

#### LIBRARIES USED IN SCRIPTS ####
# Used for downloading datasets over HTTP
requests>=2.18

# progress bars in data cleaning scripts
tqdm>=4.19

# In SQuAD eval script, we use this to see if we likely have some tokenization problem.
editdistance

# For pretrained model weights
h5py

# For timezone utilities
pytz==2017.3

#### ESSENTIAL TESTING-RELATED PACKAGES ####
# We'll use pytest to run our tests; this isn't really necessary to run the code, but it is to run
# the tests.  With this here, you can run the tests with `py.test` from the base directory.
pytest

# Allows marking tests as flaky, to be rerun if they fail
flaky

# Required to mock out `requests` calls
responses>=0.7

# Reads Universal Dependencies files.
conllu
