# Many of these packages are also specified in setup.py, and versions
# should be kept in sync. The list in setup.py is shorter, as it only
# includes packages needed for deployment.

python-gnupg==0.5.0    # Integration with gpg for key-cert objects
passlib==1.7.4         # Password hashing for CRYPT-PW and MD5-PW
bcrypt==4.0.1          # bcrypt support
IPy==1.01              # IP address parsing
ordered-set==4.1.0
beautifultable==0.8.0  # pyup: <1.0.0
PyYAML==6.0          # parsing YAML config files
datrie==0.8.2           # efficient route searching, used for RPKI
setproctitle==1.3.2   # updating the process title for useful ps output
python-daemon==2.3.2   # daemonising the main process
pid==3.0.4             # managing PID files
redis==4.5.1           # preloaded data storage & sync through redis
hiredis==2.2.2         # improved redis response parsing performance
coredis==4.10.2         # async redis
requests==2.31.0       # HTTP request handling
pytz==2022.7.1
ariadne==0.17.1
uvicorn==0.20.0        # ASGI server
uvicorn[standard]==0.20.0; python_version > '3.7'  # ASGI server extras
websockets==10.4; python_version < '3.8'  # serving websockets
starlette==0.20.4      # pyup: <0.21  # ariadne conflict
psutil==5.9.4          # Process management
asgiref==3.6.0         # ASGI utilities
pydantic==1.10.5        # Input validation
typing-extensions==4.5.0
py-radix-sr==1.0.0post1
cryptography==39.0.2  # Pinned to allow PyPy3.7 compat

# Database connections and management
psycopg2-binary==2.9.5; platform_python_implementation == "CPython"
psycopg2cffi==2.9.0; platform_python_implementation == "PyPy"
SQLAlchemy==1.3.24 # pyup: <1.4  #475
alembic==1.9.4
ujson==5.7.0

# Testing and related packages
pytest==7.2.1
pytest-cov==4.0.0
pytest-env==0.8.1
coverage==7.1.0
twisted==22.10.0    # Used for a mock email server in integration tests
python-graphql-client==0.4.3
pytest-asyncio==0.20.3
freezegun==1.2.2
pytest-freezegun==0.4.2
asyncmock==0.4.2; python_version < '3.8'

# Documentation generation
Sphinx==4.3.2  # pyup: <4.4  # importlib-metadata conflict with flake8
sphinxcontrib-spelling==7.7.0
sphinx-material==0.0.35

# Code style and type checks
mypy==1.0.0; platform_python_implementation == "CPython"
flake8==6.0.0; python_version >= '3.8'
pep8-naming==0.13.3

# Creating python packages
setuptools==67.3.2
wheel==0.38.4  # also require for installing, #488
twine==4.0.2
