Skip to main content

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

Project details


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.12.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

Deprecated-1.2.12-py2.py3-none-any.whl (9.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Deprecated-1.2.12.tar.gz.

File metadata

  • Download URL: Deprecated-1.2.12.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/51.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.2

File hashes

Hashes for Deprecated-1.2.12.tar.gz
Algorithm Hash digest
SHA256 6d2de2de7931a968874481ef30208fd4e08da39177d61d3d4ebdf4366e7dbca1
MD5 5b0ee42dfda7b482fcf8fc3df823454c
BLAKE2b-256 52ab30ae1f10e27385b3d2a4120b8edbcb187ba9ae2c4daf811f4f823aa4f0e2

See more details on using hashes here.

Provenance

File details

Details for the file Deprecated-1.2.12-py2.py3-none-any.whl.

File metadata

  • Download URL: Deprecated-1.2.12-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/51.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.2

File hashes

Hashes for Deprecated-1.2.12-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 08452d69b6b5bc66e8330adde0a4f8642e969b9e1702904d137eeb29c8ffc771
MD5 5a2948b207c2c0713a7942d9a76bf6a2
BLAKE2b-256 fb73994edfcba74443146c84b91921fcc269374354118d4f452fb0c54c1cbb12

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page