# Requirements for running TF tests
# Temporarily pinning to nightly to make sure we have the newest feature
# in the TFLite to TOSA importer.
tf-nightly==2.16.0.dev20240124
keras>=2.7.0
Pillow>=9.2.0

# NOTE: 2022-05-27: protobuf 4.21.0, released on May 25, 2022 is incompatible
# with prior releases. Specifically implicated are the above versions of
# tensorflow, which seem to include it without a version pin and therefore
# break out of the box. The next time the above versions are upgraded,
# try removing this line and then, within the docker image, run:
#   python3 -c "import tensorflow"
# If that fails with a stack trace, put this line back.
# On behalf of Google, we are sorry for the live at head philosophy
# and shoddy version management leaking into everything. We're victims too.
protobuf>=3.20.3, <4
