Skip to main content

Poundlock Toolkit

Find out which models, runtimes and settings actually work on hardware you control. Select a local machine or an SSH target, inspect its hardware, review setup and a bounded test plan, then compare the configurations actually tested. Toolkit is a finite CLI, with no daemon, production scheduler or model manager.

Python 3.11+ on Linux and macOS; Apache-2.0 licensed. Windows is untested. Offline tests cover transport and scoring; they never establish hardware or model quality, which takes a live run. Changes are in CHANGELOG.md.

Start offline

Install into a virtual environment from PyPI (or pip install . from a checkout). Installation downloads the schema-validator dependency from your configured package index. These commands only inspect the local machine; they do not call a model or a paid API.

python3 -m venv .venv
.venv/bin/python -m pip install poundlock-toolkit
.venv/bin/poundlock-toolkit inspect
.venv/bin/poundlock-toolkit --help

With the environment activated, try a synthetic end-to-end report. It needs no model, Docker or credentials:

poundlock-toolkit plan examples/openai.json --output plan.json
poundlock-toolkit demo examples/openai.json --output demo.json
poundlock-toolkit recommend demo.json --output report.md
poundlock-toolkit export demo.json --output qualification.json
poundlock-toolkit validate qualification.json

Prepare and test a machine

  1. Follow local/SSH target selection and installation.
  2. Read the hardware/backend guidance; keep unknowns explicit.
  3. Follow the isolated standalone CPU/Pi recipe, or attach to an existing authorized endpoint. Review every setup command and resource bound.
  4. Review a saved plan, execute explicitly, retain the receipt and inspect failures.
  5. Compare reports, then keep the private evidence with the configuration you deploy.

To decide what to run and how to read the result, start with what to test and how to score it.

Examples contain placeholder model identities and image digests. Replace them with verified artifacts before execution. No model weights, drivers or infrastructure services are installed automatically. The standalone recipe downloads zero bytes; its explicit prerequisite preparation has separate download and build costs.

Tool-call schema adherence

Measure nested tool-call JSON Schema adherence directly, locally or over SSH, without Pi or Docker. Repeated smoke or longer conversation trials score native Ollama and OpenAI-compatible calls separately, retain invalid nested strings as failures, and export content-free field/type diagnostics.

Existing endpoint

Copy examples/openai.json or examples/ollama.json into an ignored private folder. Set the endpoint, advertised model ID, revision, quantization, backend build (backend.version, optional backend.commit), serving application release (backend.application: {name, version}, or null when served directly), template checksum, context, reasoning and inventory. Preserve unknowns as null. OpenAI bases include /v1; native Ollama bases use the server root. With reasoning: "off" the OpenAI boundary omits reasoning_effort, which lets thinking models such as Qwen 3.5 on Ollama think anyway; set settings.reasoning_off_effort to "none" to send it explicitly (direct requests and Pi). Destination and cost declarations express operator knowledge and authority, independently of URLs.

poundlock-toolkit plan private/endpoint.json --output private/plan.json
poundlock-toolkit evaluate private/endpoint.json --plan private/plan.json --execute --output private/run.json
poundlock-toolkit recommend private/run.json --output private/report.md
poundlock-toolkit export private/run.json --output private/qualification.json

Two measurements are opt-in, and each is part of the reviewed plan. Set limits.prefix_cache_probe_enabled to send four extra unscored requests that measure the prefix cache instead of taking settings.prefix_cache on trust; the report shows the measured and declared values side by side and flags a mismatch, and says separately what an edit inside the last message cost. Add "memory_probe": {"pid": 1234} (or {"process": "llama-server"}, which must match exactly one process) to sample that local server process's memory during the run: highest sampled values only, for a loopback endpoint only, and unknown everywhere else. See methodology for exactly what each does and does not show.

credential_env names a secret-manager-supplied variable for direct checks; never put the secret in a file or argument. Pi requires the isolated unauthenticated boundary in the standalone recipe and refuses credential-protected endpoints. The complete configuration must match the saved plan; otherwise evaluate exits 4 and names the drifted configuration sections. Without --execute, a pending-consent result exits 3. Add --readiness-only to both plan and evaluate for one model-list request with no inference. A readiness pass is not qualification.

model.id must be a name the server lists (GET /v1/models rows, or Ollama's /api/tags); otherwise readiness fails with model_not_listed. Toolkit never substitutes a name.

Exit codes

poundlock-toolkit --help lists the public CLI codes:

Code Meaning
0 Command or selected attempts succeeded
1 An evaluation contains a failure or skip
2 Invalid input, unmet prerequisites, or a plan with blockers
3 Pending consent (evaluate without --execute)
4 A reviewed assumption drifted or an attach-time check failed; the JSON output names the check, what drifted and the next required step
130 Cancelled

recommend accepts several results, retaining their separate identities, repetitions, failures and unknowns. Reports qualify only the narrow fixtures actually tested. Public exports omit arbitrary endpoint/model labels; retain private configurations and mappings for reproducibility. Review even allowlisted exports before disclosure.

Reference

Metadata

Release files for poundlock-toolkit 0.4.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 poundlock-toolkit 0.4.0
File Size Uploaded
poundlock_toolkit-0.4.0.tar.gz 216.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for poundlock-toolkit 0.4.0
File Interpreter ABI Platform
poundlock_toolkit-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 331.0 kB

Release files / poundlock_toolkit-0.4.0.tar.gz

Download URL poundlock_toolkit-0.4.0.tar.gz
Size 216.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d7a90d6775ff6a63ae732f1e7cc583134b24adf5726be188d41c288382553545
BLAKE2b-256 checksum
How to use checksums
b23b3246f1b384e8d0ee4ef7da52f1b6b60e43be54fbbb74fe7103f6a3b3cce3
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 Oct 14, 2026.

Transparency log

Release files / poundlock_toolkit-0.4.0-py3-none-any.whl

Download URL poundlock_toolkit-0.4.0-py3-none-any.whl
Size 114.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8d397404060d8f3caf55a82820610a7c32c2e2e967eaf518ecffc0498a606dd
BLAKE2b-256 checksum
How to use checksums
f7ee96fd8501bc3b458b649cae5430d1650f689c892174080838fc331bdfa0b2
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 Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

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