[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "roampal" version = "0.5.9" description = "Outcome-based persistent memory for AI coding tools (Claude Code, OpenCode)" readme = "README.md" license = {text = "Apache-2.0"} authors = [ {name = "Roampal", email = "roampal@protonmail.com"} ] keywords = ["ai", "memory", "claude", "opencode", "mcp", "llm", "model-context-protocol", "persistent-memory", "ai-coding", "ai-assistant", "chromadb", "outcome-based", "developer-tools", "semantic-search", "agent-memory", "mcp-server"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Environment :: Console", "Operating System :: OS Independent", ] requires-python = ">=3.10" dependencies = [ "chromadb>=1.0.0,<2.0.0", # v0.2.2: Pin to 1.x (schema migration handles 0.4.x upgrades) "onnxruntime>=1.14.0", "tokenizers>=0.14.0", "huggingface-hub>=0.20.0", "numpy>=1.24.0", "fastapi>=0.100.0", "uvicorn>=0.22.0", "mcp>=1.0.0,<2.0.0", "httpx>=0.24.0", "pydantic>=2.0.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-timeout>=2.1.0", "pytest-forked>=1.6.0", "mypy>=1.0.0", "build>=1.0.0", "twine>=4.0.0", ] [project.scripts] roampal = "roampal.cli:main" [project.urls] Homepage = "https://roampal.ai" Repository = "https://github.com/roampal-ai/roampal-core" Documentation = "https://github.com/roampal-ai/roampal-core#readme" Changelog = "https://github.com/roampal-ai/roampal-core/releases" Issues = "https://github.com/roampal-ai/roampal-core/issues" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["roampal"] markers = [ "wal: WAL-specific tests that must run in-process (not forked)", "crash: subprocess force-termination and recovery tests", "slow: long-running integration gates (RSS soak, real-model runs)", ] [tool.mypy] python_version = "3.10" warn_return_any = true warn_unused_configs = true ignore_missing_imports = true [tool.setuptools.packages.find] where = ["."] include = ["roampal*"] [tool.setuptools.package-data] "roampal.plugins.opencode" = ["*.ts"]