caniollama
Does this local Ollama model actually support tool calling? Find out in seconds, not by reading a six-month-old blog post.
uvx caniollama check qwen2.5-coder:7b
or test everything you've pulled:
uvx caniollama check
What it does
Runs a small, fixed test suite against a locally running Ollama instance and classifies the result into one of three real answers:
- Structured pass -- the model returns a proper
tool_callsfield. - JSON-in-content fallback -- the model knows tool calling exists but emits the intent as JSON-shaped text instead of the structured field.
- Rejected by backend -- Ollama 400s the moment
toolsis included.
After a run, you'll be asked -- every time, explicitly -- whether to submit the result
(metadata only: model name, quantization, Ollama version, pass/fail per case) to the
public caniollama registry. See
docs/privacy.md for exactly what is and isn't ever sent.
Install
No install needed for a one-off check:
uvx caniollama check <model>
# or
pipx run caniollama check <model>
For repeated use:
uv tool install caniollama
Development
uv sync
uv run pytest
uv run ruff check .
uv run mypy src
License
MIT
Metadata
Release files for caniollama 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| caniollama-0.1.3.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| caniollama-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.6 kB
Release files / caniollama-0.1.3.tar.gz
| Download URL | caniollama-0.1.3.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3af1c2fca87f89e22352af6d48b6674df4c5c81d072d59fe4d1e54cc85698671
|
|
BLAKE2b-256 checksum How to use checksums |
80c4c9ab1fe9ccb0fde20a9bc2040caa76d4f04c188cd59de3606c56545243f8
|
| 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 Aug 9, 2026.
Transparency logRelease files / caniollama-0.1.3-py3-none-any.whl
| Download URL | caniollama-0.1.3-py3-none-any.whl |
|---|---|
| Size | 14.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31fb400a99ddd4dc090f50214b5382355225c970337356bcbb00f8ad3d5b331c
|
|
BLAKE2b-256 checksum How to use checksums |
4fc3ae3bd50df6f5007291e580ec9c045eaa04b1ef21e3ea0765a1096eba7104
|
| 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 Aug 9, 2026.
Transparency log