aioeventlet>=0.4  # Apache-2.0
alembic>=0.8.0  # MIT
amqp>=1.4.0,<2.0 # LGPL
anyjson>=0.3.3  # BSD
appdirs>=1.3.0  # MIT License
apscheduler # MIT License
argcomplete>=0.6.8  # Apache-2.0
astroid<1.4.0  # LGPL # breaks pylint 1.4.4
autobahn>=0.10.1  # MIT License
automaton>=0.5.0  # Apache-2.0
beautifulsoup4  # MIT
Babel>=1.3,!=2.3.0,!=2.3.1,!=2.3.2,!=2.3.3  # BSD
betamax>=0.5.1 # Apache-2.0
boto>=2.32.1  # MIT
botocore>=1.0.0 # Apache-2.0
cassandra-driver>=2.1.4 # Apache-2.0
castellan>=0.3.1 # Apache-2.0
ceilometermiddleware>=0.1.0  # Apache-2.0
cachetools>=1.0.0 # MIT License
cffi  # MIT
cliff!=1.16.0,!=1.17.0,>=1.15.0  # Apache-2.0
cmd2>=0.6.7  # MIT
PuLP>=1.0.4  # MIT
contextlib2>=0.4.0 # PSF License
croniter>=0.3.4 # MIT License
cryptography>=1.0,!=1.3.0  # BSD/Apache-2.0
dcos>=0.1.3 # Apache-2.0
ddt>=1.0.1  # MIT
debtcollector>=1.2.0  # Apache-2.0
decorator>=3.4.0  # BSD
dib-utils  # Apache-2.0
diskimage-builder>=1.1.2,!=1.6.0,!=1.7.0,!=1.7.1  # Apache-2.0
Django>=1.8,<1.9  # BSD
django-babel>=0.4.0  # BSD
django-bootstrap-form  # BSD
django_compressor>=2.0  # MIT
django-formtools  # BSD
django_openstack_auth>=2.0.0  # Apache-2.0
dnspython>=1.12.0,!=1.13.0;python_version<'3.0'  # http://www.dnspython.org/LICENSE
dnspython3>=1.12.0;python_version>='3.0'  # http://www.dnspython.org/LICENSE
dogpile.cache>=0.5.7  # BSD
elasticsearch>=1.3.0,<2.0  # Apache-2.0
enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3'  # BSD
# NOTE: New versions of eventlet should not be accepted lightly
# as they have earned a reputation of frequently breaking things.
eventlet!=0.18.3,>=0.18.2  # MIT
extras  # MIT
fairy-slipper>=0.1.0
falcon>=0.1.6  # Apache-2.0
Flask>=0.10,!=0.11,<1.0  # BSD
futures>=3.0;python_version=='2.7' or python_version=='2.6'  # BSD
futurist>=0.11.0  # Apache-2.0
funcsigs>=0.4;python_version=='2.7' or python_version=='2.6'  # Apache-2.0
gitdb>=0.6.4 # BSD License (3 clause)
# Note: Due to https://bugs.launchpad.net/glance-store/+bug/1556059 0.13.0
# isn't entrirely compatable with python-swiftclient 3.0.0.  This is fixed in
# 0.13.1.  Leaving 0.13.0 as the minimum supported as we don't want to bump
# the minimum
glance_store>=0.13.0            # Apache-2.0
gnocchiclient>=2.1.0  # Apache-2.0
google-api-python-client>=1.4.2        # Apache-2.0
graphviz>=0.4.0 # MIT License
greenlet>=0.3.2  # MIT
GitPython>=1.0.1 # BSD License (3 clause)
happybase>=0.5,!=0.7;python_version=='2.7'  # MIT
heat-translator>=0.4.0 # Apache-2.0
httplib2>=0.7.5  # MIT
influxdb>=2.2.0                       # MIT License
ironic-lib>=1.1.0  # Apache-2.0
ironic-discoverd>=1.0.0                # Apache-2.0
ipaddress>=1.0.7;python_version<'3.3'  # PSF
iso8601>=0.1.9  # MIT
Jinja2>=2.8  # BSD License (3 clause)
jsonpatch>=1.1  # BSD
jsonpath-rw>=1.2.0,<2.0  # Apache-2.0
jsonpath-rw-ext>=0.1.9  # Apache-2.0
jsonrpclib!=0.1.4  # Apache-2.0
jsonschema>=2.0.0,<3.0.0,!=2.5.0  # MIT
kazoo>=2.2  # Apache-2.0
keystoneauth1>=2.1.0  # Apache-2.0
keystonemiddleware>=4.0.0,!=4.1.0  # Apache-2.0
packaging>=15.2  # Apache-2.0
positional>=1.0.1 # Apache-2.0
pyScss>=1.3.4  # MIT License
django-pyscss>=2.0.2  # BSD License (2 clause)
kombu>=3.0.25,!=4.0.0,!=4.0.1  # BSD
ldap3>=0.9.8.2  # LGPLv3
libvirt-python>=1.2.5                   # LGPLv2+
lxml>=2.3  # BSD
Mako>=0.4.0  # MIT
monotonic>=0.6                          # Apache-2.0
msgpack-python>=0.4.0  # Apache-2.0
netaddr>=0.7.12,!=0.7.16  # BSD
netifaces>=0.10.4  # MIT
netmiko>=0.3.0 # MIT
networkx>=1.10  # BSD
neutron-lib>=0.0.1  # Apache-2.0
notifier>=1.0.3  # Apache-2.0
oauth2client>=1.5.0  # Apache-2.0
oauthlib>=0.6  # BSD
openstackdocstheme>=1.0.3  # Apache-2.0
ordereddict  # MIT
oslo.cache>=1.5.0  # Apache-2.0
oslo.config>=3.7.0  # Apache-2.0
oslo.concurrency>=3.7.1         # Apache-2.0
oslo.context>=0.2.0                     # Apache-2.0
oslo.db>=4.1.0  # Apache-2.0
oslo.i18n>=2.1.0  # Apache-2.0
oslo.log>=1.14.0  # Apache-2.0
# NOTE(mriedem): oslo.messaging 3.1.0 breaks Ironic
oslo.messaging>=4.0.0 # Apache-2.0
oslo.middleware>=3.0.0                  # Apache-2.0
oslo.policy>=0.5.0  # Apache-2.0
oslo.privsep>=1.3.0  # Apache-2.0
oslo.reports>=0.6.0  # Apache-2.0
oslo.rootwrap>=2.0.0  # Apache-2.0
oslo.serialization>=1.10.0              # Apache-2.0
oslo.service>=1.0.0                     # Apache-2.0
oslo.utils>=3.5.0                       # Apache-2.0
oslo.vmware>=1.16.0                     # Apache-2.0
oslo.versionedobjects>=1.5.0            # Apache-2.0
osprofiler>=1.1.0                       # Apache-2.0
os-apply-config  # Apache-2.0
os-brick>=1.0.0,!=1.4.0                 # Apache-2.0
os-client-config>=1.13.1  # Apache-2.0
os-cloud-config  # Apache-2.0
os-collect-config  # Apache-2.0
os-net-config  # Apache-2.0
os-refresh-config  # Apache-2.0
os-testr>=0.4.1  # Apache-2.0
overtest>=0.10.0  # Apache-2.0
ovs>=2.4.0;python_version=='2.7'        # Apache-2.0
os-win>=0.2.3                           # Apache-2.0
paramiko>=1.16.0  # LGPL
Parsley  # MIT
passlib>=1.6  # BSD
Paste  # MIT
PasteDeploy>=1.5.0  # MIT
pbr>=1.6  # Apache-2.0
pecan>=1.0.0  # BSD
pexpect>=3.1,!=3.3 # ISC License
pika>=0.10.0  # BSD
pika-pool>=0.1.3  # BSD
Pillow>=2.4.0  # PIL License
Pint>=0.5  # BSD
pip>=6.0  # MIT
posix_ipc  # BSD
PrettyTable>=0.7,<0.8  # BSD
psutil>=1.1.1,<2.0.0  # BSD
pyasn1  # BSD
pyasn1_modules  # BSD
pycadf>=1.1.0,!=2.0.0  # Apache-2.0
pycrypto>=2.6  # Public Domain
PyECLib>=1.2.0                          # BSD
pyghmi>=0.6.11  # Apache-2.0
pyinotify>=0.9.6;sys_platform!='win32' and sys_platform!='darwin' and sys_platform!='sunos5' # MIT
pykmip>=0.4.0  # Apache 2.0 License
pylxd>=0.19.0  # Apache-2.0
pymemcache>=1.2.9,!=1.3.0  # Apache 2.0 License
pymongo>=3.0.2,!=3.1  # Apache-2.0
PyMySQL>=0.6.2,!=0.7.7  # MIT License
voluptuous>=0.8.6  # BSD License

# NOTE(flaper87): This added 2 packages to `integration.sh`
# uuid-dev and swig
pyngus>=2.0.0  # Apache-2.0

pyOpenSSL>=0.14  # Apache-2.0
pyparsing>=2.0.1  # MIT
pyroute2>=0.3.10  # Apache-2.0 (+ dual licensed GPL2)
pysnmp>=4.2.3,<5.0.0  # BSD
pystache  # MIT

# NOTE(dims): pysaml 4.0.3 uses pycryptodome instead of pycrypto, for mitaka
# we cannot switch to pycryptodome as many projects are likely to break. So
# we should block versions higher then 4.0.2. Also, once all projects and
# dependencies like paramiko switch to pycryptodome, we should revisit this
# and fully switch over to pycryptodome and stop using pycrypto
pysaml2>=2.4.0,<4.0.3  # Apache-2.0

# OpenStack clients. None of these should have an upper bound
# as that has implications for testing in the gate.
aodhclient>=0.1.0  # Apache-2.0
python-barbicanclient>=3.3.0  # Apache-2.0
python-ceilometerclient>=2.2.1  # Apache-2.0
python-cinderclient>=1.3.1  # Apache-2.0
python-congressclient>=1.0.0,<2000  # Apache-2.0
python-designateclient>=1.5.0  # Apache-2.0
python-heatclient>=0.6.0  # Apache-2.0
python-glanceclient>=2.0.0  # Apache-2.0
python-ironic-inspector-client>=1.3.0  # Apache-2.0
python-ironicclient>=1.1.0  # Apache-2.0
python-keystoneclient>=1.6.0,!=1.8.0,!=2.1.0,<3.0.0  # Apache-2.0
python-magnumclient>=0.2.1  # Apache-2.0
python-manilaclient>=1.3.0  # Apache-2.0
python-mistralclient>=1.0.0  # Apache-2.0
python-muranoclient>=0.8.2  # Apache-2.0
python-neutronclient>=2.6.0,!=4.1.0  # Apache-2.0
python-novaclient>=2.29.0,!=2.33.0  # Apache-2.0
python-openstackclient>=2.1.0  # Apache-2.0
python-saharaclient>=0.13.0  # Apache-2.0
python-searchlightclient>=0.2.0 #Apache-2.0
python-senlinclient>=0.3.0  # Apache-2.0
python-solumclient>=1.2.7  # Apache-2.0
python-swiftclient>=2.2.0  # Apache-2.0
# NOTE(mriedem): a5234f0a0 in python-troveclient 2.1.0 is not backward compat
python-troveclient>=1.2.0,!=2.1.0  # Apache-2.0
python-zaqarclient>=0.3.0  # Apache-2.0

python-memcached>=1.56  # PSF
python-dateutil>=2.4.2  # BSD

# 2013.6 is the first version of pytz that is PEP 440 compatible.
pytz>=2013.6  # MIT
pyudev  # LGPLv2.1+
PyYAML>=3.1.0  # MIT
pywin32;sys_platform=='win32'  # PSF
qpid-python;python_version=='2.7'  # Apache-2.0
reno>=0.1.1  # Apache2
# NOTE(mriedem): requests 2.9.0 breaks IPv6 hostname parsing, see LP 1526413
requests>=2.8.1,!=2.9.0  # Apache-2.0
requests-aws>=0.1.4    # BSD License (3 clause)
requests-kerberos>=0.6;python_version=='2.7' or python_version=='2.6' # MIT
requestsexceptions>=1.1.1  # Apache-2.0
rfc3986>=0.2.0  # Apache-2.0
Routes>=1.12.3,!=2.0,!=2.1,!=2.3.0;python_version=='2.7'  # MIT
Routes>=1.12.3,!=2.0,!=2.3.0;python_version!='2.7'  # MIT
rtslib-fb>=2.1.41  # Apache-2.0
ryu>=3.30 # Apache-2.0
semantic_version>=2.3.1  # BSD
fasteners>=0.7  # Apache-2.0
simplejson>=2.2.0  # MIT
singledispatch>=3.4.0.3  # MIT
six>=1.9.0  # MIT
sockjs-tornado>=1.0.0,<2.0.0  # MIT
SQLAlchemy>=1.0.10,<1.1.0  # MIT
sqlalchemy-migrate>=0.9.6  # Apache-2.0
sqlalchemy-utils  # BSD License
stevedore>=1.5.0  # Apache-2.0
sysv_ipc>=0.6.8  # BSD License
suds-jurko>=0.6  # LGPL
taskflow>=1.26.0  # Apache-2.0
tempest-lib>=0.14.0  # Apache-2.0
tooz>=1.28.0 # Apache-2.0
tosca-parser>=0.4.0  # Apache-2.0
tripleo-common>=2.0.0,<3.0.0  # Apache-2.0
tripleo-image-elements  # Apache-2.0
urllib3>=1.8.3  # MIT
unicodecsv>=0.8.0  # BSD
warlock>=1.0.1,!=1.3.0,<2  # Apache-2.0
weakrefmethod;python_version=='2.7' or python_version=='2.6' # PSF
WebOb>=1.2.3  # MIT
websocket-client>=0.32.0 # LGPLv2+
websockify>=0.6.1  # LGPLv3
wheel  # MIT
PyMI>=1.0.0;sys_platform=='win32' # Apache 2.0 License
wmi;sys_platform=='win32'  # MIT
WSME>=0.8  # MIT
xattr>=0.4  # MIT
XenAPI>=1.2  # LGPL
XStatic>=1.0.0  # MIT License
XStatic-Angular>=1.3.7  # MIT License
XStatic-Angular-Bootstrap>=0.11.0.2  # MIT License
XStatic-Angular-Gettext>=2.1.0.2 # MIT License
XStatic-Angular-lrdragndrop>=1.0.2.2  # MIT License
XStatic-Bootstrap-Datepicker>=1.3.1.0  # Apache 2.0 License
XStatic-Bootstrap-SCSS>=3  # Apache 2.0 License
XStatic-bootswatch>=3.3.5.3 # MIT License
XStatic-D3>=3.1.6.2  # BSD License (3 clause)
XStatic-Font-Awesome>=4.3.0  # SIL OFL 1.1 License, MIT License
XStatic-Hogan>=2.0.0.2  # Apache 2.0 License
XStatic-Jasmine>=2.1.2.0  # MIT License
XStatic-jQuery>=1.7.2  # MIT License
XStatic-JQuery.Bootstrap.Wizard>=1.0.0.1  # MIT License
XStatic-JQuery-Migrate>=1.2.1.1  # MIT License
XStatic-JQuery.quicksearch>=2.0.3.1  # MIT License
XStatic-JQuery.TableSorter>=2.14.5.1  # MIT License
XStatic-jquery-ui>=1.10.1  # MIT License
XStatic-JSEncrypt>=2.0.0.2  # MIT License
XStatic-Magic-Search>=0.2.5.1  # Apache 2.0 License
XStatic-mdi==1.1.70.1 # SIL OPEN FONT LICENSE Version 1.1
XStatic-QUnit>=1.14.0.2  # MIT License
XStatic-Rickshaw>=1.5.0  # BSD License (prior)
XStatic-roboto-fontface>=0.4.3.2 # Apache 2.0 License
XStatic-smart-table>=1.4.5.3  # MIT License
XStatic-Spin>=1.2.5.2  # MIT License
XStatic-term.js>=0.0.4 # MIT License
XStatic-Angular-FileUpload>=1.4.0.1  # MIT License
yaql>=1.1.0  # Apache 2.0 License

# Testing tools below, which are typically in test-requires.txt

bandit>=0.17.3  # Apache-2.0
bashate>=0.2 # Apache-2.0
cliff-tablib>=1.0  # Apache-2.0
couchdb>=0.8 # Apache-2.0
coverage>=3.6  # Apache-2.0
demjson # GNU LGPL 3.0
docker-py>=1.6.0  # Apache-2.0
discover  # BSD
django-nose>=1.2  # BSD
doc8  # Apache-2.0
feedparser  # BSD
fixtures>=1.3.1,<2.0  # Apache-2.0/BSD
freezegun  # Apache-2.0
gabbi>=1.11.0  # Apache-2.0
hgtools  # MIT # dependency of pytest-runner that is only in setup_requires
kafka-python>=0.9.5,<1.0.0 # Apache-2.0
keyring>=5.5.1  # MIT/PSF
ldappool>=1.0;python_version=='2.7' # MPL
mimic>=2.0.0  # Apache-2.0
# Do not make mock conditional on Python version: we depend on newer code than
# in [most] releases of the Python std library.
mock>=1.2  # BSD
mox>=0.5.3  # Apache-2.0
mox3>=0.7.0  # Apache-2.0
MySQL-python;python_version=='2.7'  # GPL
nodeenv>=0.9.4 # BSD License  # BSD
nose  # LGPL
nose-exclude  # LGPL
nosehtmloutput>=0.0.3  # Apache-2.0
nosexcover  # BSD
openstack-doc-tools>=0.23,<1.0.0  # Apache-2.0
openstack.nose_plugin>=0.7  # Apache-2.0
openstacksdk>=0.8.1  # Apache-2.0
oslosphinx>=2.5.0,!=3.4.0  # Apache-2.0
oslotest>=1.10.0  # Apache-2.0
proboscis>=1.2.5.3  # Apache-2.0
psycopg2>=2.5  # LGPL/ZPL
pysendfile>=2.0.0  # MIT
pysqlite;python_version=='2.7'  # zlib/libpng
python-consul>=0.4.7  # MIT License
python-ldap>=2.4;python_version=='2.7'  # PSF
python-subunit>=0.0.18  # Apache-2.0/BSD
python-pytun>=2.2.1 # MIT
pyzmq>=14.3.1 # LGPL+BSD
redis>=2.10.0  # MIT
requests-mock>=0.7.0  # Apache-2.0
retrying>=1.2.3,!=1.3.0 # Apache-2.0
selenium>=2.50.1  # Apache-2.0
# While setuptools cannot deal with pre-installed incompatible versions,
# setting a lower bound is not harmful - it makes error messages cleaner. DO
# NOT set an upper bound on setuptools, as that will lead to uninstallable
# situations as progressive releases of projects are done.
# Blacklist setuptools 34.0.0-34.3.1 due to https://github.com/pypa/setuptools/issues/951
setuptools>=16.0,!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1  # PSF/ZPL
sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3  # BSD
sphinxcontrib-blockdiag  # BSD
sphinxcontrib-httpdomain  # BSD
sphinxcontrib-seqdiag  # BSD
sphinxcontrib-pecanwsme>=0.8  # Apache-2.0
testrepository>=0.0.18  # Apache-2.0/BSD
testresources>=0.2.4  # Apache-2.0/BSD
testscenarios>=0.4  # Apache-2.0/BSD
testtools>=1.4.0  # MIT
trollius>=1.0  # Apache-2.0
unittest2  # BSD
virtualenv  # MIT
wrapt>=1.7.0 # BSD License
WebTest>=2.0  # MIT
Werkzeug>=0.7  # BSD License
wsgi_intercept>=0.6.1 # MIT License
xvfbwrapper>=0.1.3 #license: MIT
zake>=0.1.6 # Apache-2.0

# Pinned requirements
#
# Some requirements, like linters need to be pinned, because they have
# terrible backwards compatibility stories. These requirements *must*
# only be updated during the first milestone window of a release,
# because they are way too disruptive beyond that. Ideally nothing
# beyond this list would ever use a ==
# Permit both 2.2.4 (required by hacking 0.10.x) and 2.4.1 (required by the
# next hacking release). Only these versions will be selected, because hacking
# specifies the concrete version to choose.
flake8>2.4.1,<2.6.0  # MIT
flake8_docstrings==0.2.1.post1  # MIT
hacking>=0.10.2,<0.11  # Apache-2.0
mccabe==0.2.1 # MIT License
pep257==0.7.0 # MIT License
pep8==1.5.7  # MIT
pyflakes==0.8.1  # MIT
pylint==1.4.5  # GNU GPL v2
