anthropic>=0.79.0
boto3>=1.0
fastmcp>=3.2.0
fpdf2>=2.8.0
httpx>=0.27.0
jq>=1.7.0
openpyxl>=3.1.0
pandas>=2.0.0
pydantic>2.0.0
rossum-api>=3.13.1
rossum-mcp<3.0.0,>=2.1.2
xlrd>=2.0.1

[all]
alembic>=1.13.0
coverage>=7.0.0
defusedxml>=0.7.0
fastapi>=0.115.0
furo
gunicorn>=23.0.0
httpx>=0.27.0
myst-parser>=2.0.0
psycopg[binary]>=3.1.0
pydantic>2.0.0
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
python-multipart>=0.0.22
redis>=7.0.0
slack-sdk[optional]>=3.27.0
slowapi>=0.1.9
sphinx>=7.0.0
sphinx-autodoc-typehints>=1.25.0
sphinx-copybutton>=0.5.2
sqlalchemy[postgresql-psycopg]>=2.0.0
sse-starlette>=2.0.0
tqdm>=4.0.0
uvicorn>=0.32.0
uvicorn-worker>=0.3.0
wsproto>=1.2.0

[api]
alembic>=1.13.0
fastapi>=0.115.0
gunicorn>=23.0.0
psycopg[binary]>=3.1.0
python-multipart>=0.0.22
redis>=7.0.0
slowapi>=0.1.9
sqlalchemy[postgresql-psycopg]>=2.0.0
sse-starlette>=2.0.0
uvicorn>=0.32.0
uvicorn-worker>=0.3.0
wsproto>=1.2.0

[docs]
myst-parser>=2.0.0
sphinx>=7.0.0
sphinx-autodoc-typehints>=1.25.0
sphinx-copybutton>=0.5.2
furo

[scripts]
defusedxml>=0.7.0
tqdm>=4.0.0

[slack]
slack-sdk[optional]>=3.27.0

[tests]
alembic>=1.13.0
coverage>=7.0.0
httpx>=0.27.0
psycopg[binary]>=3.1.0
pytest>=7.0.0
pytest-asyncio>=0.21.0
pytest-cov>=4.0.0
slack-sdk[optional]>=3.27.0
sqlalchemy[postgresql-psycopg]>=2.0.0
redis>=7.0.0
