# 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 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
protobuf==3.12.4 --hash=sha256:3d59825cba9447e8f4fcacc1f3c892cafd28b964e152629b3f420a2fb5918b5a \
                 --hash=sha256:6009f3ebe761fad319b52199a49f1efa7a3729302947a78a3f5ea8e7e89e3ac2
