---
title: "💭 Deprecations via warnings don’t work for Python libraries"
description: "!https://simonwillison.net/2025/Dec/9/deprecations-via-warnings/#atom-everything"
date: 2025-12-09
published: true
tags:
  - python
  - thought
template: link
---


<div class="embed-card embed-card-external">
  <a href="https://simonwillison.net/2025/Dec/9/deprecations-via-warnings/#atom-everything" class="embed-card-link" target="_blank" rel="noopener noreferrer">
    <div class="embed-card-content">
      <div class="embed-card-title">Deprecations via warnings don’t work for Python libraries</div>
      <div class="embed-card-description">Seth Larson reports that urllib3 2.6.0 released on the 5th of December and finally removed the HTTPResponse.getheaders() and HTTPResponse.getheader(name, default) methods, which have been marked as...</div>
      <div class="embed-card-meta">Simon Willison’s Weblog &middot; simonwillison.net</div>
    </div>
  </a>
</div>


Deprecation warnings are so easy to miss, ignore, become numb to.  Creating tools and processes to catch and address these issues is important.  I'm surprised such big projects let deprecations just hang around for years.

!!! note

    This post is a <a href="/thoughts/" class="wikilink" data-title="Thoughts" data-description="These are generally my thoughts on a web page or some sort of url, except a rare few don&#39;t have a link. These are dual published off of my..." data-date="2024-04-01">thought</a>. It's a short note that I make
    about someone else's content online <a href="/tags/thoughts/" class="hashtag-tag" data-tag="thoughts" data-count=2 data-reading-time=3 data-reading-time-text="3 minutes">#thoughts</a>
