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

# -------------------------------------------------------------------
# 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.3
typer[all]==0.7.0
prompt-toolkit==3.0.36
pygments==2.14.0
click>=8.0.0

# install:serial
pyserial>=3.5

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


# -------------------------------------------------------------------
# documentation, everything needed to generate documentation.
# -------------------------------------------------------------------
# install:documentation
recommonmark==0.7.1
Sphinx==5.3.0
sphinx-rtd-theme==1.1.1


# -------------------------------------------------------------------
# development, everything needed to develop/test/check.
# -------------------------------------------------------------------
# install:development
bandit==1.7.4
codespell==2.2.2
coverage==7.1.0
flake8==6.0.0
flake8-docstrings==1.7.0
flake8-noqa==1.3.0
flake8-comprehensions==3.10.1
mypy==1.0.1
pre-commit==3.1.1
pyflakes==3.0.1
pydocstyle==6.3.0
pycodestyle==2.10.0
pylint==2.15.10
pytest==7.2.1
pytest-asyncio==0.20.3
pytest-cov==4.0.0
pytest-timeout==2.1.0
pytest-xdist==3.1.0
types-redis
types-Pygments
types-pyserial
