setuptools>=68.1.0

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

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

[cache_fastapi]
fastapi<0.137.0,>=0.136.1
redis>=5.0.0

[cache_redis]
redis>=5.0.0

[custom_type_sqlalchemy]
sqlalchemy>=2.0.21

[custom_types]
sqlalchemy>=2.0.21

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

[fastapi_cache]
redis>=5.0.0
fastapi<0.137.0,>=0.136.1

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

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

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

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

[http_apis_cached]
requests-toolbelt<2.0.0,>=1.0.0
requests-cache>=1.3.1
requests>=2.31.0
requests-cache<2.0.0,>=1.3.2

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

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

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

[plugin_limit]
redis>=4.6.0

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

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

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

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

[redis_cache]
redis>=5.0.0

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

[sso]
authlib>=1.6.5
flask>=2.3.3
pyjwt>=2.8.0
flask-session>=0.5.0
