# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.

pbr>=2.0 # Apache-2.0

alembic>=1.4.2 # MIT
flask
cotyledon>=1.3.0 #Apache-2.0
futurist>=1.8.0 # Apache-2.0
gunicorn
oslo.db>=5.0.0
oslo.config>=8.1.0
oslo.log>=4.4.0 # Apache-2.0
oslo_versionedobjects
oslo.utils # Apache-2.0
openstacksdk>0.28.0
pymysql
parse
tooz # Apache-2.0
sherlock>=0.4.1 # MIT
kubernetes # Apache-2.0
