setuptools>=68.1.0

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

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

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

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

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

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

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

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

[http_apis_cached]
requests-toolbelt<2.0.0,>=1.0.0
requests-cache>=1.3.1
requests>=2.31.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]
gunicorn>=21.2.0
netaddr>=1.3.0
ansicolors>=1.1.8
pygelf>=0.4.2
httpx[http2]>=0.27.0
dataclasses-json>=0.6.7
aiofiles<26.0.0,>=25.1.0

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

[plugin_geo_ip]
gunicorn>=21.2.0
aiohttp>=3.13.4
ansicolors>=1.1.8
pygelf>=0.4.2
httpx[http2]>=0.27.0
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_nexpose]
requests-toolbelt<2.0.0,>=1.0.0
requests-cache>=1.3.1
pygelf>=0.4.2
gunicorn>=21.2.0
dataclasses-json>=0.6.7
requests>=2.31.0
ansicolors>=1.1.8

[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
pygelf>=0.4.2
gunicorn>=21.2.0
dataclasses-json>=0.6.7
requests>=2.31.0
ansicolors>=1.1.8

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

[redis_cache]
redis>=5.0.0

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

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