[tool.poetry]
name = "cognee"
version = "0.1.16"
description = "Cognee - is a library for enriching LLM context with a semantic layer for better understanding and reasoning."
authors = ["Vasilije Markovic", "Boris Arzentar"]
readme = "README.md"
license = "Apache-2.0"
homepage = "https://www.cognee.ai"
repository = "https://github.com/topoteretes/cognee"
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Topic :: Software Development :: Libraries",
    "Operating System :: MacOS :: MacOS X",
    "Operating System :: POSIX :: Linux",
    "Operating System :: Microsoft :: Windows"
]

[tool.poetry.dependencies]
python = ">=3.9.0,<3.12"
openai = "1.27.0"
pydantic = "2.8.2"
python-dotenv = "1.0.1"
fastapi = "^0.109.2"
uvicorn = "0.22.0"
boto3 = "^1.26.125"
gunicorn = "^20.1.0"
sqlalchemy = "2.0.21"
instructor = "1.3.5"
networkx = "^3.2.1"
debugpy = "1.8.2"
pyarrow = "15.0.0"
pylint = "^3.0.3"
aiosqlite = "^0.20.0"
pandas = "2.0.3"
greenlet = "^3.0.3"
ruff = "^0.2.2"
filetype = "^1.2.0"
nltk = "^3.8.1"
dlt = {extras = ["sqlalchemy"], version = "^1.0.0"}
overrides = "^7.7.0"
aiofiles = "^23.2.1"
qdrant-client = "^1.9.0"
graphistry = "^0.33.5"
tenacity = "^8.2.3"
weaviate-client = "4.6.7"
scikit-learn = "^1.5.0"
fastembed = "0.2.7"
pypdf = "^4.1.0"
neo4j = "^5.20.0"
jinja2 = "^3.1.3"
matplotlib = "^3.8.3"
structlog = "^24.1.0"
tiktoken = "0.7.0"
posthog = "^3.5.0"
lancedb = "0.8.0"
litellm = "1.38.10"
groq = "0.8.0"
tantivy = "^0.22.0"
tokenizers ="0.15.2"
transformers ="4.39.0"
python-multipart = "^0.0.9"
langfuse = "^2.32.0"
protobuf = "<5.0.0"
pydantic-settings = "^2.2.1"
anthropic = "^0.26.1"
pdfplumber = "^0.11.1"
sentry-sdk = {extras = ["fastapi"], version = "^2.9.0"}
fastapi-users = { version = "*", extras = ["sqlalchemy"] }
asyncpg = "^0.29.0"



[tool.poetry.extras]
filesystem = ["s3fs", "botocore"]
cli = ["pipdeptree", "cron-descriptor"]
weaviate = ["weaviate-client"]
qdrant = ["qdrant-client"]
neo4j = ["neo4j"]
notebook = ["ipykernel", "overrides", "ipywidgets", "jupyterlab", "jupyterlab_widgets", "jupyterlab-server", "jupyterlab-git"]

[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-asyncio = "^0.21.1"
coverage = "^7.3.2"
mypy = "^1.7.1"
notebook = "^7.1.1"

[tool.poetry.group.docs.dependencies]
mkdocs = "^1.4.3"
mkdocs-material = {extras = ["imaging"], version = "^9.5.9"}
mkdocstrings = "^0.22.0"
mkdocstrings-python = "^1.1.2"
pytest-examples = "^0.0.10"
mkdocs-jupyter = "^0.24.6"
mkdocs-minify-plugin = "^0.8.0"
mkdocs-redirects = "^1.2.1"


[tool.poetry.group.test-docs.dependencies]
fastapi = "^0.109.2"
diskcache = "^5.6.3"
pandas = "2.0.3"
tabulate = "^0.9.0"


[tool.ruff] # https://beta.ruff.rs/docs/
line-length = 100
ignore = ["F401"]
ignore-init-module-imports = true

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"


