#! Python3.7

urllib3<1.27,>=1.25.4           # Installing urllib3, the HTTP client for Python

Pandas                          # Installing Pandas, a data analysis / data manipulation tool
CoreMLTools                     # Installing CoreMLTools, for working with .mlmodel format models
OpenCV-Python                   # Installing OpenCV, the Open source Computer Vision library
Pillow<10.0.0                   # Installing Pillow, a Python Image Library
SciPy                           # Installing SciPy, a library for mathematics, science, and engineering
PyYAML                          # Installing PyYAML, a library for reading configuration files

# PyTorch-DirectML not working for this module
# torch-directml                # Installing the PyTorch DirectML plugin

# CPU specific Torch 1.13.0. Size ~830Mb
--extra-index-url https://download.pytorch.org/whl/cpu
torch==1.13.0+cpu               # Installing PyTorch, for Tensor computation and Deep neural networks
--extra-index-url https://download.pytorch.org/whl/cpu
torchvision==0.14.0+cpu         # Installing TorchVision, for Computer Vision based AI

# as per https://pytorch.org/get-started/locally/, this should install CPU versions
# (currently 2.0.1 on python 3.8+, 1.13.1 on Python 3.7). ~1.3GB for CPU, ~3.9GB for GPU
# torch                         # Installing PyTorch, for Tensor computation and Deep neural networks
# torchvision                   # Installing TorchVision, for Computer Vision based AI

# This requires torch 1.13. Unfortunately we can't get this working.
# torch-directml                # Installing the PyTorch DirectML plugin

yolov5==6.2.3	                # Installing Ultralytics YoloV5 package for object detection in images

# We need this, but we don't need this.
Seaborn                         # Installing Seaborn, a data visualization library based on matplotlib

CodeProject-AI-SDK              # Installing the CodeProject.AI SDK

# last line empty.

# In case you were morbidly curious:

# yolov5==6.2.3
#   - boto3 [required: >=1.19.1, installed: 1.26.132]
#     - botocore [required: >=1.29.132,<1.30.0, installed: 1.29.132]
#       - jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
#       - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
#         - six [required: >=1.5, installed: 1.16.0]
#       - urllib3 [required: >=1.25.4,<1.27, installed: 1.26.15]
#     - jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
#     - s3transfer [required: >=0.6.0,<0.7.0, installed: 0.6.1]
#       - botocore [required: >=1.12.36,<2.0a.0, installed: 1.29.132]
#         - jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
#         - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
#           - six [required: >=1.5, installed: 1.16.0]
#         - urllib3 [required: >=1.25.4,<1.27, installed: 1.26.15]
#   - fire [required: Any, installed: 0.5.0]
#     - six [required: Any, installed: 1.16.0]
#     - termcolor [required: Any, installed: 2.3.0]
#   - ipython [required: Any, installed: 7.34.0]
#     - backcall [required: Any, installed: 0.2.0]
#     - colorama [required: Any, installed: 0.4.6]
#     - decorator [required: Any, installed: 5.1.1]
#     - jedi [required: >=0.16, installed: 0.18.2]
#       - parso [required: >=0.8.0,<0.9.0, installed: 0.8.3]
#     - matplotlib-inline [required: Any, installed: 0.1.6]
#       - traitlets [required: Any, installed: 5.9.0]
#     - pickleshare [required: Any, installed: 0.7.5]
#     - prompt-toolkit [required: >=2.0.0,<3.1.0,!=3.0.1,!=3.0.0, installed: 3.0.38]
#       - wcwidth [required: Any, installed: 0.2.6]
#     - pygments [required: Any, installed: 2.15.1]
#     - setuptools [required: >=18.5, installed: 47.1.0]
#     - traitlets [required: >=4.2, installed: 5.9.0]
#   - matplotlib [required: >=3.2.2, installed: 3.5.3]
#     - cycler [required: >=0.10, installed: 0.11.0]
#     - fonttools [required: >=4.22.0, installed: 4.38.0]
#     - kiwisolver [required: >=1.0.1, installed: 1.4.4]
#       - typing-extensions [required: Any, installed: 4.5.0]
#     - numpy [required: >=1.17, installed: 1.21.6]
#     - packaging [required: >=20.0, installed: 23.1]
#     - pillow [required: >=6.2.0, installed: 9.5.0]
#     - pyparsing [required: >=2.2.1, installed: 3.0.9]
#     - python-dateutil [required: >=2.7, installed: 2.8.2]
#       - six [required: >=1.5, installed: 1.16.0]
#   - numpy [required: >=1.18.5, installed: 1.21.6]
#   - opencv-python [required: >=4.1.1, installed: 4.7.0.72]
#     - numpy [required: >=1.17.0, installed: 1.21.6]
#   - pandas [required: >=1.1.4, installed: 1.3.5]
#     - numpy [required: >=1.17.3, installed: 1.21.6]
#     - python-dateutil [required: >=2.7.3, installed: 2.8.2]
#       - six [required: >=1.5, installed: 1.16.0]
#     - pytz [required: >=2017.3, installed: 2023.3]
#   - Pillow [required: >=7.1.2, installed: 9.5.0]
#   - psutil [required: Any, installed: 5.9.5]
#   - PyYAML [required: >=5.3.1, installed: 6.0]
#   - requests [required: >=2.23.0, installed: 2.30.0]
#     - certifi [required: >=2017.4.17, installed: 2023.5.7]
#     - charset-normalizer [required: >=2,<4, installed: 2.1.1]
#     - idna [required: >=2.5,<4, installed: 3.4]
#     - urllib3 [required: >=1.21.1,<3, installed: 1.26.15]
#   - sahi [required: >=0.10.5, installed: 0.11.13]
#     - click [required: ==8.0.4, installed: 8.0.4]
#       - colorama [required: Any, installed: 0.4.6]
#       - importlib-metadata [required: Any, installed: 6.6.0]
#         - typing-extensions [required: >=3.6.4, installed: 4.5.0]
#         - zipp [required: >=0.5, installed: 3.15.0]
#     - fire [required: Any, installed: 0.5.0]
#       - six [required: Any, installed: 1.16.0]
#       - termcolor [required: Any, installed: 2.3.0]
#     - opencv-python [required: >=4.2.0.32, installed: 4.7.0.72]
#       - numpy [required: >=1.17.0, installed: 1.21.6]
#     - pillow [required: >=8.2.0, installed: 9.5.0]
#     - pybboxes [required: ==0.1.6, installed: 0.1.6]
#       - numpy [required: Any, installed: 1.21.6]
#     - pyyaml [required: Any, installed: 6.0]
#     - requests [required: Any, installed: 2.30.0]
#       - certifi [required: >=2017.4.17, installed: 2023.5.7]
#       - charset-normalizer [required: >=2,<4, installed: 2.1.1]
#       - idna [required: >=2.5,<4, installed: 3.4]
#       - urllib3 [required: >=1.21.1,<3, installed: 1.26.15]
#     - shapely [required: >=1.8.0, installed: 2.0.1]
#       - numpy [required: >=1.14, installed: 1.21.6]
#     - terminaltables [required: Any, installed: 3.1.10]
#     - tqdm [required: >=4.48.2, installed: 4.65.0]
#       - colorama [required: Any, installed: 0.4.6]
#   - scipy [required: >=1.4.1, installed: 1.7.3]
#     - numpy [required: >=1.16.5,<1.23.0, installed: 1.21.6]
#   - seaborn [required: >=0.11.0, installed: 0.12.2]
#     - matplotlib [required: >=3.1,!=3.6.1, installed: 3.5.3]
#       - cycler [required: >=0.10, installed: 0.11.0]
#       - fonttools [required: >=4.22.0, installed: 4.38.0]
#       - kiwisolver [required: >=1.0.1, installed: 1.4.4]
#         - typing-extensions [required: Any, installed: 4.5.0]
#       - numpy [required: >=1.17, installed: 1.21.6]
#       - packaging [required: >=20.0, installed: 23.1]
#       - pillow [required: >=6.2.0, installed: 9.5.0]
#       - pyparsing [required: >=2.2.1, installed: 3.0.9]
#       - python-dateutil [required: >=2.7, installed: 2.8.2]
#         - six [required: >=1.5, installed: 1.16.0]
#     - numpy [required: >=1.17,!=1.24.0, installed: 1.21.6]
#     - pandas [required: >=0.25, installed: 1.3.5]
#       - numpy [required: >=1.17.3, installed: 1.21.6]
#       - python-dateutil [required: >=2.7.3, installed: 2.8.2]
#         - six [required: >=1.5, installed: 1.16.0]
#       - pytz [required: >=2017.3, installed: 2023.3]
#     - typing-extensions [required: Any, installed: 4.5.0]
#   - tensorboard [required: >=2.4.1, installed: 2.11.2]
#     - absl-py [required: >=0.4, installed: 1.4.0]
#     - google-auth [required: >=1.6.3,<3, installed: 2.18.0]
#       - cachetools [required: >=2.0.0,<6.0, installed: 5.3.0]
#       - pyasn1-modules [required: >=0.2.1, installed: 0.3.0]
#         - pyasn1 [required: >=0.4.6,<0.6.0, installed: 0.5.0]
#       - rsa [required: >=3.1.4,<5, installed: 4.9]
#         - pyasn1 [required: >=0.1.3, installed: 0.5.0]
#       - six [required: >=1.9.0, installed: 1.16.0]
#       - urllib3 [required: <2.0, installed: 1.26.15]
#     - google-auth-oauthlib [required: >=0.4.1,<0.5, installed: 0.4.6]
#       - google-auth [required: >=1.0.0, installed: 2.18.0]
#         - cachetools [required: >=2.0.0,<6.0, installed: 5.3.0]
#         - pyasn1-modules [required: >=0.2.1, installed: 0.3.0]
#           - pyasn1 [required: >=0.4.6,<0.6.0, installed: 0.5.0]
#         - rsa [required: >=3.1.4,<5, installed: 4.9]
#           - pyasn1 [required: >=0.1.3, installed: 0.5.0]
#         - six [required: >=1.9.0, installed: 1.16.0]
#         - urllib3 [required: <2.0, installed: 1.26.15]
#       - requests-oauthlib [required: >=0.7.0, installed: 1.3.1]
#         - oauthlib [required: >=3.0.0, installed: 3.2.2]
#         - requests [required: >=2.0.0, installed: 2.30.0]
#           - certifi [required: >=2017.4.17, installed: 2023.5.7]
#           - charset-normalizer [required: >=2,<4, installed: 2.1.1]
#           - idna [required: >=2.5,<4, installed: 3.4]
#           - urllib3 [required: >=1.21.1,<3, installed: 1.26.15]
#     - grpcio [required: >=1.24.3, installed: 1.54.0]
#     - markdown [required: >=2.6.8, installed: 3.4.3]
#       - importlib-metadata [required: >=4.4, installed: 6.6.0]
#         - typing-extensions [required: >=3.6.4, installed: 4.5.0]
#         - zipp [required: >=0.5, installed: 3.15.0]
#     - numpy [required: >=1.12.0, installed: 1.21.6]
#     - protobuf [required: >=3.9.2,<4, installed: 3.20.3]
#     - requests [required: >=2.21.0,<3, installed: 2.30.0]
#       - certifi [required: >=2017.4.17, installed: 2023.5.7]
#       - charset-normalizer [required: >=2,<4, installed: 2.1.1]
#       - idna [required: >=2.5,<4, installed: 3.4]
#       - urllib3 [required: >=1.21.1,<3, installed: 1.26.15]
#     - setuptools [required: >=41.0.0, installed: 47.1.0]
#     - tensorboard-data-server [required: >=0.6.0,<0.7.0, installed: 0.6.1]
#     - tensorboard-plugin-wit [required: >=1.6.0, installed: 1.8.1]
#     - werkzeug [required: >=1.0.1, installed: 2.2.3]
#       - MarkupSafe [required: >=2.1.1, installed: 2.1.2]
#     - wheel [required: >=0.26, installed: 0.40.0]
#   - thop [required: >=0.1.1, installed: 0.1.1.post2209072238]
#     - torch [required: Any, installed: 1.13.1]
#       - typing-extensions [required: Any, installed: 4.5.0]
#   - torch [required: >=1.7.0, installed: 1.13.1]
#     - typing-extensions [required: Any, installed: 4.5.0]
#   - torchvision [required: >=0.8.1, installed: 0.14.1]
#     - numpy [required: Any, installed: 1.21.6]
#     - pillow [required: >=5.3.0,!=8.3.*, installed: 9.5.0]
#     - requests [required: Any, installed: 2.30.0]
#       - certifi [required: >=2017.4.17, installed: 2023.5.7]
#       - charset-normalizer [required: >=2,<4, installed: 2.1.1]
#       - idna [required: >=2.5,<4, installed: 3.4]
#       - urllib3 [required: >=1.21.1,<3, installed: 1.26.15]
#     - torch [required: ==1.13.1, installed: 1.13.1]
#       - typing-extensions [required: Any, installed: 4.5.0]
#     - typing-extensions [required: Any, installed: 4.5.0]
#   - tqdm [required: >=4.64.0, installed: 4.65.0]
#     - colorama [required: Any, installed: 0.4.6]