Skip to main content

somm

Self-hosted LLM telemetry, routing, and intelligence loop.

The main library: SommLLM — one call wraps telemetry, provider routing across ten providers, tool calling, streaming, embeddings, multimodal dispatch, cost tracking, budget gates, online evaluation, durable eval gates, prompt optimization proposals, experiment campaigns, and cross-project model memory (the sommelier). It also exposes a neutral one-attempt harness API for Claude Code, Codex, and OpenCode so task runners do not reimplement CLI and event-stream adapters. Zero-config, privacy-first, no phone-home.

import somm

llm = somm.llm(project="my_app")
result = llm.generate(prompt="Reply with exactly: pong", workload="ping")
print(result.text, result.provider, result.cost_usd)

Async code can call await llm.agenerate(...), await llm.aembed(...), await llm.agenerate_structured(...), or iterate llm.astream(...). These methods use the same synchronous routing, embedding, governance, and telemetry paths without blocking the caller's event loop.

from somm import harnesses
from somm.harnesses import HarnessRequest

result = harnesses.run("codex", HarnessRequest(
    prompt="Fix the failing tests",
    cwd="~/src/my-project",
    capture_dir="./runs/task-1",
))
print(result.outcome, result.final_text)

Full documentation, design docs, and examples live in the somm repository.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

somm-0.15.0.tar.gz (228.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

somm-0.15.0-py3-none-any.whl (170.0 kB view details)

Uploaded Python 3

File details

Details for the file somm-0.15.0.tar.gz.

File metadata

  • Download URL: somm-0.15.0.tar.gz
  • Upload date:
  • Size: 228.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for somm-0.15.0.tar.gz
Algorithm Hash digest
SHA256 1e109bfe74426dbcf17eb7924f5ba26118fa42b1cf34ed82bb3f1965609254a9
MD5 5058d511caf874e9ec5ec1d47b637559
BLAKE2b-256 f6010be51ae6617291c9d55282674cd87fb0d9a2b52a24812c843d3157c280ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for somm-0.15.0.tar.gz:

Publisher: publish.yml on lavallee/somm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file somm-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: somm-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 170.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for somm-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4732e14ee32cdf8b0c4ee2ebaa2d621b2fa05bb0e4535b7513abca0599ea202
MD5 0a398462a1530e6515226df478e17e1a
BLAKE2b-256 e1961637df3c01157964d995d5b7c872153c01feccaab0af4f6c2e4e796ad14b

See more details on using hashes here.

Provenance

The following attestation bundles were made for somm-0.15.0-py3-none-any.whl:

Publisher: publish.yml on lavallee/somm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page