pyyaml>=6.0.3
pydantic>=2.12.5
pydantic-settings>=2.11.0
python-dotenv>=1.2.1
openai>=2.15.0
sentence-transformers>=5.1.2
torch>=2.8.0
qdrant-client>=1.16.1
requests>=2.32.5
aiohttp>=3.13.3
numpy>=2.0.2
regex>=2026.1.15
tiktoken>=0.12.0
prometheus-client>=0.24.1
structlog>=25.5.0
sqlalchemy>=2.0.45
alembic>=1.16.5
psycopg2-binary>=2.9.11
networkx>=3.2.1
fastapi>=0.128.0
uvicorn[standard]>=0.39.0
python-multipart>=0.0.20
jinja2>=3.1.5
redis>=7.0.1
tenacity>=9.1.2
click>=8.1.8

[all]
lacuna[chromadb,dev,langchain,llamaindex,milvus,plugins-all]

[chromadb]
chromadb>=1.4.1

[cloud-azure]
azure-ai-textanalytics>=5.3.0

[cloud-gcp]
google-cloud-dlp>=3.34.0

[dev]
pytest>=8.4.2
pytest-cov>=7.0.0
pytest-asyncio>=1.2.0
pytest-mock>=3.15.1
black>=25.11.0
ruff>=0.14.13
mypy>=1.19.1
pre-commit>=4.3.0
types-PyYAML>=6.0.0
types-requests>=2.31.0

[docs]
mkdocs>=1.6.1
mkdocs-material>=9.5.54
pymdown-extensions>=10.15

[langchain]
langchain>=0.3.27
langchain-community>=0.3.31

[llamaindex]
llama-index-core>=0.14.12

[milvus]
pymilvus>=2.6.6

[plugins-all]
lacuna[plugins-enterprise,plugins-finance,plugins-healthcare,plugins-individual]

[plugins-enterprise]
presidio-analyzer>=2.2.360
presidio-anonymizer>=2.2.360
spacy>=3.8.11
setfit>=1.1.3
opa-python-client>=2.0.3

[plugins-finance]
presidio-analyzer>=2.2.360
presidio-anonymizer>=2.2.360

[plugins-healthcare]
presidio-analyzer>=2.2.360
presidio-anonymizer>=2.2.360
spacy>=3.8.11
scispacy>=0.6.2

[plugins-individual]
presidio-analyzer>=2.2.360
presidio-anonymizer>=2.2.360
spacy>=3.8.11
setfit>=1.1.3
