Skip to main content

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

Release files for Deprecated 1.2.13

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

Source distribution (sdist)

Source distribution for Deprecated 1.2.13
File Size Uploaded
Deprecated-1.2.13.tar.gz 3.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for Deprecated 1.2.13
File Interpreter ABI Platform
Deprecated-1.2.13-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 3.0 MB

Release files / Deprecated-1.2.13.tar.gz

Download URL Deprecated-1.2.13.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d
BLAKE2b-256 checksum
How to use checksums
c8d1e412abc2a358a6b9334250629565fe12697ca1cdee4826239eddf944ddd0
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / Deprecated-1.2.13-py2.py3-none-any.whl

Download URL Deprecated-1.2.13-py2.py3-none-any.whl
Size 9.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d
BLAKE2b-256 checksum
How to use checksums
516ac3a0408646408f7283b7bc550c30a32cc791181ec4618592eec13e066ce3
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

1.3.1

2 release files

1.3.0

1 release file

1.2.18

2 release files

1.2.17

2 release files

1.2.16

2 release files

1.2.15

2 release files

1.2.14

2 release files

This release

1.2.13 This release

2 release files

1.2.12

2 release files

1.2.11

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

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