[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "nvgram" version = "0.1.0" description = "Vector-centric memory subsystem forked from Mem0 OSS" authors = [{ name = "Brian", email = "serversdown@serversdown.net" }] dependencies = [ "fastapi>=0.115.8", "uvicorn>=0.34.0", "pydantic>=2.10.4", "psycopg>=3.2.8", "python-dotenv>=1.0.1", "ollama", "mem0ai>=0.1.48", # optional, can remove once full parity ] [project.optional-dependencies] graph = [ "langchain-neo4j>=0.4.0", "langchain-aws>=0.2.23", "langchain-memgraph>=0.1.0", "neo4j>=5.23.1", "rank-bm25>=0.2.2", "kuzu>=0.11.0", ] vector_stores = [ "vecs>=0.4.0", "chromadb>=0.4.24", "weaviate-client>=4.4.0,<4.15.0", "pinecone<=7.3.0", "pinecone-text>=0.10.0", "faiss-cpu>=1.7.4", "upstash-vector>=0.1.0", "azure-search-documents>=11.4.0b8", "psycopg>=3.2.8", "psycopg-pool>=3.2.6,<4.0.0", "pymongo>=4.13.2", "pymochow>=2.2.9", "pymysql>=1.1.0", "dbutils>=3.0.3", "valkey>=6.0.0", "databricks-sdk>=0.63.0", "azure-identity>=1.24.0", "redis>=5.0.0,<6.0.0", "redisvl>=0.1.0,<1.0.0", "elasticsearch>=8.0.0,<9.0.0", "pymilvus>=2.4.0,<2.6.0", "langchain-aws>=0.2.23", ] llms = [ "groq>=0.3.0", "together>=0.2.10", "litellm>=1.74.0", "openai>=1.90.0", "ollama>=0.1.0", "vertexai>=0.1.0", "google-generativeai>=0.3.0", "google-genai>=1.0.0", ] extras = [ "boto3>=1.34.0", "langchain-community>=0.0.0", "sentence-transformers>=5.0.0", "elasticsearch>=8.0.0,<9.0.0", "opensearch-py>=2.0.0", ] test = [ "pytest>=8.2.2", "pytest-mock>=3.14.0", "pytest-asyncio>=0.23.7", ] dev = [ "ruff>=0.6.5", "isort>=5.13.2", "pytest>=8.2.2", ] [tool.pytest.ini_options] pythonpath = ["."] [tool.hatch.build] include = [ "nvgram/**/*.py", ] exclude = [ "**/*", "!nvgram/**/*.py", ] [tool.hatch.build.targets.wheel] packages = ["nvgram"] only-include = ["nvgram"] [tool.hatch.build.targets.wheel.shared-data] "README.md" = "README.md" [tool.hatch.envs.dev_py_3_9] python = "3.9" features = [ "test", "graph", "vector_stores", "llms", "extras", ] [tool.hatch.envs.dev_py_3_10] python = "3.10" features = [ "test", "graph", "vector_stores", "llms", "extras", ] [tool.hatch.envs.dev_py_3_11] python = "3.11" features = [ "test", "graph", "vector_stores", "llms", "extras", ] [tool.hatch.envs.dev_py_3_12] python = "3.12" features = [ "test", "graph", "vector_stores", "llms", "extras", ] [tool.hatch.envs.default.scripts] format = [ "ruff format", ] format-check = [ "ruff format --check", ] lint = [ "ruff check", ] lint-fix = [ "ruff check --fix", ] test = [ "pytest tests/ {args}", ] [tool.ruff] line-length = 120 exclude = ["embedchain/", "openmemory/"]