motor<4.0.0,>=3.0.0
pymongo<5.0.0,>=4.0.0
fastapi<1.0.0,>=0.100.0
pydantic<3.0.0,>=2.0.0
pyjwt>=2.8.0
jsonschema>=4.0.0
bcrypt>=4.0.0
cryptography>=41.0.0
casbin>=1.0.0
casbin-motor-adapter>=0.1.0

[ai]
openai<3.0.0,>=1.0.0
google-genai>=1.0.0
voyageai>=0.3.0
semantic-text-splitter>=0.9.0

[all]
openai<3.0.0,>=1.0.0
google-genai>=1.0.0
voyageai>=0.3.0
semantic-text-splitter>=0.9.0
casbin>=1.0.0
casbin-motor-adapter>=0.1.0
oso-cloud>=0.1.0
authlib>=1.3.0
httpx>=0.27.0
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0
opentelemetry-instrumentation-fastapi>=0.41b0
opentelemetry-instrumentation-pymongo>=0.41b0
brotli-asgi>=1.0.0
rjsmin>=1.2.0
csscompressor>=0.9.0
mistune>=3.0.0
nh3>=0.2.0

[casbin]

[dev]
ruff<0.6.0,>=0.4.0
semgrep>=1.50.0
mypy>=1.10.0
bandit>=1.7.0
pip-audit>=2.6.0

[docs]
mkdocs>=1.6.0
mkdocs-material>=9.5.0
mkdocstrings[python]>=0.25.0

[markdown]
mistune>=3.0.0
nh3>=0.2.0

[oauth]
authlib>=1.3.0
httpx>=0.27.0

[og-image]
Pillow>=10.0.0

[osi]
pyyaml>=6.0.0
jinja2>=3.1.0

[oso]
oso-cloud>=0.1.0

[otel]
opentelemetry-api>=1.20.0
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp>=1.20.0
opentelemetry-instrumentation-fastapi>=0.41b0
opentelemetry-instrumentation-pymongo>=0.41b0

[perf]
brotli-asgi>=1.0.0
rjsmin>=1.2.0
csscompressor>=0.9.0

[test]
pytest>=7.4.0
pytest-asyncio>=0.21.0
pytest-cov>=4.1.0
pytest-mock>=3.11.0
pytest-timeout>=2.1.0
pytest-xdist>=3.3.0
testcontainers>=3.7.0
nest-asyncio>=1.5.0
python-dateutil>=2.8.2
pyyaml>=6.0.0

[tokens]
tiktoken>=0.5.0
