# This file includes the minimal list of direct dependencies.
# requirements.txt includes all pinned direct and transitive dependencies.
# Only edit this file, not requirements.txt directly.
# After editing, run the following to pin the dependencies to particular
# versions:
#
#   pip freeze | xargs pip uninstall -y
#   pip install -r requirements.txt
#   pip install -r requirements-dev.txt
#   pip freeze | grep -v en-core-web-sm > requirements-freeze.txt
#
# Also update the versions in the manual installation steps in pre-commit.sh.
#
# Check that everything works because the versions might be upgraded.

# Common
zstandard~=0.18.0
tqdm~=4.64.1
pyhocon~=0.3.59
dacite~=1.6.0

# Proxy
aleph-alpha-client~=2.14.0
anthropic~=0.2.5
bottle~=0.12.23
gunicorn~=20.1.0
Mako~=1.2.3
# sqlitedict==2.0.0 is slow! https://github.com/RaRe-Technologies/sqlitedict/issues/152
# Keep the version at 1.7.0.
sqlitedict~=1.7.0
pymongo~=4.2.0
retrying~=1.3.3
websocket-client~=1.3.2 # For Anthropic (Legacy stanford-online-all-v4-s3)
openai~=0.27.0
tiktoken~=0.3.3
transformers~=4.28.1
tokenizers~=0.13.2
icetk~=0.0.4
protobuf~=3.20.2  # Can't use 4.21.0 due to backward incompatibility
google-api-python-client~=2.64.0
revChatGPT~=0.1.1

# Scenarios
datasets~=2.5.2  # For math scenarios
gdown~=4.4.0
jsonlines~=3.1.0  # Not really needed
sympy~=1.11.1  # For math scenarios
sentencepiece~=0.1.97
numba~=0.56.4
cattrs~=22.2.0
xlrd~=2.0.1  # Used by pandas.read_excel in ice_scenario

# Metrics
importlib-resources~=5.10.0
nltk~=3.7
scipy~=1.9.1
uncertainty-calibration~=0.1.3
rouge-score~=0.1.2
pyext~=0.7
pytrec_eval==0.5
sacrebleu~=2.2.1
# Work around https://github.com/p-lambda/verified_calibration/issues/11
# TODO: Remove after this issue is resolved
scikit-learn~=1.1.2
spacy~=3.2.4
summ-eval~=0.892
surge-api~=1.1.0
# End users should install a CUDA version of PyTorch manually if needed
torch~=1.12.1  # Summarization metrics
torchvision~=0.13.1

# plotting
colorcet~=3.0.1
matplotlib~=3.6.0
numpy~=1.23.3
seaborn~=0.11.0
