Python @deprecated decorator to deprecate old python classes, functions or methods.
Project description
Deprecated is Easy to Use
If you need to mark a function or a method as deprecated, you can use the @deprecated decorator:
Save in a hello.py:
from deprecated import deprecated
@deprecated(version='1.2.1', reason="You should use another function")
def some_old_function(x, y):
return x + y
class SomeClass(object):
@deprecated(version='1.3.0', reason="This method is deprecated")
def some_old_method(self, x, y):
return x + y
some_old_function(12, 34)
obj = SomeClass()
obj.some_old_method(5, 8)
And Easy to Setup
And run it:
$ pip install Deprecated
$ python hello.py
hello.py:15: DeprecationWarning: Call to deprecated function (or staticmethod) some_old_function.
(You should use another function) -- Deprecated since version 1.2.0.
some_old_function(12, 34)
hello.py:17: DeprecationWarning: Call to deprecated method some_old_method.
(This method is deprecated) -- Deprecated since version 1.3.0.
obj.some_old_method(5, 8)
You can document your code
Have you ever wonder how to document that some functions, classes, methods, etc. are deprecated? This is now possible with the integrated Sphinx directives:
For instance, in hello_sphinx.py:
from deprecated.sphinx import deprecated
from deprecated.sphinx import versionadded
from deprecated.sphinx import versionchanged
@versionadded(version='1.0', reason="This function is new")
def function_one():
'''This is the function one'''
@versionchanged(version='1.0', reason="This function is modified")
def function_two():
'''This is the function two'''
@deprecated(version='1.0', reason="This function will be removed soon")
def function_three():
'''This is the function three'''
function_one()
function_two()
function_three() # warns
help(function_one)
help(function_two)
help(function_three)
The result it immediate
Run it:
$ python hello_sphinx.py
hello_sphinx.py:23: DeprecationWarning: Call to deprecated function (or staticmethod) function_three.
(This function will be removed soon) -- Deprecated since version 1.0.
function_three() # warns
Help on function function_one in module __main__:
function_one()
This is the function one
.. versionadded:: 1.0
This function is new
Help on function function_two in module __main__:
function_two()
This is the function two
.. versionchanged:: 1.0
This function is modified
Help on function function_three in module __main__:
function_three()
This is the function three
.. deprecated:: 1.0
This function will be removed soon
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
deprecated-1.2.15.tar.gz
(3.0 MB
view details)
Built Distribution
File details
Details for the file deprecated-1.2.15.tar.gz
.
File metadata
- Download URL: deprecated-1.2.15.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d |
|
MD5 | 432cf87ac5dd772b62f6f0ed7a18ca57 |
|
BLAKE2b-256 | 2ea353e7d78a6850ffdd394d7048a31a6f14e44900adedf190f9a165f6b69439 |
File details
Details for the file Deprecated-1.2.15-py2.py3-none-any.whl
.
File metadata
- Download URL: Deprecated-1.2.15-py2.py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320 |
|
MD5 | af469d4c09de3a05346defeadb015ae3 |
|
BLAKE2b-256 | 1d8fc7f227eb42cfeaddce3eb0c96c60cbca37797fa7b34f8e1aeadf6c5c0983 |