Files
AIPass/pyproject.toml
T
AIOSAIandClaude Sonnet 4.6 8a5fbf6152 feat(memory): add [memory] extras group — unblock contributor pytest (#360 finding #1)
- pyproject.toml: add memory = ["numpy>=2.0", "chromadb>=1.0"] optional-deps group
- setup.sh: install .[dev,memory] so fresh-clone pytest works end-to-end
- test_vector.py: gate with pytest.importorskip("numpy"/"chromadb") — skip cleanly without extras
- memory_watcher.py: _check_vector_deps() probes venv at startup; health report now honest when chromadb absent
- bypass.json: 4 entries covering test_vector.py seedgo false-positives (architecture/docs/encapsulation/meta)
- dispatch/daemon.py: resolve relative branch_path to absolute before use
- dispatch/dispatch_monitor.py: resolve lock_file path so claude cwd is always absolute

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 13:06:20 -07:00

92 lines
2.1 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "aipass"
version = "2.1.0"
description = "A local multi-agent framework where your AI agents keep their memory, work together, and never ask you to re-explain context"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [
{ name = "AIPass", email = "aipass.system@gmail.com" },
]
keywords = ["ai", "agents", "routing", "discovery", "multi-agent", "orchestration"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
"rich>=13.0",
"watchdog>=3.0",
"requests>=2.28",
]
[project.urls]
Homepage = "https://github.com/AIOSAI/AIPass"
Repository = "https://github.com/AIOSAI/AIPass"
"Bug Tracker" = "https://github.com/AIOSAI/AIPass/issues"
[project.optional-dependencies]
llm = [
"openai>=1.0",
]
trinity = [
"trinity-pattern>=1.0.0",
]
memory = [
"numpy>=2.0",
"chromadb>=1.0",
]
seedgo = []
dev = [
"pytest",
"pytest-cov",
"pytest-timeout",
"ruff",
"coverage",
"pyright",
]
[project.scripts]
drone = "aipass.drone.cli:main"
aipass = "aipass.cli:cli_entry"
[tool.hatch.build.targets.wheel]
packages = ["src/aipass"]
[tool.pytest.ini_options]
testpaths = ["tests", "src"]
norecursedirs = ["templates", "*.egg-info", ".git", ".venv", "__pycache__"]
[tool.coverage.run]
source = ["src/aipass"]
omit = ["*/tests/*", "*/templates/*"]
[tool.coverage.report]
show_missing = true
fail_under = 70
exclude_lines = [
"pragma: no cover",
"if __name__ == .__main__.",
"if TYPE_CHECKING:",
]
[tool.ruff]
line-length = 120
[tool.ruff.lint]
ignore = ["E402"]
[tool.ruff.lint.per-file-ignores]
"**/__init__.py" = ["F401"]