Skip to main content

Portable, cross-vendor AI memory in .fafm — offline-first SDK; connect a free namepoint for full intel.

Project description

claude-fafm-sdk

PyPI · License: MIT · DOI · memory.faf.one

Portable, cross-vendor AI memory in .fafm. Give an AI agent memory that versions with your project and moves between models — instead of being locked to one vendor.

Offline-first: the local Soul works with no account. Connect a free namepoint for the full intel (semantic recall, smart-merge) at personal scale.

Two profiles, one .fafm format. This is the knowledge profile (typed, cross-linked agent memory). For the voice profile — the Voice Memory Layer — see grok-faf-voice.

Install

uv add claude-fafm-sdk          # in a project (recommended)
pip3 install claude-fafm-sdk    # also works

30 seconds

uvx claude-fafm-sdk init                 # 🧬 create a portable soul
claude-fafm-sdk etch "ships uv-first"    # write a memory
claude-fafm-sdk recall uv                # recall it  (filters: --tag --type --priority)
claude-fafm-sdk ls                       # list every fact, ranked
claude-fafm-sdk forget install           # delete a fact by id

Five commands — init, etch, recall, ls, forget. Run claude-fafm-sdk --help (or <cmd> --help) for the full surface.

Hand soul.fafm to grok-faf-voice and it reads it — same format, no fork.

Quickstart

from claude_fafm_sdk import Soul

soul = Soul("@me")
soul.etch("ships uv-first", id="install", type="reference", priority="high")
soul.etch("portable across vendors", id="why", type="project")
soul.save("me.fafm")            # → application/vnd.fafm+yaml

# later, anywhere:
soul = Soul.load("me.fafm")
soul.recall("uv")               # deterministic recall, ranked by priority + recency

That's the whole offline loop — no account, no server.

More in examples/ — portability + a real cross-vendor roundtrip (SDK writes .fafm, grok-faf-voice reads it back).

Full intel (free namepoint)

A namepoint is your handle on memory.faf.one where your soul lives (hosted + sticky) and the full intel runs at personal scale. A two-digit number makes a handle free@james99 and @john10 are free (10 is the lowest; @john9 isn't). Clean prestige names (no number) are the paid tier. Claim one at mcpaas.live/claim.

Hosted reads/writes use the family-standard MCP client (fastmcp), an opt-in extra:

uv add "claude-fafm-sdk[namepoint]"
from claude_fafm_sdk import Namepoint

np = Namepoint("@james99", api_key="...")    # free handle + key from mcpaas.live/claim
await np.push("a durable fact", type="fact")
body = await np.pull()                         # reads are public — no key

Wired to the MCPaaS asset core — the same backend grok-faf-voice uses (get_soul / write_soul). The local Soul works fully offline today, no account.

Why

AI memory is vendor-locked. .fafm is the open, portable format — and this SDK is the open, offline-first way to use it. Souls written here interop with the fafm-engine and grok-faf-voice implementations: one format, never a fork.

Citation

If you use claude-fafm-sdk or the .fafm format in research or production, please cite the format paper:

Wolfe, J. (2026). Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory. Zenodo. https://doi.org/10.5281/zenodo.20348942

BibTeX

@article{wolfe2026fafm,
  title     = {Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory},
  author    = {Wolfe, James},
  year      = {2026},
  month     = {may},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.20348942},
  url       = {https://doi.org/10.5281/zenodo.20348942}
}

DOI: 10.5281/zenodo.20348942

License

MIT. The format is open (spec); the SDK is open; the at-scale intel + hosting is the paid tier.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_fafm_sdk-0.2.0.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_fafm_sdk-0.2.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file claude_fafm_sdk-0.2.0.tar.gz.

File metadata

  • Download URL: claude_fafm_sdk-0.2.0.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for claude_fafm_sdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5acd62a7bb78f26eb235a2071a67a2056d45a70bb2f60bcdb9d2fea1807d73a4
MD5 7e0bc4337f6aa9a6cd3c4efcede6d1c3
BLAKE2b-256 bef16722b9be26160e4db03c4a42e7c0c31ca7eb3b0e02d736204551085c09f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_fafm_sdk-0.2.0.tar.gz:

Publisher: pypi.yml on Wolfe-Jam/claude-fafm-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claude_fafm_sdk-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: claude_fafm_sdk-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for claude_fafm_sdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0eb4e6d2626194e8a05a6435bd5e892191c643a99143b99df2c4e0c76e83ad33
MD5 34210fcb5b3100dcfeccaad0838d67df
BLAKE2b-256 9467c6bca94a0df9dab0380668b0a334cc086d73f1a77605f464296fcbc5e783

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_fafm_sdk-0.2.0-py3-none-any.whl:

Publisher: pypi.yml on Wolfe-Jam/claude-fafm-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page