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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Deprecated-1.2.2-py2.py3-none-any.whl (8.6 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: Deprecated-1.2.2.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.1

File hashes

Hashes for Deprecated-1.2.2.tar.gz
Algorithm Hash digest
SHA256 937dd6e058f0bdc1d1cd51fdee8a2cfd581d56a6b0430a8737fd8fc891ea4e13
MD5 ebc8f3d6bf1bbab25390efc412f73be7
BLAKE2b-256 16064bab1aebc26982d01130f0aabf2cf57319a9df882cc1172dc1b8fa6073d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: Deprecated-1.2.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.1

File hashes

Hashes for Deprecated-1.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d6aaf8ad3b14e951e6d4a6f4b0ad67d10e3aad96984ae9a917a6b4eac1786e56
MD5 d1ab35c210c79d35027cedf73cb9305f
BLAKE2b-256 9b8de738877a7acab527aebce3cb9d7a0c3b387f4deedc005bf0727d90293ac4

See more details on using hashes here.

Supported by

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