# To have reproducible builds, these dependencies should be pinned always.
# Prefer pinning to the same version as in setup.py for now.
# This will change in the future.
absl-py ~= 1.0.0
astunparse ~= 1.6.3
flatbuffers ~= 2.0
google_pasta ~= 0.2
h5py ~= 3.8.0  # Earliest version for Python 3.11
# TODO(b/262592253): Support older versions of NumPy for Python 3.10 and lower
# to support TFX. Remove when Apache Beam upgrades to newer NumPy.
numpy ~= 1.22.0; python_version < '3.11'
numpy ~= 1.23.2; python_version >= '3.11' # Earliest version for Python 3.11
opt_einsum ~= 3.3.0
protobuf ~= 3.20.3  # NOTE: Earliest version for Python 3.10
six ~= 1.16.0
termcolor ~= 2.1.1
typing_extensions ~= 3.10.0.0
wheel ~= 0.38.1
wrapt ~= 1.14.1

# We need to pin the gast dependency exactly
gast == 0.4.0

# Finally, install tensorboard and estimator and keras
# Note that here we want the latest version that matches TF major.minor version
# Note that we must use nightly here as these are used in nightly jobs
# For release jobs, we will pin these on the release branch
keras-nightly ~= 2.12.0.dev
tb-nightly ~= 2.12.0.a
tf-estimator-nightly ~= 2.12.0.dev

# Test dependencies
grpcio ~= 1.49.1 # Earliest version for Python 3.11
portpicker ~= 1.4.0
scipy ~= 1.7.2; python_version < '3.11'
scipy ~= 1.9.2; python_version >= '3.11' # Earliest version for Python 3.11

# This is usually vendored in setuptools but ensure it gets installed in CI anyway
# No bound here, we prefer the one in setuptools
packaging
