skillfed

debtcollector

A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.

debtcollector v3.1.0 1.5M downloads/30d#3,845 on PyPI
Permissive license Apache-2.0 Active released

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 debtcollector

uv

uv add debtcollector

poetry

poetry add debtcollector

Installing 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

Environment :: OpenStackIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Typing :: Typed

Tags

deprecation warnings librarymanage technical debt pythondeprecation patternswarn about api changesnon-destructive deprecationpython warnings module helper
deprecationapi-lifecycleopenstack

More Software Development packages