llm-model-deprecation
Track and check deprecation status of LLM provider models (OpenAI, Anthropic, Gemini, etc.). Use it to warn when your app uses deprecated or retired models and to get replacement suggestions.
Install
pip install llm-model-deprecation
Optional: URL loading via requests (otherwise stdlib urllib is used):
pip install "llm-model-deprecation[fetch]"
Library usage
Data is loaded from the default registry (online with built-in fallback). No config needed.
from llm_deprecation import DeprecationChecker, DeprecationStatus
checker = DeprecationChecker()
# Check by model id (searches all providers)
checker.is_deprecated("gpt-3.5-turbo-0301") # True
checker.is_retired("gpt-3.5-turbo-0301") # True
checker.status("gpt-4") # DeprecationStatus.ACTIVE
# With provider for exact match
checker.get("claude-2.0", provider="anthropic")
# -> ModelInfo(provider='anthropic', model_id='claude-2.0', status=..., replacement='...', ...)
# List deprecated models
for m in checker.list_deprecated(provider="openai"):
print(m.model_id, m.status.value, m.replacement)
Status values
- active — Currently supported, no deprecation.
- legacy — Still supported; prefer newer models.
- deprecated — Will be retired; migrate before sunset date.
- retired — No longer available.
Add or override models in code
from datetime import date
from llm_deprecation import DeprecationChecker
from llm_deprecation.models import ModelInfo, DeprecationStatus
checker = DeprecationChecker()
checker.register(ModelInfo(
provider="openai",
model_id="gpt-4-old",
status=DeprecationStatus.DEPRECATED,
sunset_date=date(2026, 1, 1),
replacement="gpt-4o",
))
CLI
Scan a project for deprecated or retired model references (CI, cron, or local):
llm-deprecation scan
llm-deprecation scan /path/to/project
llm-deprecation scan --fail-on-deprecated # exit 1 if any found (for CI)
Example output:
Scanning project...
⚠ openai:gpt-3.5-turbo → deprecated soon
⚠ anthropic:claude-instant → retired
The scanner looks in common code and config files (.py, .json, .yaml, .env, .ts, etc.).
GitHub Action
Run the same check in GitHub Actions:
- name: Check LLM deprecations
uses: techdevsynergy/llm-model-deprecation@v1
with:
fail-on-deprecated: true
Options: path (project root to scan), fail-on-deprecated, version (pin package version).
Data source
Registry is loaded from the default URL (llm-deprecation-data); if unreachable (e.g. offline), the built-in registry in the library is used.
Links
License
MIT
Metadata
Release files for llm-model-deprecation 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| llm_model_deprecation-1.1.0.tar.gz | 13.2 kB | Without provenance | Details for llm_model_deprecation-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| llm_model_deprecation-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for llm_model_deprecation-1.1.0-py3-none-any.whl |
Total release size: 25.6 kB
Release files / llm_model_deprecation-1.1.0.tar.gz
| Download URL | llm_model_deprecation-1.1.0.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d042233076e57be263a37a7b104abb16bff35b16d6f7f0651e488aaed8ae9fd
|
|
BLAKE2b-256 checksum How to use checksums |
149f5fa320972e425a567bbdf92628fce6ce7fc469c0a96350db769d0fb2b43c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / llm_model_deprecation-1.1.0-py3-none-any.whl
| Download URL | llm_model_deprecation-1.1.0-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed656151c7f452e33db2c85a27724ef1b88c41f137babf0c4f276911530a5ad3
|
|
BLAKE2b-256 checksum How to use checksums |
844702a389a8cf05838557a1aee21c524869a5c24c88c857bf56d098bd6b2401
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Security for llm-model-deprecation 1.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.