# This is the pip requirements file for extensive
# PyInstaller testing.
#
# Example (assuming current dir is PyInstaller's top-level source dir)::
#
#   python -m pip install -r tests/requirements-libraries.txt  # extensive

# include requirements for base testing
-r requirements-tools.txt


# Needs work
# ----------
# These packages, if updated, produce test failures. Work needs to be done on
# these hooks. Any requirement in this list should be followed by the
# `# pyup: ignore <https://pyup.io/docs/bot/filter/>`_ comment.
#
# - v. 2.2 and above fails.
Django==2.1.8; python_version != '2.7'  # pyup: ignore
# - v 3.1.0 fails.
matplotlib==3.0.3; python_version != '2.7'  # pyup: ignore


# Working
# -------
# These packages work with no (known) issues.
babel==2.7.0
boto==2.49.0
boto3==1.10.7
botocore==1.13.7
future==0.18.2
h5py==2.10.0
markdown==3.1.1
pendulum==2.0.5
phonenumbers==8.10.22
Pillow==6.2.1
pinyin==0.4.0
pycparser==2.19
pycryptodome==3.9.0
pycryptodomex==3.9.0
pyexcelerate==0.8.0
pygments==2.4.2
python-dateutil==2.8.0
pytz==2019.3
pyusb==1.0.2
pyzmq==18.1.0
requests==2.22.0
# simplejson is used for text_c_extension
simplejson==3.16.0
# Required for test_namespace_package
sqlalchemy==1.3.10
Unidecode==1.1.1
zeep==3.4.0
zope.interface==4.6.0


# Special cases
# -------------
openpyxl==3.0.0; python_version > '3.5'

# Wheels are available only on OS X and Win 32. The only Windows 64-bit Python
# tests run are for Python 3.7, so exclude that. There's no way to simply
# exclude Windows 64 bit Python.
pyenchant==2.0.0; sys_platform == 'darwin' or (sys_platform == 'win32' and python_version <= '3.6')

# No wheel for Python 3.5 or higher.
PySide==1.2.4; sys_platform == 'win32' and python_version == '2.7'

# uvloop does not currently support Windows.
uvloop==0.13.0; python_version != '2.7' and sys_platform != 'win32'

# web3 current releases don't support Python 3.5.
web3==5.2.2; python_version > '3.5'


# Python 3 only
# -------------
gevent==1.4.0; python_version != '2.7'
ipython==7.9.0; python_version != '2.7'
keyring==19.2.0; python_version != '2.7'
numpy==1.17.3; python_version != '2.7'
pandas==0.25.3; python_version != '2.7'
pylint==2.4.3; python_version != '2.7'
# This does provide Mac and Linux wheels for Python 2.7. Given EOL coming soon,
# don't bother testing them.
PySide2==5.13.0; python_version != '2.7'
pyqt5==5.13.2; python_version != '2.7'
pyqtwebengine==5.12.1; python_version != '2.7'
scipy==1.3.1; python_version != '2.7'
sphinx==2.2.1; python_version != '2.7'
twisted==19.7.0; python_version == '2.7'
