Deprecated Library
------------------
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:
.. code:: python
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:
.. code:: bash
$ 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:
.. code:: python
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:
.. code:: bash
$ 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
`````
* `Python package index (PyPi) <https://pypi.org/project/Deprecated/>`_
* `GitHub website <https://github.com/laurent-laporte-pro/deprecated>`_
* `Read The Docs <https://readthedocs.org/projects/deprecated>`_
* `EBook on Lulu.com <http://www.lulu.com/commerce/index.php?fBuyContent=21305117>`_
* `StackOverFlow Q&A <https://stackoverflow.com/a/40301488/1513933>`_
* `Development version
<https://github.com/laurent-laporte-pro/deprecated/zipball/master#egg=Deprecated-dev>`_
Raw data
{
"_id": null,
"home_page": "https://github.com/laurent-laporte-pro/deprecated",
"name": "Deprecated",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7",
"maintainer_email": null,
"keywords": "deprecate, deprecated, deprecation, warning, warn, decorator",
"author": "Laurent LAPORTE",
"author_email": "laurent.laporte.pro@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz",
"platform": "any",
"description": "\nDeprecated Library\n------------------\n\nDeprecated is Easy to Use\n`````````````````````````\n\nIf you need to mark a function or a method as deprecated,\nyou can use the ``@deprecated`` decorator:\n\nSave in a hello.py:\n\n.. code:: python\n\n from deprecated import deprecated\n\n\n @deprecated(version='1.2.1', reason=\"You should use another function\")\n def some_old_function(x, y):\n return x + y\n\n\n class SomeClass(object):\n @deprecated(version='1.3.0', reason=\"This method is deprecated\")\n def some_old_method(self, x, y):\n return x + y\n\n\n some_old_function(12, 34)\n obj = SomeClass()\n obj.some_old_method(5, 8)\n\n\nAnd Easy to Setup\n`````````````````\n\nAnd run it:\n\n.. code:: bash\n\n $ pip install Deprecated\n $ python hello.py\n hello.py:15: DeprecationWarning: Call to deprecated function (or staticmethod) some_old_function.\n (You should use another function) -- Deprecated since version 1.2.0.\n some_old_function(12, 34)\n hello.py:17: DeprecationWarning: Call to deprecated method some_old_method.\n (This method is deprecated) -- Deprecated since version 1.3.0.\n obj.some_old_method(5, 8)\n\n\nYou can document your code\n``````````````````````````\n\nHave you ever wonder how to document that some functions, classes, methods, etc. are deprecated?\nThis is now possible with the integrated Sphinx directives:\n\nFor instance, in hello_sphinx.py:\n\n.. code:: python\n\n from deprecated.sphinx import deprecated\n from deprecated.sphinx import versionadded\n from deprecated.sphinx import versionchanged\n\n\n @versionadded(version='1.0', reason=\"This function is new\")\n def function_one():\n '''This is the function one'''\n\n\n @versionchanged(version='1.0', reason=\"This function is modified\")\n def function_two():\n '''This is the function two'''\n\n\n @deprecated(version='1.0', reason=\"This function will be removed soon\")\n def function_three():\n '''This is the function three'''\n\n\n function_one()\n function_two()\n function_three() # warns\n\n help(function_one)\n help(function_two)\n help(function_three)\n\n\nThe result it immediate\n```````````````````````\n\nRun it:\n\n.. code:: bash\n\n $ python hello_sphinx.py\n\n hello_sphinx.py:23: DeprecationWarning: Call to deprecated function (or staticmethod) function_three.\n (This function will be removed soon) -- Deprecated since version 1.0.\n function_three() # warns\n\n Help on function function_one in module __main__:\n\n function_one()\n This is the function one\n\n .. versionadded:: 1.0\n This function is new\n\n Help on function function_two in module __main__:\n\n function_two()\n This is the function two\n\n .. versionchanged:: 1.0\n This function is modified\n\n Help on function function_three in module __main__:\n\n function_three()\n This is the function three\n\n .. deprecated:: 1.0\n This function will be removed soon\n\n\nLinks\n`````\n\n* `Python package index (PyPi) <https://pypi.org/project/Deprecated/>`_\n* `GitHub website <https://github.com/laurent-laporte-pro/deprecated>`_\n* `Read The Docs <https://readthedocs.org/projects/deprecated>`_\n* `EBook on Lulu.com <http://www.lulu.com/commerce/index.php?fBuyContent=21305117>`_\n* `StackOverFlow Q&A <https://stackoverflow.com/a/40301488/1513933>`_\n* `Development version\n <https://github.com/laurent-laporte-pro/deprecated/zipball/master#egg=Deprecated-dev>`_\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python @deprecated decorator to deprecate old python classes, functions or methods.",
"version": "1.2.18",
"project_urls": {
"Bug Tracker": "https://github.com/laurent-laporte-pro/deprecated/issues",
"Documentation": "https://deprecated.readthedocs.io/en/latest/",
"Homepage": "https://github.com/laurent-laporte-pro/deprecated",
"Source": "https://github.com/laurent-laporte-pro/deprecated"
},
"split_keywords": [
"deprecate",
" deprecated",
" deprecation",
" warning",
" warn",
" decorator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6ec6ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041",
"md5": "aef0a32d82c9ba85b949ea93d27a43cb",
"sha256": "bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"
},
"downloads": -1,
"filename": "Deprecated-1.2.18-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "aef0a32d82c9ba85b949ea93d27a43cb",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7",
"size": 9998,
"upload_time": "2025-01-27T10:46:09",
"upload_time_iso_8601": "2025-01-27T10:46:09.186283Z",
"url": "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "989706afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2",
"md5": "d01ff749b9895432b67a003b6b30c4c4",
"sha256": "422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"
},
"downloads": -1,
"filename": "deprecated-1.2.18.tar.gz",
"has_sig": false,
"md5_digest": "d01ff749b9895432b67a003b6b30c4c4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7",
"size": 2928744,
"upload_time": "2025-01-27T10:46:25",
"upload_time_iso_8601": "2025-01-27T10:46:25.700002Z",
"url": "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-27 10:46:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "laurent-laporte-pro",
"github_project": "deprecated",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "deprecated"
}