# -------------------------------------------------------------------
# Python packages used by pymodbus.
# -------------------------------------------------------------------
# This file installs all requirements used by pymodbus, and are
# intended for developers who have cloned the repository.
#
# pymodbus is only being tested on python version 3.8, 3.9 and 3.10
# depending on the usage profile it might work on other versions.
# python_version>=3.8

# -------------------------------------------------------------------
# Required packages.
# -------------------------------------------------------------------
# install:required


# -------------------------------------------------------------------
# optional packages.
# -------------------------------------------------------------------
# These packages are optional for the runtime, but demanded for
# document generation, development and test.
#
# these packages can be installed like:
#    pip install pymodbus[serial]

# install:repl
aiohttp>=3.8.1
typer[all]>=0.6.1
prompt-toolkit==3.0.8
pygments==2.12.0

# install:serial
pyserial>=3.5

# install:datastore
redis>=2.10.6
sqlalchemy>=1.1.15


# -------------------------------------------------------------------
# documentation, everything needed to generate documentation.
# -------------------------------------------------------------------
# install:documentation
humanfriendly
m2r2
recommonmark
Sphinx
sphinx-rtd-theme


# -------------------------------------------------------------------
# development, everything needed to develop/test/check.
# -------------------------------------------------------------------
# install:development]
bandit==1.7.4
black==22.10.0
codespell==2.2.2
coverage==6.5
flake8==5.0.4
flake8-docstrings==1.6.0
flake8-noqa==1.2.9
flake8-comprehensions==3.10.0
isort==5.10.1
pep8==1.7.1
pyflakes==2.5.0
pydocstyle==6.1.1
pycodestyle==2.9.1
pylint==2.15.4
pytest==7.1.3
pytest-asyncio==0.19.0
pytest-cov==4.0.0
pytest-timeout==2.1.0
pytest-xdist==3.1.0
