# @wbx-modified copilot-a3f7 | 2026-05-08 MTN | v0.5.1 | fix [dev] extras self-ref: recall[...] -> ai-recallworks[...] so pytest installs in CI | prev: copilot-a3f7@2026-04-30 01:30 MTN [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "ai-recallworks" version = "0.5.2" description = "Open-source agent-memory MCP server. recall.works" readme = "README.md" requires-python = ">=3.11" license = { text = "MIT" } authors = [{ name = "ai-recallworks" }] keywords = ["mcp", "agent", "memory", "rag", "vector-store", "copilot"] classifiers = [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries", ] dependencies = [ "chromadb>=0.5,<2.0", "starlette>=0.37", "uvicorn[standard]>=0.30", "anyio>=4.0", ] [project.optional-dependencies] mcp = ["mcp>=1.27.0"] llm = ["openai>=1.40"] test = ["pytest>=9.0.3", "pytest-asyncio>=1.3.0", "httpx>=0.28.1"] dev = ["ai-recallworks[mcp,llm,test]", "ruff>=0.5", "mypy>=1.20.2"] [project.scripts] recall-server = "recall.app:main" recall-mcp = "recall.mcp_stdio:main" [project.urls] Homepage = "https://recall.works" Source = "https://github.com/recallworks/recall" [tool.hatch.build.targets.wheel] packages = ["src/recall"] [tool.hatch.build.targets.sdist] # Keep the sdist small. Ship source, tests, docs, and the build manifest — # nothing else. Without this, hatchling defaults to "everything not in # .gitignore" and silently pulls in ~68 MB of TypeScript node_modules + # ChromaDB eval databases. include = [ "src/recall/**/*.py", "tests/**/*.py", "docs/**/*.md", "examples/**/*", "README.md", "LICENSE", "LICENSE-COMMERCIAL.md", "SECURITY.md", "CITATION.cff", "pyproject.toml", ] exclude = [ "**/node_modules/**", "**/__pycache__/**", "**/*.pyc", "**/.pytest_cache/**", "**/.ruff_cache/**", "**/dist/**", "**/.git/**", "tools/eval/**", "data/**", "_strategy/**", "_counsel-packet/**", "_pypi-support-request.md", "response.txt", ".tokens.local", "*.bak-*", ] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src", "."] addopts = "-q" asyncio_mode = "auto" [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "W", "I", "B", "UP"] ignore = ["E501"]