Metadata-Version: 2.5
Name: bydtech-model-retire
Version: 0.1.1
Summary: Find deprecated, retiring and retired LLM model IDs in a codebase before a provider shuts them off.
Project-URL: Homepage, https://github.com/BYDTechSolutions/model-retire#readme
Project-URL: Repository, https://github.com/BYDTechSolutions/model-retire
Project-URL: Issues, https://github.com/BYDTechSolutions/model-retire/issues
Author-email: BYD Tech <sales.bydtech@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: anthropic,bedrock,ci,cli,cohere,deprecation,gemini,llm,mistral,model,openai,scanner,vertex-ai
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# bydtech-model-retire

Find deprecated, retiring and retired LLM model IDs in a codebase before a provider shuts them off.

This is the Python package. The same tool is published to npm as
[`@bydtech/model-retire`](https://www.npmjs.com/package/@bydtech/model-retire); both
implementations ship the same dataset and produce identical output. The full documentation is in
the [repository README](https://github.com/BYDTechSolutions/model-retire#readme).

## Install

```sh
pip install bydtech-model-retire
```

Python 3.9 or later. No runtime dependencies.

## Quick start

```sh
model-retire .                      # scan the current directory
model-retire src --format json      # machine-readable output
model-retire list --provider openai # print the dataset for one provider
```

`python -m model_retire` works too.

Each hit is reported with file and line, the model, its status, the shutdown date, days remaining,
the provider's recommended replacement and the official page the date came from. The exit code is
0 when nothing is at error level, 1 when something is, 2 for a usage error.

## API

```python
from model_retire import scan, format_text

result = scan(["src"], warn_days=60)
print(format_text(result), end="")
if result["summary"]["errors"]:
    raise SystemExit(1)
```

`scan()` takes `paths`, `cwd`, `today`, `warn_days`, `warn_only`, `ignore`, `include`,
`gitignore`, `include_lockfiles`, `dataset` and `max_bytes`, and returns a dict with the same keys
as the JSON output (`version`, `today`, `warn_days`, `warn_only`, `files_scanned`, `summary`,
`findings`). Also exported: `default_dataset`, `load_dataset_file`, `merge_datasets`,
`validate_dataset`, `create_matcher`, `assess`, `format_text`, `format_json`, `format_github`,
`format_list`, `walk_files` and `UsageError`.

## The data

Dates come from providers and can change; check the source link on each finding. Every entry in
the dataset was read from the provider's own deprecation or lifecycle page and carries that page's
URL. Corrections are welcome as issues or pull requests with the official source URL.

## License

MIT. Maintained by [BYD Tech](https://bydtech.in), a software studio that builds MVPs, AI agents, and web & mobile apps.
