# The single source of truth for the OpenSpiel pip dependencies.
# It's preferable to:
# (a) have a set of possible versions for each package that is limited, to
#     reduce the set of valid configurations and reduce the probability that one
#     is failing.
# (b) be resilient to library changes. In particular, we do not want to bump to
#     the next major version of a library without knowing.
# (c) get the bug-fixes. However, it's dependent on each package versionning
#     scheme (e.g. it would be safe to upgrade the patch version in
#     [major].[minor].[patch] for https://semver.org/).
#
# Thus, prefer "==". If you do want (c), you can use the ~= construct.
# See https://www.python.org/dev/peps/pep-0440/#compatible-release
# We do pick the latest version for Tensorflow and Jax on purpose.
pip >= 20.0.2
absl-py == 0.9.0
tensorflow == 2.2.1
IPython == 5.8.0
tensorflow-probability < 0.8.0, >= 0.7.0
cvxopt == 1.2.5
networkx == 2.4
mock == 4.0.2
optax == 0.0.2
chex == 0.0.3
matplotlib == 3.2.2
nashpy == 0.0.19
scipy == 1.4.1
attrs == 19.3.0
jax == 0.2.7
jaxlib == 0.1.57
dm-haiku == 0.0.3
dataclasses == 0.7; python_version < "3.7"
hypothesis==5.38.0
torch==1.7.0
