Skip to main content

Loomcast

CI Status Coverage License: MIT Python Version

Python SDK and CLI for seamlessly managing local LLM runtimes (Ollama, LM Studio, and llama.cpp).

Installation

pip install loomcast

To work on Loomcast itself, install it from a clone in editable mode with the development dependencies:

pip install -e ".[dev]"

Quick Start

CLI Usage

# Check status of local runtimes
loomcast status

# Diagnose configuration, runtimes, catalog and integrity
loomcast doctor

# List installed models
loomcast list

# Search catalog for models
loomcast search code

# Recommend models for a specific task or tag
loomcast recommend coding

# Install a model
loomcast install llama3 --backend ollama

# Batch install all models in a category
loomcast install-category code --backend ollama

# Send a prompt to a model
loomcast chat llama3 "Hello world!" --backend ollama

# Verify installed model integrity
loomcast verify llama3 --backend ollama

# Update an installed model
loomcast update llama3 --backend ollama

# Remove an installed model
loomcast remove llama3 --backend ollama

# View or change configuration
loomcast config
loomcast config --set-default lmstudio

Model installation, removal and updating are driven through the runtime's API, which only Ollama exposes. LM Studio and llama.cpp report an explanatory error instead: load models through the LM Studio application, or start llama-server with the model you want.

Python SDK Usage

import loomcast

print(loomcast.__version__)

# Search catalog
results = loomcast.search("code")
for model in results:
    print(model.name, model.description)

# Recommend models for a task
recs = loomcast.recommend("coding")

# List what is installed locally
print(loomcast.list_installed())

# Install a model, and batch install a whole category
loomcast.install("llama3", runtime_type="ollama")
installed, failed = loomcast.install_category("code", runtime_type="ollama")

# Send chat messages
response = loomcast.chat(
    "llama3", [{"role": "user", "content": "Hello!"}], runtime_type="ollama"
)
print(response)

# Verify model integrity
verification = loomcast.verify("llama3", runtime_type="ollama")
print(f"Verified: {verification.verified}, Digest: {verification.digest}")

# Update returns True when the digest changed, False when already current
changed = loomcast.update("llama3", runtime_type="ollama")

# Remove an installed model
loomcast.remove("llama3", runtime_type="ollama")

For finer control over configuration or dependency injection, drive LoomcastManager directly:

from loomcast import LoomcastConfig, LoomcastManager

manager = LoomcastManager(config=LoomcastConfig(default_backend="ollama"))
print(manager.list_available_runtimes())

Documentation

Detailed documentation guides are available in the docs/ directory:

Metadata

Release files for loomcast 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for loomcast 0.2.0
File Size Uploaded Provenance
loomcast-0.2.0.tar.gz 38.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for loomcast 0.2.0
File Interpreter ABI Platform
loomcast-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 72.5 kB

Release files / loomcast-0.2.0.tar.gz

Download URL loomcast-0.2.0.tar.gz
Size 38.6 kB
Tags Source
SHA-256 checksum
How to use checksums
47f5085b1a7d631855cf42a9b422d0f53225f1fe77e863efd9f297a8d31fcd50
BLAKE2b-256 checksum
How to use checksums
a9f4c9672c1bceae19f470777577899fc44183dfa48512930e9daad67ecc839d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / loomcast-0.2.0-py3-none-any.whl

Download URL loomcast-0.2.0-py3-none-any.whl
Size 33.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b53ab8eea9dea3c801421b2b7a9d862ca8f2b6e3403020ac941ac82924dcd89
BLAKE2b-256 checksum
How to use checksums
c3cee7ddb2a6aab3bb82b8a45cc652e57a2011f526a20016f18fd265c0716125
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Security for loomcast 0.2.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page