debtcollector
A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.
What it is and what it does
Debtcollector is a library for managing technical debt through Python deprecation patterns. It wraps the standard warnings module to emit DeprecationWarning, PendingDeprecationWarning, and similar signals to library users about upcoming API changes, allowing you to retire old code paths gradually without breaking existing code.
The library is designed for library and framework maintainers who need to signal breaking changes to their users over time. It depends only on wrapt and has been maintained since 2015 as part of the OpenStack project. It supports modern Python versions and carries no known security vulnerabilities.
Use it for:
- Signal upcoming removal of a function or class parameter to library users over multiple releases.
- Warn developers when they use an old API that will be replaced with a new one in a future version.
- Gradually retire internal APIs in a large codebase while giving dependent teams time to migrate.
- Document and enforce deprecation timelines for breaking changes in a framework or SDK.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Debtcollector provides Python deprecation patterns and strategies that emit warnings to developers about future API changes without breaking existing code.
Yes, if you maintain a library or framework and need to deprecate APIs gradually. The low friction, permissive license, and active maintenance make it a straightforward choice. Not needed for applications that don't expose public APIs or for one-off scripts.
Install
debtcollector on PyPI
pip
pip install debtcollectoruv
uv add debtcollectorpoetry
poetry add debtcollectorInstalling debtcollector
Before you install
Low install friction with a single lightweight dependency (wrapt). Active maintenance with a recent release; supports current Python versions (3.10–3.13).
License in practice
Apache-2.0 permissive license allows use in commercial and open-source projects with minimal restrictions.
Quickstart
pip install debtcollector
import debtcollector.deprecation
# Use deprecation decorators or helpers to emit warnings
# when deprecated functions or classes are called
Requires Python 3.10 or later.
Verify before relying
- Specific deprecation patterns and decorator/helper API surface not detailed in the excerpt.
- Whether the library is actively used in production OpenStack projects or primarily for internal use.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — wrapt |
| Maintenance | actively maintained — 143 days since the last release |
| First released | |
| Downloads | 1,490,307/month — #3,845 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: debtcollector-3.1.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
futuristFuturist provides futures utilities and…
permissive · top 15,000 on PyPI
deprecationProvides decorators to automate deprecation…
permissive · top 1,000 on PyPI
deprecatProvides a Python decorator to mark functions,…
permissive · top 15,000 on PyPI
zope.deprecationProvides a decorator and utilities to mark…
unclear · top 5,000 on PyPI
DeprecatedProvides a @deprecated decorator to mark…
permissive · top 1,000 on PyPI
griffe-warnings-deprecatedExtends Griffe to recognize and render PEP 702…
permissive · top 15,000 on PyPI
legacy-api-wrapProvides a decorator to wrap legacy function…
copyleft · top 5,000 on PyPI
flake8-deprecatedA flake8 plugin that detects calls to…
copyleft · top 15,000 on PyPI
zope.deferredimportDefers module imports until they are actually…
unclear · top 15,000 on PyPI