BindAI Memory
bindai-memory provides memory abstractions and storage providers for the BindAI framework.
It provides a common memory API that allows applications and agents to store and retrieve memory records while supporting multiple provider implementations.
Features
- Memory abstractions
- Memory records and memory types
- Memory management
- Provider abstraction
- Provider registry
- In-memory storage
- SQLite storage
- Vector-based storage
- Memory results
Public API
The package exposes the main memory components directly from bindai_memory:
from bindai_memory import (
Memory,
MemoryManager,
MemoryProvider,
MemoryRecord,
MemoryRegistry,
MemoryResult,
MemoryType,
)
Provider implementations include:
from bindai_memory import (
InMemoryProvider,
SQLiteMemoryProvider,
VectorMemoryProvider,
)
Memory Providers
MemoryProvider defines the common provider abstraction used by memory implementations.
BindAI Memory currently provides:
InMemoryProviderSQLiteMemoryProviderVectorMemoryProvider
This allows the memory layer to use different storage strategies behind a common provider interface.
Memory Registry
MemoryRegistry provides provider registration and lookup.
The package registers the in-memory provider under the in_memory key during package initialization.
from bindai_memory import MemoryRegistry
provider = MemoryRegistry.get("in_memory")
Provider registration allows memory implementations to be resolved through a common registry rather than coupling applications to a specific provider class.
Memory Records
MemoryRecord represents an individual memory entry, while MemoryType identifies the type of memory.
from bindai_memory import (
MemoryRecord,
MemoryType,
)
MemoryResult provides the result abstraction returned by memory operations.
Memory Manager
MemoryManager provides the higher-level management layer for memory operations.
from bindai_memory import MemoryManager
manager = MemoryManager()
The exact provider configuration depends on the selected memory implementation.
Architecture
The memory package is structured around a provider abstraction:
Application / Agent
│
▼
MemoryManager
│
▼
MemoryProvider
│
┌────┼──────────────┐
│ │ │
▼ ▼ ▼
InMemory SQLite Vector
Provider Provider Provider
This separation allows the higher-level memory API to remain independent of the underlying storage implementation.
BindAI Integration
bindai-memory integrates with the broader BindAI framework through its core and embedding abstractions.
It can be used by higher-level components such as agents while keeping memory storage concerns separate from agent execution logic.
Development
This package is part of the BindAI workspace.
From the repository root:
uv sync
Run the complete test suite:
uv run pytest
Run static type checking for this package:
uv run mypy packages/bindai-memory
Documentation
For complete BindAI framework documentation:
License
BindAI is released under the MIT License.
Release files for bindai-memory 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bindai_memory-0.1.1.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bindai_memory-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.7 kB
Release files / bindai_memory-0.1.1.tar.gz
| Download URL | bindai_memory-0.1.1.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9861a31d475d31cddacf5142e39a43afc5076a44df8d8446786726438f9b010d
|
|
BLAKE2b-256 checksum How to use checksums |
9f389e7ea171dd180052adc03b9151f48d4ac1a2a4efdf568bb13c7547f29ca1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Release files / bindai_memory-0.1.1-py3-none-any.whl
| Download URL | bindai_memory-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f10eb6d534fc56e9df2c116d79c681d9e1c7f2fd08b2d806b17a5d496a9db01d
|
|
BLAKE2b-256 checksum How to use checksums |
6890e70d023c8fc4e3ec1e3d89cb0ba44f6df8fc50de280e5ec6ae77b5907b55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|