vultr-model-catalog
Fetch GET /v1/models from Vultr Inference and turn each Model Document 2.4
entry into a flat CatalogModel. This is the base the Python harness
integrations (Hermes) build on. The TypeScript twin is
model-catalog-typescript; both produce the same output for the same input.
Install
pip install vultr-model-catalog
No runtime dependencies. Python 3.11+.
from vultr_model_catalog import load_catalog
catalog = load_catalog(cache_path="~/.cache/vultr/catalog.json", max_age=300)
for model in catalog.chat_models:
print(model.id, model.context_window, model.price_per_million()["prompt"])
Surface
load_catalog(...): fetch, normalize, fall back to the last good payload when the network fails.catalog.sourceisnetwork,cacheorstale-cache. RaisesCatalogErroronly when there is nothing to servefetch_catalog(...): the raw JSON payload. The catalog is public;api_keyis optionalparse_catalog(payload): documents plusissues. A bad entry is skipped and reported, it never fails the catalognormalize_model(document): oneCatalogModelusd_per_million(cost_usd): exact conversion of a per-token price string
CatalogModel carries context_window, max_output_tokens,
input_modalities, output_modalities, pricing (exact USD per token
strings), tools, structured_outputs, streaming, supported_parameters,
parameters, reasoning, is_ready, deprecation_date. model.is_chat is
true when the model outputs text; rerankers and image generators are in the
catalog too.
See docs/catalog.md for the field mapping and the cache format.
Development
uv run pytest -q
fixtures/ is shared with the TypeScript project. *.normalized.json is
generated there (UPDATE_FIXTURES=1 npm test) and copied here, so the two
libraries cannot drift apart without a test failing.
Release files for vultr-model-catalog 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vultr_model_catalog-0.0.1.tar.gz | 6.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vultr_model_catalog-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.1 kB
Release files / vultr_model_catalog-0.0.1.tar.gz
| Download URL | vultr_model_catalog-0.0.1.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85166e395165f5664dd52fb2ca3b83387169ccd5242e2ea5f72496928977f19b
|
|
BLAKE2b-256 checksum How to use checksums |
c522f78ac709066cb6b63aaeb93e36c064e2de3bfe78ba5207934a9d1a5aa337
|
| 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 Sep 24, 2026.
Transparency logRelease files / vultr_model_catalog-0.0.1-py3-none-any.whl
| Download URL | vultr_model_catalog-0.0.1-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c2e4d1f7e045f6229f7143f70d528f0ed324c563527ef5dad6b2709244f9dc3
|
|
BLAKE2b-256 checksum How to use checksums |
0bea7f4307cbfb032ff552f9fd6f6e53b08664f8b088f6926974b6704f1688e6
|
| 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 Sep 24, 2026.
Transparency log