Skip to main content

deprecation

Documentation Status

Fork of Brian Curtin's deprecation library, updated primarily for use in the snakebids library.

The following README is copied from the original library, with relevant modifications. The linked documentation is generally applicable, although installation instructions will refer back to the original library.

README

The deprecated library provides a deprecated decorator and a fail_if_not_removed decorator for your tests. Together, the two enable the automation of several things:

  1. The docstring of a deprecated method gets the deprecation details appended to the end of it. If you generate your API docs direct from your source, you don't need to worry about writing your own notification. You also don't need to worry about forgetting to write it. It's done for you.
  2. Rather than having code live on forever because you only deprecated it but never actually moved on from it, you can have your tests tell you when it's time to remove the code. The @deprecated decorator can be told when it's time to entirely remove the code, which causes @fail_if_not_removed to raise an AssertionError, causing either your unittest or py.test tests to fail.

See http://deprecation.readthedocs.io/ for the full documentation.

Installation

pip install pvandyken.deprecated

Usage

from pvandyken import deprecated

@deprecated.deprecated(deprecated_in="1.0", removed_in="2.0",
                        current_version=__version__,
                        details="Use the bar function instead")
def foo():
   """Do some stuff"""
   return 1

...but doesn't Python ignore DeprecationWarning?

Yes, by default since 2.7—and for good reason 1 —and this works fine with that.

  1. It often makes sense for you to run your tests with a -W flag or the PYTHONWARNINGS environment variable so you catch warnings in development and handle them appropriately. The warnings raised by this library show up there, as they're subclasses of the built-in DeprecationWarning. See the Command Line and Environment Variable documentation for more details.
  2. Even if you don't enable those things, the behavior of this library remains the same. The docstrings will still be updated and the tests will still fail when they need to. You'll get the benefits regardless of what Python cares about DeprecationWarning.

  1. Exposing application users to DeprecationWarnings that are emitted by lower-level code needlessly involves end-users in "how things are done." It often leads to users raising issues about warnings they're presented, which on one hand is done rightfully so, as it's been presented to them as some sort of issue to resolve. However, at the same time, the warning could be well known and planned for. From either side, loud DeprecationWarnings can be seen as noise that isn't necessary outside of development. ↩

Metadata

Release files for pvandyken-deprecated 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pvandyken-deprecated 0.0.1
File Size Uploaded
pvandyken_deprecated-0.0.1.tar.gz 10.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pvandyken-deprecated 0.0.1
File Interpreter ABI Platform
pvandyken_deprecated-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.3 kB

Release files / pvandyken_deprecated-0.0.1.tar.gz

Download URL pvandyken_deprecated-0.0.1.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
dd4d0cf9e76c6bc143898e553c92cf9cad332c0bd9bba07ed14f5ad454e11b51
BLAKE2b-256 checksum
How to use checksums
4c620bd4079527bde9082ef1afb7f06cee13c820dc6134887a93ee6218333c65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.1 CPython/3.10.7 Linux/5.15.90.1-microsoft-standard-WSL2

Release files / pvandyken_deprecated-0.0.1-py3-none-any.whl

Download URL pvandyken_deprecated-0.0.1-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52b0eaf4008b1066cba9ae2031ff7a4a2cb74682b9084c0658a5e449464f224e
BLAKE2b-256 checksum
How to use checksums
8f3aaa56adb4fde85cbe6e4883a909b0b6ba4f2bc8c3bfb5443fa7be73764f3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.1 CPython/3.10.7 Linux/5.15.90.1-microsoft-standard-WSL2

Release history Release notifications | RSS feed

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page