basemode-loom
Persistent branching exploration for LLM continuations.
basemode-loom lets you generate multiple continuations, navigate a tree of alternatives, and keep everything in a local SQLite store so you can resume later.
Install
pip install basemode-loom
Quickstart
# Create a new tree with 3 branches
basemode-loom run "The ship rounded the headland and" -n 3 -m gpt-4o-mini
# Open the interactive explorer
basemode-loom view
# Continue from selected branch
basemode-loom continue -b 2 -n 3
Core Commands
basemode-loom --help
basemode-loom view --help
basemode-loom run --help
basemode-loom continue --help
basemode-loom stats --help
basemode-loom serve --help
Useful commands:
basemode-loom view: interactive TUI tree explorerbasemode-loom run: create a new tree from a promptbasemode-loom continue: branch from current/selected nodebasemode-loom nodes|active|show|children: inspect stored treesbasemode-loom stats: analyze tree depth/branching/model usagebasemode-loom export|import: move trees in/out as JSON/Markdownbasemode-loom serve: run REST/WebSocket API for frontend usage
Tree Search
The TUI tree picker (Tab) supports live metadata filtering, category/domain/
source/model facets, ID lookup, FTS5 keyword search, and semantic search when
the selected database contains a compatible vector index.
Guardian Angel corpora use the optional MLX search dependencies:
pip install 'basemode-loom[embed-mlx]'
basemode-loom view --db /path/to/corpus.sqlite
Press / in the tree picker, enter a query, and press Enter to rank matching
trees. Build or update an embedding index directly with:
basemode-loom embed --db /path/to/corpus.sqlite --model mlx
basemode-loom embed --db /path/to/corpus.sqlite --model mlx --incremental
The MLX model is downloaded lazily on first use. Embedding dependencies remain
isolated in the optional embed and embed-mlx installation extras.
Model Selection
- TUI model picker is available via
m. - Picker can consume verified model metadata from
basemodewhen available. - Session state supports model-plan metadata for multi-model generation workflows.
- Force OpenRouter passthrough for new/unknown IDs with
-m "or:vendor/model"(oropenrouter:vendor/model), e.g.-m "or:moonshotai/kimi-k2.6".
Storage
By default, data is stored in a local SQLite DB under your user data directory.
Use --db /path/to/file.sqlite to choose a custom location.
Publish privacy-safe aggregate model statistics to basemode's shared evidence
store with basemode-loom publish-evidence. Use --dry-run to inspect the
payload; raw tree text and identifiers are never published.
Docs
Project docs live in docs/ (MkDocs):
make docs
make docs-serve
Then open http://localhost:8001.
Metadata
Release files for basemode-loom 0.7.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| basemode_loom-0.7.5.tar.gz | 471.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| basemode_loom-0.7.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 619.7 kB
Release files / basemode_loom-0.7.5.tar.gz
| Download URL | basemode_loom-0.7.5.tar.gz |
|---|---|
| Size | 471.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f009c52e70a7223f078836f676914c40a4403b4ff4260b90abd12bc9c873732
|
|
BLAKE2b-256 checksum How to use checksums |
efefc58ebdc24ff5b682a6f2c91c9b4a7d9edf3ecda0451470b6f66a58a4fc8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / basemode_loom-0.7.5-py3-none-any.whl
| Download URL | basemode_loom-0.7.5-py3-none-any.whl |
|---|---|
| Size | 148.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68f387f8368d04dd675a851075195d432d7a7e45198190aa8bd478cc490a8b22
|
|
BLAKE2b-256 checksum How to use checksums |
de46cb61bb9b7c124680be2fab1ba6a5936987aa1e0aa4eb940617cf2d5d4abe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|