setuptools>=68.1.0

[all]
aiofiles<26.0.0,>=25.1.0
rfc3339>=6.2
aiohttp>=3.10.9
pymysql>=1.1.0
pyjwt>=2.8.0
flask-migrate>=4.0.5
flask>=2.3.3
flask-socketio>=5.3.6
authlib>=1.6.5
redis>=4.6.0
redis>=5.0.0
flask-sqlalchemy>=3.1.1
requests-toolbelt<2.0.0,>=1.0.0
pydantic>=2.11.7
sqlalchemy>=2.0.21
eswrap>=0.5.0
kafka-python>=2.0.2
pyopenssl>=23.2.0
werkzeug>=2.3.7
click==8.1.7
dataclasses-json>=0.6.7
ansicolors>=1.1.8
python-ldap>=3.4.3
tabulate==0.9.0
requests>=2.31.0
mysqlclient>=2.1.1
httpx[http2]>=0.27.0
elasticsearch>=8.7.0
gunicorn>=21.2.0
pygelf>=0.4.2
alembic==1.13.2
netaddr>=1.3.0

[auth]
pygelf>=0.4.2
click==8.1.7
gunicorn>=21.2.0
ansicolors>=1.1.8
python-ldap>=3.4.3

[cache_redis]
redis>=5.0.0

[custom_type_sqlalchemy]
sqlalchemy>=2.0.21

[custom_types]
sqlalchemy>=2.0.21

[datatables]
sqlalchemy>=2.0.21
eswrap>=0.5.0
flask-migrate>=4.0.5
flask>=2.3.3
elasticsearch>=8.7.0
kafka-python>=2.0.2
redis>=4.6.0
werkzeug>=2.3.7
alembic==1.13.2
flask-sqlalchemy>=3.1.1
dataclasses-json>=0.6.7
tabulate==0.9.0

[flask_managers]
pymysql>=1.1.0
mysqlclient>=2.1.1
flask-migrate>=4.0.5
flask>=2.3.3
flask-socketio>=5.3.6
gunicorn>=21.2.0
pyopenssl>=23.2.0
pygelf>=0.4.2
werkzeug>=2.3.7
flask-sqlalchemy>=3.1.1
ansicolors>=1.1.8

[flask_middleware]
pymysql>=1.1.0
mysqlclient>=2.1.1
flask-migrate>=4.0.5
flask>=2.3.3
flask-socketio>=5.3.6
gunicorn>=21.2.0
rfc3339>=6.2
pyopenssl>=23.2.0
pygelf>=0.4.2
werkzeug>=2.3.7
flask-sqlalchemy>=3.1.1
ansicolors>=1.1.8

[flask_plugins]
sqlalchemy>=2.0.21
eswrap>=0.5.0
flask-migrate>=4.0.5
flask>=2.3.3
elasticsearch>=8.7.0
kafka-python>=2.0.2
redis>=4.6.0
werkzeug>=2.3.7
alembic==1.13.2
flask-sqlalchemy>=3.1.1
dataclasses-json>=0.6.7
tabulate==0.9.0

[http_apis]
requests>=2.31.0
requests-toolbelt<2.0.0,>=1.0.0

[httpx_apis]
httpx[http2]>=0.27.0
aiofiles<26.0.0,>=25.1.0

[loggers]
gunicorn>=21.2.0
ansicolors>=1.1.8
pygelf>=0.4.2

[mysql]
pymysql>=1.1.0
mysqlclient>=2.1.1

[plugin_doh]
httpx[http2]>=0.27.0
pygelf>=0.4.2
ansicolors>=1.1.8
aiofiles<26.0.0,>=25.1.0
gunicorn>=21.2.0
dataclasses-json>=0.6.7
netaddr>=1.3.0

[plugin_fbf]
requests>=2.31.0
pygelf>=0.4.2
ansicolors>=1.1.8
gunicorn>=21.2.0
dataclasses-json>=0.6.7
requests-toolbelt<2.0.0,>=1.0.0

[plugin_geo_ip]
httpx[http2]>=0.27.0
pygelf>=0.4.2
ansicolors>=1.1.8
aiofiles<26.0.0,>=25.1.0
gunicorn>=21.2.0
aiohttp>=3.10.9

[plugin_limit]
redis>=4.6.0

[plugin_mailgun]
requests>=2.31.0
requests-toolbelt<2.0.0,>=1.0.0
pydantic>=2.11.7

[plugin_redis]
redis>=4.6.0

[plugin_sql_migrate]
sqlalchemy>=2.0.21
alembic==1.13.2
tabulate==0.9.0
dataclasses-json>=0.6.7

[plugin_whoisxml]
requests>=2.31.0
pygelf>=0.4.2
ansicolors>=1.1.8
gunicorn>=21.2.0
dataclasses-json>=0.6.7
requests-toolbelt<2.0.0,>=1.0.0

[plugins]
sqlalchemy>=2.0.21
aiofiles<26.0.0,>=25.1.0
dataclasses-json>=0.6.7
aiohttp>=3.10.9
ansicolors>=1.1.8
tabulate==0.9.0
httpx[http2]>=0.27.0
requests>=2.31.0
gunicorn>=21.2.0
redis>=4.6.0
pydantic>=2.11.7
pygelf>=0.4.2
alembic==1.13.2
netaddr>=1.3.0
requests-toolbelt<2.0.0,>=1.0.0

[redis_cache]
redis>=5.0.0

[sql_migrations]
pymysql>=1.1.0
mysqlclient>=2.1.1
pygelf>=0.4.2
flask-migrate>=4.0.5
flask>=2.3.3
flask-sqlalchemy>=3.1.1
ansicolors>=1.1.8
gunicorn>=21.2.0

[sso]
authlib>=1.6.5
flask>=2.3.3
pyjwt>=2.8.0
