Python SDK and reference implementation for the Agent-Managed Knowledge Base (AMKB) protocol
Project description
amkb — Python SDK for the Agent-Managed Knowledge Base protocol
🚧 Not yet usable. This
0.0.xrelease exists only to reserve the name on PyPI while the protocol settles. The first usable release will be0.1.0, gated on a real reference implementation (Spikuit adapter) passing the full conformance suite. Until then, the public API may change without notice and there is no install story worth recommending. Track progress at amkb-spec and amkb-sdk.
amkb is a backend-agnostic Python SDK for the AMKB protocol. It
provides the types, error catalog, filter algebra, Store protocol,
and a reusable conformance suite. It intentionally ships no storage
backend: SQLite, Chroma, Postgres, an in-memory dict, or a custom
engine are all equally valid implementations of the protocol.
The package consists of:
- Core types (
amkb.types) —Node,Edge,Actor,Transaction,ChangeSet,Event, plus reserved kind / layer / rel constants. - Canonical errors (
amkb.errors) — 22 error codes in 5 categories, as a typed exception hierarchy. - Filter algebra (
amkb.filters) —Eq/In/Range/And/Or/Not, JSON-serializable via msgspec tags. - Store protocol (
amkb.store) —StoreandTransactionastyping.Protocoltypes. Implementations satisfy them structurally, without inheritance. - Conformance suite (
amkb.conformance) — pytest functions mirroring the test matrix at amkb-spec/conformance/. Any implementation can exercise the suite by providing astorefixture and runningpytest --pyargs amkb.conformance.
Relationship to Spikuit
Spikuit is a neural learning
graph and will be the first real consumer of amkb. Spikuit features
such as FSRS scheduling, APPNP propagation, and pressure dynamics live
on top of the AMKB protocol, not inside it. A future
spikuit.amkb_adapter module will expose Spikuit's internal state as
an amkb.Store without changing Spikuit's own vocabulary.
Install
pip install amkb # types, errors, filters, protocol
pip install amkb[test] # + conformance suite deps (pytest)
amkb has one runtime dependency: msgspec.
Reading order
- amkb-spec — the normative protocol (authoritative).
src/amkb/types.py— data shapes.src/amkb/errors.py— the 22 canonical codes.src/amkb/filters.py— the filter algebra.src/amkb/store.py— theStoreandTransactionprotocols.src/amkb/conformance/— the executable test matrix.
Implementing a Store
Any class whose shape matches the Store protocol is a valid AMKB
store. A minimal dict-backed implementation used as an executable
reference for the conformance suite lives in tests/impls/dict_store.py
— it is intentionally kept in tests rather than shipped as part of
the package, to reinforce that the SDK itself is backend-agnostic.
License
Apache-2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amkb-0.0.1.tar.gz.
File metadata
- Download URL: amkb-0.0.1.tar.gz
- Upload date:
- Size: 28.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e6a2b346beb64b87c7b82492494cb57f354c6f1129abf06926c30077fdc92b3
|
|
| MD5 |
dfc2148bbacf5aa9524946fa11c364f4
|
|
| BLAKE2b-256 |
b25577089cc5eb50a776f994087493df0d8d834a439d633ccc959e84c684f210
|
File details
Details for the file amkb-0.0.1-py3-none-any.whl.
File metadata
- Download URL: amkb-0.0.1-py3-none-any.whl
- Upload date:
- Size: 27.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0744e60fe6401636a4ea5f9a6ab7e6c8df0b4e593866c68f9e83effb7c4e733
|
|
| MD5 |
3758d8b19d5d443c8b85ff368833f919
|
|
| BLAKE2b-256 |
bd9c474284047623685e84f70b7e8f9161d6765b92b7746f8b12911aeaf0a506
|