memini-vision
Shared vision library used by both videre-mcp (the MCP server that exposes
vision tools to agents) and memini-ai-dev (the semantic memory server that
fuses image results into its existing RRF). Owns image storage, CLIP
embedding, the memories_image table CRUD, and cross-modal query logic.
No FastMCP, no CLI, no HTTP server. Library only — the two consuming servers register their own tools.
Install
pip install memini-vision
Environment variables
| Variable | Default | Description |
|---|---|---|
MEMINI_IMAGE_SEARCH_ENABLED |
false |
Master kill-switch (consumer checks flag) |
MEMINI_IMAGE_CLIP_MODEL |
clip-ViT-B-32 |
clip-ViT-B-32 or clip-ViT-L-14 |
MEMINI_IMAGE_CLIP_DEVICE |
auto |
auto, cpu, or cuda |
MEMINI_IMAGE_DIR |
~/.memini-ai/images |
Filesystem image storage root |
MEMINI_IMAGE_MAX_FILE_SIZE |
10485760 |
Max image file size in bytes (10MB) |
MEMINI_IMAGE_DB_URL |
(empty) | PostgreSQL connection string (falls back to MEMINI_DB_URL) |
Quickstart
from memini_vision import VisionConfig, ImageStore, ClipEmbedder, ImageIndex, ImageQuery
cfg = VisionConfig() # reads MEMINI_IMAGE_* env vars
store = ImageStore(cfg.image_dir) # filesystem sharded storage
embedder = ClipEmbedder(cfg.clip_model, cfg.clip_device)
index = ImageIndex(cfg.db_url) # asyncpg pool, memories_image CRUD
query = ImageQuery(embedder, index) # cross-modal CLIP search
# Encode + store an image (lazy model load on first call)
vec = embedder.encode_image(pil_image) # list[float], zero-padded to 768 for B/32
record = await index.insert(memory_id, sha256, vec, file_path, mime_type)
results = await query.search_by_text("terminal traceback", limit=5)
Metadata
Release files for memini-vision 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| memini_vision-0.1.2.tar.gz | 141.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| memini_vision-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 160.4 kB
Release files / memini_vision-0.1.2.tar.gz
| Download URL | memini_vision-0.1.2.tar.gz |
|---|---|
| Size | 141.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
866e7a1091ee127ed06efe50fbc1ecb68f0bb520bf503a2afd89a2e4fa77947e
|
|
BLAKE2b-256 checksum How to use checksums |
cf03cc2d88a2ea8042c4a94b17b5ca13886d3b51713faad2304bd12d161ef1d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency logRelease files / memini_vision-0.1.2-py3-none-any.whl
| Download URL | memini_vision-0.1.2-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a93fb6a8188b7e8a1787a72ed56936aa2028466d51f169b3da3f52cc10e6bc09
|
|
BLAKE2b-256 checksum How to use checksums |
ea841ec34249fa9a8e80969c26072bbc9777a90939914b004f42019725d82fda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency log