setuptools>=68.1.0

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

[auth]
gunicorn>=21.2.0
ansicolors>=1.1.8
click==8.1.7
pygelf>=0.4.2
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]
werkzeug>=2.3.7
tabulate==0.9.0
elasticsearch>=8.7.0
flask-migrate>=4.0.5
flask>=2.3.3
dataclasses-json>=0.6.7
redis>=4.6.0
eswrap>=0.5.0
sqlalchemy>=2.0.21
flask-sqlalchemy>=3.1.1
alembic==1.13.2
kafka-python>=2.0.2

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

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

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

[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
gunicorn>=21.2.0
ansicolors>=1.1.8
netaddr>=1.3.0
dataclasses-json>=0.6.7
pygelf>=0.4.2
aiofiles<26.0.0,>=25.1.0

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

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

[plugin_limit]
redis>=4.6.0

[plugin_mailgun]
requests-toolbelt<2.0.0,>=1.0.0
requests>=2.31.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-toolbelt<2.0.0,>=1.0.0
gunicorn>=21.2.0
requests>=2.31.0
ansicolors>=1.1.8
dataclasses-json>=0.6.7
pygelf>=0.4.2

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

[redis_cache]
redis>=5.0.0

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

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