[build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [project] name = "homestead-memory" version = "0.5.0" description = "Verifiable, local-first AI memory that catches rot, tampering, and poisoning. Plain markdown you own." readme = "README.md" license = { text = "MIT" } requires-python = ">=3.10" authors = [{ name = "Kinetic Labs" }] keywords = ["ai", "memory", "local-first", "agents", "verification", "rag", "homestead"] classifiers = [ "License :: OSI Approved :: MIT License", # Per-minor classifiers, not just ":: 3". PyPI's version filter and the # pypi/pyversions badge read these, and "3" alone tells a visitor nothing about # the 3.10 floor - which is the single most common install failure, because # macOS still ships 3.9 as its built-in python3. "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", ] # One dependency, and it is deliberate. Signing was an optional [sign] extra until # 0.3.3, which meant a plain `pip install` produced an UNSIGNED EvidencePack while the # README led on a record that proves it was not altered. The headline feature cannot sit # behind an extra nobody is told about. # # What this does NOT change: the pack's bundled verifier is still stdlib-only, so a # recipient still needs nothing installed to check a pack. That is the property the # product actually argues for, and it is untouched. # # qmd (hybrid retrieval) remains an optional external CLI, invoked as a subprocess; the # store degrades to a direct markdown scan without it. dependencies = ["cryptography>=42"] [project.urls] Homepage = "https://fuckbigtech.ai/lab" Repository = "https://github.com/fuckbigtech-ai/homestead-memory" Issues = "https://github.com/fuckbigtech-ai/homestead-memory/issues" Changelog = "https://github.com/fuckbigtech-ai/homestead-memory/releases" [project.optional-dependencies] api = ["fastapi>=0.110", "uvicorn>=0.27"] # Kept as a no-op alias since 0.3.3: signing moved into the core dependencies, but # `pip install "homestead-memory[sign]"` appears in the wild and must not start erroring. sign = [] langgraph = ["langgraph>=0.2"] crewai = ["crewai>=0.70"] autogen = ["autogen-core>=0.4"] openai-agents = ["openai-agents>=0.0.1"] litellm = ["litellm>=1.40"] [project.scripts] hsm = "homestead_memory.cli:main" fbt = "homestead_memory.cli:main" # legacy alias, removed before 1.0 [tool.setuptools.packages.find] where = ["src"] [tool.pytest.ini_options] # The example scripts under examples/ are imported by their tests # (`from examples import hot_swap_demo`). Put the repo root on sys.path so the # bare `pytest` console script (as CI runs it) behaves like `python -m pytest`. pythonpath = ["."] testpaths = ["tests"]