Public unified Mubit SDK with one Client facade
Project description
mubit-sdk
Canonical Python SDK for MuBit.
Install
pip install mubit-sdk
Quickstart
import os
from mubit import Client
client = Client(
transport=os.getenv("MUBIT_TRANSPORT", "auto"),
run_id="sdk-python-demo",
api_key=os.environ["MUBIT_API_KEY"],
)
client.remember(
session_id="sdk-python-demo",
agent_id="sdk-quickstart",
content="If the replay queue stalls, checkpoint before replaying recovery.",
intent="lesson",
lesson_type="success",
lesson_scope="session",
metadata={"source": "readme"},
)
answer = client.recall(
session_id="sdk-python-demo",
query="What should I do before replaying recovery?",
entry_types=["lesson", "rule"],
)
print(answer.get("final_answer"))
Surface Model
- Low-level raw APIs remain available on
client.auth.*,client.core.*, andclient.control.*. - High-level helper APIs live on
Client:rememberrecallget_contextarchivearchive_blockdereferencememory_healthdiagnosereflectforgetcheckpointregister_agentlist_agentsrecord_outcomesurface_strategieshandofffeedback
- Helper APIs use
session_idas the ergonomic alias forrun_id.
Auto-Capture
The Python package also ships mubit.auto for zero-friction trace capture in MAS learning loops:
from mubit.auto import instrument, observe
instrument()
@observe(name="repair-attempt")
def run_attempt():
...
MAS / Learning Loop Example
client.register_agent(
session_id="sdk-python-demo",
agent_id="planner",
role="planner",
read_scopes=["rule", "lesson", "fact"],
write_scopes=["lesson", "trace"],
shared_memory_lanes=["knowledge", "history"],
)
client.checkpoint(
session_id="sdk-python-demo",
label="pre-compaction-1",
context_snapshot="Planner narrowed the failure to token refresh ordering.",
metadata={"window": 1},
)
strategies = client.surface_strategies(
session_id="sdk-python-demo",
lesson_types=["success", "failure"],
max_strategies=3,
)
print(len(strategies.get("strategies", [])))
Exact References
archived = client.archive(
session_id="sdk-python-demo",
artifact_kind="patch_fragment",
content="--- a/query.py\n+++ b/query.py\n@@ ...",
labels=["django", "retry"],
family="patch-repair",
)
exact = client.dereference(
session_id="sdk-python-demo",
reference_id=archived["reference_id"],
)
print(exact.get("evidence", {}).get("content"))
Endpoint Resolution
transport defaults to auto (gRPC primary, HTTP fallback).
Endpoint resolution order:
- explicit
endpoint/http_endpoint/grpc_endpointconstructor args - env vars
MUBIT_ENDPOINT,MUBIT_HTTP_ENDPOINT,MUBIT_GRPC_ENDPOINT - shared defaults
https://api.mubit.aiandgrpc.api.mubit.ai:443
Package Example Lanes
Public adoption scenarios are the primary learning path:
PYTHONPATH=sdk/python/mubit-sdk/src python3 sdk/python/mubit-sdk/examples/public/run_public_examples.py --list
PYTHONPATH=sdk/python/mubit-sdk/src python3 sdk/python/mubit-sdk/examples/public/run_public_examples.py --scenario 01_remember_recall
PYTHONPATH=sdk/python/mubit-sdk/src python3 sdk/python/mubit-sdk/examples/public/run_public_examples.py --scenario 12_auto_capture_observed_loop
Internal raw-smoke scenarios remain available for compatibility and wire-level verification:
PYTHONPATH=sdk/python/mubit-sdk/src python3 sdk/python/mubit-sdk/examples/internal/run_internal_examples.py --list
PYTHONPATH=sdk/python/mubit-sdk/src python3 sdk/python/mubit-sdk/examples/internal/run_internal_examples.py --scenario auth_lifecycle
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
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 mubit_sdk-0.5.3.tar.gz.
File metadata
- Download URL: mubit_sdk-0.5.3.tar.gz
- Upload date:
- Size: 68.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d269e73a5e2b036402f3a896658c96ca6c64a58aa32727ecb335c5857ec91f09
|
|
| MD5 |
c95766c260ea272ee57680b36077c636
|
|
| BLAKE2b-256 |
48fd62be7d6e2039cf4e0f984596b3f8d4f73b16a65ed16b5e0c5c1b234ecc09
|
File details
Details for the file mubit_sdk-0.5.3-py3-none-any.whl.
File metadata
- Download URL: mubit_sdk-0.5.3-py3-none-any.whl
- Upload date:
- Size: 77.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31a465ed647b8128c1a72e1ee9280124c8347ca87769128f627c6a37b028d309
|
|
| MD5 |
9e97436c33551e6c711c1c915b3e8965
|
|
| BLAKE2b-256 |
6ad7859e766a3708cc428f769191ad10bb276595059dbe71e49e7ef21a37ee87
|