[project] name = "skillmem" version = "0.13.0" description = "Self-improving skills for Claude Code — your agent learns, recalls, reinforces, and forgets. SQLite + FTS5 + local embeddings + MCP." authors = [{ name = "Liza Studio" }] license = "Apache-2.0" readme = "README.md" requires-python = ">=3.11" keywords = [ "claude-code", "codex", "mcp", "agent-memory", "skills", "self-improving", "sqlite", "fts5", "embeddings", "hooks", ] classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "click>=8.1.7", # mcp 2.x removed the low-level Server.list_tools/call_tool decorators we use "mcp>=1.0.0,<2", "pyyaml>=6.0.1", "platformdirs>=4.2.0", "fastapi>=0.111", "uvicorn[standard]>=0.30", "snowballstemmer>=2.2", ] [project.urls] Homepage = "https://skillmem.dev" Repository = "https://github.com/liza-studio/skillmem" [project.scripts] skillmem = "skillmem.cli:main" skillmem-mcp = "skillmem.mcp_server:run" skillmem-server = "skillmem.server:run" [project.optional-dependencies] test = ["pytest>=8.0", "hypothesis>=6.0"] # Semantic recall (local ONNX embeddings, no external API). Optional so the # base install stays light; recall degrades to BM25 when absent. semantic = ["fastembed>=0.8", "numpy>=1.26"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["skillmem"] [tool.pytest.ini_options] markers = ["canary: live check against the real claude CLI (costs a model call)"] testpaths = ["tests"] python_files = ["test_*.py"]