# Data manipulation
numpy==1.21.6; python_version < "3.8"
numpy==1.23.2; python_version >= "3.8"
pandas==1.3.5; python_version < "3.8"
pandas==1.4.4; python_version >= "3.8"

# Models
tensorflow==2.9.2  # Issue with serialization of transfer learning models. Can't upgrade to 2.10.x so far.
scikit_learn==1.0.2; python_version < "3.8"
scikit_learn==1.1.2; python_version >= "3.8"

# Torch
# If GPU with cuda 11.1 : replace +cpu by +cu111
--find-links https://download.pytorch.org/whl/torch_stable.html
torch==1.8.1+cpu
torchvision==0.9.1+cpu

# Detectron2
# If GPU with cuda 11.1 : replace +cpu by +cu111
--find-links https://dl.fbaipublicfiles.com/detectron2/wheels/cpu/torch1.8/index.html
detectron2==0.6+cpu; platform_system != "Windows"
pillow==9.5.0 # TODO check if we can upgrade this version
# Warning, on windows, there are no pre-built for detectron2
# You must first install torch and then install detectron2 manually:
# pip install git+https://github.com/facebookresearch/detectron2.git@v0.6+cpu
# (you might need to update Visual Studio C++)

# Plots & cie
matplotlib==3.5.3
seaborn==0.12.0
opencv-python-headless==4.5.5.62

# Others
dill==0.3.5.1
# https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
protobuf==3.19.4  # Latest available version for tensorflow 2.10
mlflow==1.28.0
pycocotools==2.0.6
tqdm==4.64.1

# Optionnals - useless in prod.
pydot==1.4.1  # Needed to plot models architecture
lime==0.2.0.1  # Needed to get a model explanation

# Optionnals - streamlit POC
streamlit==1.12.2
altair==4.2.0

# Optionnals - code quality & cie
mypy==0.971
types-setuptools==65.3.0
flake8==5.0.4
black==21.4b2  # TO be updated with detectron
isort==5.10.1
nose==1.3.7
nose-exclude==0.5.0
coverage==6.4.4

# Optionnals - DVC{% if dvc_config_ok is false %}
# WARNING : you didn't set up a DVC config file when you generated the project. Hence this is useless and can be removed{% endif %}
dvc==1.10.1
pathspec==0.9.0  # TMP FIX. Issue with DVC and pathspec https://github.com/iterative/dvc/issues/8217
{% if additional_pip_packages is not none %}
{{additional_pip_packages}}
{% endif %}
