Stoneburner
Local-first LLM evaluation: token cost, quality, and security suites. The same commands cover a laptop Ollama box and a cloud API.
Install stoneburner-atomics.
The CLI and the import stay atomics. (atomics on PyPI is a different
package; stoneburner is too similar to an existing stone-burner.)
This is a desk tool, not a research harness and not an unsupervised agent.
It records cost, quality, and security-suite results in SQLite. A
finished-looking percentage on a partial run is the failure mode it is
built to avoid: incomplete coverage prints n/a (scored/total scored)
and JSON nulls the headline.
atomics doctor ends with one Next: command when the check is healthy.
Typical first-run output (Ollama on localhost, no cloud key):
$ atomics doctor
Python 3.13.11 OK
Platform: Darwin (arm64)
Database path: data/atomics.db
SQLite database OK (readable / creatable)
ANTHROPIC_API_KEY not set (optional; needed for Claude)
OPENAI_API_KEY not set (optional; needed for OpenAI)
inference.env: not found (optional; $INFERENCE_ENV or /etc/agentic/inference.env)
Ollama endpoint: http://localhost:11434
Ollama reachable — 3 model(s): qwen2.5:7b, gemma3:4b, llama3.2:3b
Next: atomics provider-test --provider ollama --no-thinking
Ollama is reachable. --effort low is the native think dial.
Those model names are the shape of the line, not a required inventory.
atomics models prints the tags this box actually has.
$ atomics toolcall --provider ollama --channel tools --runs 3 --no-thinking
Summary
tool-capable: yes
outcomes: safe call=6 no call=14
channel divergence (resisted in prose, complied with tools): not measured (no qualifying fixtures)
response divergence (dangerous call, refusing text): not measured (no qualifying fixtures)
cost: $0.0000
A tools-only first run is valid. Channel divergence needs a second model
as judge. Thinking models that spend the token budget on hidden reasoning
are recorded as thinking_budget, not as a mystery generation failure.
Install
Ollama on http://localhost:11434 is the one-box path. No cloud key required.
uv tool install stoneburner-atomics
atomics doctor
atomics provider-test --provider ollama --no-thinking
atomics models
atomics battery show desk-pass -p ollama -m MODEL
atomics battery run desk-pass -p ollama -m MODEL
MODEL is a tag from atomics models. show prints the steps and does
not spend. run is the first full job: health, the app-gate file, and two
tool fixtures. Exit 0 means those steps finished. A DANGEROUS tool line
is a finding inside that exit, and one run is one sample.
--no-thinking keeps a reasoning model from spending the token budget
on hidden chain-of-thought.
uv tool install 'stoneburner-atomics[api,mcp]'
uv add 'stoneburner-atomics[rag]' # from another project
From a clone, uv sync --all-extras. Bare uv sync drops the API, MCP,
RAG, and test extras. atomics server, atomics mcp, and atomics repl
need those extras and a running API server.
Cloud providers take the same --provider / --effort flags once a key
is set. Providers: Claude, Bedrock, OpenAI, Ollama, vLLM, llama.cpp, Groq,
Gemini, Together, brain-gateway.
Docs
Recipes live in QUICKSTART. Flags live in CLI_REFERENCE. Links are absolute so they work on PyPI as well as GitHub.
| If you want | Read |
|---|---|
| Copy-paste recipes | QUICKSTART |
| Every flag | CLI_REFERENCE |
| Quality / compare | COMPARING |
| Security suites | SECURITY_SUITES · batteries · leaderboard · red/blue |
| Load / capacity | LOAD_TESTING |
Thinking / --effort |
THINKING |
inference.env |
INFERENCE_ENV |
| HTTP API, fleet, dashboard | API_SERVER |
| MCP | MCP_SERVER |
| Human REPL | REPL |
| Contribute | CONTRIBUTING · ARCHITECTURE |
License
MIT — see LICENSE.
Release files for stoneburner-atomics 0.23.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 | |
|---|---|---|---|
| stoneburner_atomics-0.23.2.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stoneburner_atomics-0.23.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / stoneburner_atomics-0.23.2.tar.gz
| Download URL | stoneburner_atomics-0.23.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53ca09a575d9ef0130217bf45206f130f18e8f7bd6848897841bb2275464b748
|
|
BLAKE2b-256 checksum How to use checksums |
f2b3eb4dd373f09848ceb99499707adb9bf2d4c4e71b6455da8a275d9e51c5a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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 / stoneburner_atomics-0.23.2-py3-none-any.whl
| Download URL | stoneburner_atomics-0.23.2-py3-none-any.whl |
|---|---|
| Size | 552.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9108e6c4ae61de60841da0df95058f44164b87f4b8af73140682bf8345e9134f
|
|
BLAKE2b-256 checksum How to use checksums |
8ad392e64580d57d65166bca535aa442d2e835e7ea4d85c29aa4da373ade9955
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","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}
|