# Python 2 packages needed for dev_appserver.py. During deployment, these
# packages are built into App Engine and included by declaring them in app.yaml.
# https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27#local_development
# All packages must be at least 3 weeks old, crbug.com/1117193#c5
# For hash-checking mode, all nested dependencies must be included.

# For binary dependencies, we'll have to provide one for each platform. We're targeting:
# * Python: cp27m, but prefer cp27mu (CPython 2.7)
# * OS: macosx_10_* and manylinux*
# * Architecture: x86_64

mysqlclient==1.4.6 --hash=sha256:f3fdaa9a38752a3b214a6fe79d7cae3653731a53e577821f9187e67cbecb2e16

# Required by dev_appserver.py
enum34==1.1.6 --hash=sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79

# Required by gae.py and by dev_appserver.py
six==1.15.0 --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced

# Required by Flask==1.1.4
MarkupSafe==0.23 --hash=sha256:a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3

# Required by grpc-google-iam-v1 <-- google-cloud-tasks
# first sha is for cp27m-macosx_10_9_x86
# second sha is for cp27mu-manylinux2010_x86
# third sha is for cp27m-manylinux2010_x86
grpcio==1.31.0 --hash=sha256:e8c3264b0fd728aadf3f0324471843f65bd3b38872bdab2a477e31ffb685dd5b \
               --hash=sha256:92e54ab65e782f227e751c7555918afaba8d1229601687e89b80c2b65d2f6642 \
               --hash=sha256:58d7121f48cb94535a4cedcce32921d0d0a78563c7372a143dedeec196d1c637 \
               --hash=sha256:5043440c45c0a031f387e7f48527541c65d672005fb24cf18ef6857483557d39

# Required by google-cloud-tasks
# first sha is for cp27m-macosx_10_9_x86_64
# second sha is for cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64
protobuf==3.17.3 --hash=sha256:ab6bb0e270c6c58e7ff4345b3a803cc59dbee19ddf77a4719c5b635f1d547aa8 \
                 --hash=sha256:13ee7be3c2d9a5d2b42a1030976f760f28755fcf5863c55b1460fd205e6cd637
