# -------------------------------------------------------------------
# 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

# install:serial
pyserial>=3.5
pyserial-asyncio==0.6

# 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.3.0
codespell==2.1.0
coverage==6.4
flake8==4.0.1
flake8-docstrings==1.6.0
flake8-noqa==1.2.2
flake8-comprehensions==3.10.0
isort==5.10.1
pep8==1.7.1
pyflakes==2.4.0
pydocstyle==6.1.1
pycodestyle==2.8.0
pylint==2.14.5
pytest==7.1.2
pytest-asyncio==0.18.3
pytest-cov==3.0.0
pytest-timeout==2.1.0
tox==3.25.0
