From 8143745a4a3e643996281886316c71f98df72681d7a93ef8c2574a9e23e4010b Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 3 Feb 2025 13:20:01 +0000 Subject: [PATCH] - update to 1.2.18: * Fix #78: Fix configuration for Packit 1.0.0 * Fix #79: Fix the configuration for the intersphinx mapping in the Sphinx documentation. See How to link to other documentation projects with Intersphinx. * Drop support for Python older than 3.7 in GitHub Actions. * Resolve Python 2.7 support issue introduced in v1.2.14 in sphinx.py. * Fix #69: Add extra_stacklevel argument for interoperating with other wrapper functions (refer to #68 for a concrete use case). * Fix #73: Update class method deprecation warnings for Python 3.13. * Fix #75: Update GitHub workflows and fix development dependencies for Python 3.12. * Fix #66: discontinue TravisCI and AppVeyor due to end of free support. * Fix #60: return a correctly dedented docstring when long docstring are using the D212 or D213 format. * Add support for Python 3.11. * Drop support for Python older than 3.7 in build systems like pytest and tox, while ensuring the library remains production-compatible. * Update GitHub workflow to run in recent Python versions. * Fix #45: Change the signature of the :func:`~deprecated.sphinx.deprecated` decorator to reflect the valid use cases. * Fix #48: Fix versionadded and versionchanged decorators: do not return a decorator factory, but a Wrapt adapter. * Fix configuration for AppVeyor: simplify the test scripts and OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Deprecated?expand=0&rev=26 --- .gitattributes | 23 +++ .gitignore | 1 + Deprecated-1.2.14.tar.gz | 3 + deprecated-1.2.15.tar.gz | 3 + deprecated-1.2.18.tar.gz | 3 + fix-python3.13-ftbfs.patch | 42 +++++ python-Deprecated.changes | 330 +++++++++++++++++++++++++++++++++++++ python-Deprecated.spec | 67 ++++++++ 8 files changed, 472 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Deprecated-1.2.14.tar.gz create mode 100644 deprecated-1.2.15.tar.gz create mode 100644 deprecated-1.2.18.tar.gz create mode 100644 fix-python3.13-ftbfs.patch create mode 100644 python-Deprecated.changes create mode 100644 python-Deprecated.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Deprecated-1.2.14.tar.gz b/Deprecated-1.2.14.tar.gz new file mode 100644 index 0000000..1a2fffb --- /dev/null +++ b/Deprecated-1.2.14.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3 +size 2974416 diff --git a/deprecated-1.2.15.tar.gz b/deprecated-1.2.15.tar.gz new file mode 100644 index 0000000..56351ea --- /dev/null +++ b/deprecated-1.2.15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d +size 2977612 diff --git a/deprecated-1.2.18.tar.gz b/deprecated-1.2.18.tar.gz new file mode 100644 index 0000000..b11e42c --- /dev/null +++ b/deprecated-1.2.18.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d +size 2928744 diff --git a/fix-python3.13-ftbfs.patch b/fix-python3.13-ftbfs.patch new file mode 100644 index 0000000..26e14dc --- /dev/null +++ b/fix-python3.13-ftbfs.patch @@ -0,0 +1,42 @@ +From 3b1aec9b8ff43f81cf7df9be92d0d383d759792e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Fri, 28 Jun 2024 07:52:59 +0200 +Subject: [PATCH] Update class method deprecation warnings for Python 3.13 + +Update the version range for modified deprecation warnings that was +introduced in efb3e60623e1dda88c2725a93223d290924e8666, since Python +3.13 reverted the change originally introduced in 3.9 and is back to +the old messages. This fixes tests with Python 3.13. + +See also https://github.com/GrahamDumpleton/wrapt/pull/260. +--- + tests/test_deprecated.py | 2 +- + tests/test_sphinx.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/test_deprecated.py b/tests/test_deprecated.py +index 0e467ae..c39229b 100644 +--- a/tests/test_deprecated.py ++++ b/tests/test_deprecated.py +@@ -191,7 +191,7 @@ def test_classic_deprecated_class_method__warns(classic_deprecated_class_method) + assert len(warns) == 1 + warn = warns[0] + assert issubclass(warn.category, DeprecationWarning) +- if sys.version_info >= (3, 9): ++ if (3, 9) <= sys.version_info < (3, 13): + assert "deprecated class method" in str(warn.message) + else: + assert "deprecated function (or staticmethod)" in str(warn.message) +diff --git a/tests/test_sphinx.py b/tests/test_sphinx.py +index a1d7753..8cf8e95 100644 +--- a/tests/test_sphinx.py ++++ b/tests/test_sphinx.py +@@ -301,7 +301,7 @@ def test_sphinx_deprecated_class_method__warns(sphinx_deprecated_class_method): + assert len(warns) == 1 + warn = warns[0] + assert issubclass(warn.category, DeprecationWarning) +- if sys.version_info >= (3, 9): ++ if (3, 9) <= sys.version_info < (3, 13): + assert "deprecated class method" in str(warn.message) + else: + assert "deprecated function (or staticmethod)" in str(warn.message) diff --git a/python-Deprecated.changes b/python-Deprecated.changes new file mode 100644 index 0000000..63ac931 --- /dev/null +++ b/python-Deprecated.changes @@ -0,0 +1,330 @@ +------------------------------------------------------------------- +Mon Feb 3 13:19:39 UTC 2025 - Dirk Müller + +- update to 1.2.18: + * Fix #78: Fix configuration for Packit 1.0.0 + * Fix #79: Fix the configuration for the intersphinx mapping in + the Sphinx documentation. See How to link to other + documentation projects with Intersphinx. + * Drop support for Python older than 3.7 in GitHub Actions. + * Resolve Python 2.7 support issue introduced in v1.2.14 in + sphinx.py. + * Fix #69: Add extra_stacklevel argument for interoperating + with other wrapper functions (refer to #68 for a concrete use + case). + * Fix #73: Update class method deprecation warnings for Python + 3.13. + * Fix #75: Update GitHub workflows and fix development + dependencies for Python 3.12. + * Fix #66: discontinue TravisCI and AppVeyor due to end of free + support. + * Fix #60: return a correctly dedented docstring when long + docstring are using the D212 or D213 format. + * Add support for Python 3.11. + * Drop support for Python older than 3.7 in build systems like + pytest and tox, while ensuring the library remains + production-compatible. + * Update GitHub workflow to run in recent Python versions. + * Fix #45: Change the signature of the + :func:`~deprecated.sphinx.deprecated` decorator to reflect + the valid use cases. + * Fix #48: Fix versionadded and versionchanged decorators: do + not return a decorator factory, but a Wrapt adapter. + * Fix configuration for AppVeyor: simplify the test scripts and + set the version format to match the current version. + * Change configuration for Tox: change the requirements for pip + to "pip >= 9.0.3, < 21" (Python 2.7, 3.4 and 3.5). install + typing when building on Python 3.4 (required by + Pytest->Attrs). run unit tests on Wrapt 1.13 (release + candidate). + * change the requirements for pip to "pip >= 9.0.3, < 21" + (Python 2.7, 3.4 and 3.5). + * install typing when building on Python 3.4 (required by + Pytest->Attrs). + * run unit tests on Wrapt 1.13 (release candidate). + * Migrating project to travis-ci.com. + * Avoid "Explicit markup ends without a blank line" when the + decorated function has no docstring. + * Fix #40: 'version' argument is required in Sphinx directives. + * Fix #41: :mod:`deprecated.sphinx`: strip Sphinx cross- + referencing syntax from warning message. + * Change in Tox and Travis CI configurations: enable unit + testing on Python 3.10. + * Fix packit configuration: use upstream_tag_template: + v{version}. + * Fix #33: Change the class + :class:`~deprecated.sphinx.SphinxAdapter`: add the + line_length keyword argument to the constructor to specify + the max line length of the directive text. Sphinx decorators + also accept the line_length argument. + * Fix #34: versionadded and versionchanged decorators don't + emit DeprecationWarning anymore on decorated classes. + * Change the Tox configuration to run tests on Python 2.7, + Python 3.4 and above (and PyPy 2.7 & 3.6). + * Update the classifiers in setup.py. + * Replace bumpversion by bump2version in setup.py and + documentation. + * Update configuration for Black and iSort. + * Fix the development requirement versions in setup.py for + Python 2.7 EOL. + * Fix #25: @deprecated respects global warning filters with + actions other than "ignore" and "always" on Python 3. + * Change the configuration for TravisCI to build on pypy and + pypy3. + * Change the configuration for TravisCI and AppVeyor: drop + configuration for Python 3.4 and add 3.8. + * Fix #20: Set the :func:`warnings.warn` stacklevel to 2 if the + Python implementation is PyPy. + * Fix packit configuration: use dist-git-branch: fedora-all. + * Change the Tox configuration to run tests on PyPy v2.7 and + 3.6. + * Fix #15: The @deprecated decorator doesn't set a warning + filter if the action keyword argument is not provided or + None. In consequences, the warning messages are only emitted + if the global filter allow it. For more information, see The + Warning Filter in the Python documentation. + * Fix #13: Warning displays the correct filename and line + number when decorating a class if wrapt does not have the + compiled c extension. + * The :ref:`api` documentation and the :ref:`tutorial` is + improved to explain how to use custom warning categories and + local filtering (warning filtering at function call). + * Fix #17: Customize the sidebar to add links to the + documentation to the source in GitHub and to the Bug tracker. + Add a logo in the sidebar and change the logo in the main + page to see the library version. + * Add a detailed documentation about :ref:`sphinx_deco`. + * Change the Tox configuration to test the library with Wrapt + 1.12.x. + * Fix #13: Warning displays the correct filename and line + number when decorating a function if wrapt does not have the + compiled c extension. + * Support packit for Pull Request tests and sync to Fedora + (thanks to Petr Hráček). Supported since v1.2.6. + * Add Black configuration file. + * Fix #9: Change the project's configuration: reinforce the + constraint to the Wrapt requirement. + * Upgrade project configuration (setup.py) to add the + project_urls property: Documentation, Source and Bug Tracker + URLs. + * Change the Tox configuration to test the library against + different Wrapt versions. + * Fix an issue with the AppVeyor build: upgrade setuptools + version in appveyor.yml, change the Tox configuration: set + py27,py34,py35: pip >= 9.0.3, < 19.2. + * Fix #6: Use :func:`inspect.isroutine` to check if the wrapped + object is a user-defined or built-in function or method. + * Upgrade Tox configuration to add support for Python 3.7. + Also, fix PyTest version for Python 2.7 and 3.4 (limited + support). Remove dependency 'requests[security]': useless to + build documentation. + * Upgrade project configuration (setup.py) to add support for + Python 3.7. + * Fix #4: Correct the class + :class:`~deprecated.classic.ClassicAdapter`: Don't pass + arguments to :meth:`object.__new__` (other than cls). + * Add missing docstring to the classes + :class:`~deprecated.classic.ClassicAdapter` and + :class:`~deprecated.sphinx.SphinxAdapter`. + * Change the configuration for TravisCI and AppVeyor: drop + configuration for Python 2.6 and 3.3. add configuration for + Python 3.7 (if available). Note Deprecated is no more tested + with Python 2.6 and 3.3. Those Python versions are EOL for + some time now and incur incompatibilities with Continuous + Integration tools like TravisCI and AppVeyor. However, this + library should still work perfectly... + * Fix #3: deprecated.sphinx decorators don't update the + docstring. + * Fix #2: a deprecated class is a class (not a function). Any + subclass of a deprecated class is also deprecated. + * Minor fix: add missing documentation in + :mod:`deprecated.sphinx` module. + * Add a MANIFEST.in file to package additional files like + "LICENSE.rst" in the source distribution. + * Add decorators for Sphinx directive integration: + versionadded, versionchanged, deprecated. That way, the + developer can document the changes. + * Add the version parameter to the @deprecated decorator: used + to specify the starting version number of the deprecation. + * Add a way to choose a DeprecationWarning subclass. + * Deprecated no longer supports Python 2.6 and 3.3. Those + Python versions are EOL for some time now and incur + maintenance and compatibility costs on the Deprecated core + team, and following up with the rest of the community we + decided that they will no longer be supported starting on + this version. Users which still require those versions should + pin Deprecated to < 1.2. + * Fix #6: Use :func:`inspect.isroutine` to check if the wrapped + object is a user-defined or built-in function or method. + * Upgrade Tox configuration to add support for Python 3.7. + Also, fix PyTest version for Python 2.7 and 3.4 (limited + support). Remove dependency 'requests[security]': useless to + build documentation. + * Upgrade project configuration (setup.py) to add support for + Python 3.7. + * Fix #4: Correct the function :func:`~deprecated.deprecated`: + Don't pass arguments to :meth:`object.__new__` (other than + cls). + * Change the configuration for TravisCI and AppVeyor: drop + configuration for Python 2.6 and 3.3. add configuration for + Python 3.7. Note Deprecated is no more tested with Python + 2.6 and 3.3. Those Python versions are EOL for some time now + and incur incompatibilities with Continuous Integration tools + like TravisCI and AppVeyor. However, this library should + still work perfectly... + * Fix #2: a deprecated class is a class (not a function). Any + subclass of a deprecated class is also deprecated. + * Add a MANIFEST.in file to package additional files like + "LICENSE.rst" in the source distribution. + * Minor correction in CONTRIBUTING.rst for Sphinx builds: add + the -d option to put apart the doctrees from the generated + documentation and avoid warnings with epub generator. + * Fix in documentation configuration: remove hyphens in + epub_identifier (ISBN number has no hyphens). + * Fix in Tox configuration: set the versions interval of each + dependency. + * Change in documentation: improve sentence phrasing in the + Tutorial. + * Restore the epub title to "Python Deprecated Library v1.1 + Documentation" (required for Lulu.com). + * Change in :func:`deprecated.deprecated` decorator: you can + give a "reason" message to help the developer choose another + class, function or method. + * Add support for Universal Wheel (Python versions 2.6, 2.7, + 3.3, 3.4, 3.5, 3.6 and PyPy). + * Add missing __doc__ and __version__ attributes to + :mod:`deprecated` module. + * Add an extensive documentation of Deprecated Library. + * Improve Travis configuration file (compatibility from Python + 2.6 to 3.7-dev, and PyPy). + * Add AppVeyor configuration file. + * Add Tox configuration file. + * Add BumpVersion configuration file. + * Improve project settings: add a long description for the + project. Set the license and the development status in the + classifiers property. + * Add the :file:`CONTRIBUTING.rst` file: "How to contribute to + Deprecated Library". + * deprecated: Created @deprecated decorator + +------------------------------------------------------------------- +Mon Nov 25 12:43:42 UTC 2024 - John Paul Adrian Glaubitz + +- Update to 1.2.15 + * Resolve Python 2.7 support issue introduced in v1.2.14 in ``sphinx.py``. + * Fix #69: Add ``extra_stacklevel`` argument for interoperating with + other wrapper functions (refer to #68 for a concrete use case). + * Fix #73: Update class method deprecation warnings for Python 3.13. + * Fix #75: Update GitHub workflows and fix development dependencies for Python 3.12. + * Fix #66: discontinue TravisCI and AppVeyor due to end of free support. +- Adjust upstream source name in spec file +- Drop fix-python3.13-ftbfs.patch, merged upstream + +------------------------------------------------------------------- +Tue Sep 24 12:03:30 UTC 2024 - ecsos + +- Fix build error under Leap. + +------------------------------------------------------------------- +Mon Jul 22 09:42:29 UTC 2024 - John Paul Adrian Glaubitz + +- Cherry-pick upstream patch to fix build with Python 3.13 + * fix-python3.13-ftbfs.patch + +------------------------------------------------------------------- +Mon May 29 16:00:37 UTC 2023 - Dirk Müller + +- update to 1.2.14: + * Bug fix release + * Fix return a correctly dedented docstring when long + docstring are using the D212 or D213 format. + * Add support for Python 3.11. + * Drop support for Python older than 3.7 in build systems like + pytest and tox, while ensuring the library remains + production-compatible. + +------------------------------------------------------------------- +Fri Apr 21 12:20:29 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:40:54 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Mon Oct 31 13:16:26 UTC 2022 - Ben Greiner + +- Provid canonicalized lowercase name +- Don't catchall files section + +------------------------------------------------------------------- +Mon Dec 6 20:04:59 UTC 2021 - Dirk Müller + +- update to 1.2.13: + * Change the signature of the :func:`~deprecated.sphinx.deprecated` decorator to reflect + the valid use cases. + * Fix ``versionadded`` and ``versionchanged`` decorators: do not return a decorator factory, + but a Wrapt adapter. + * change the requirements for ``pip`` to "pip >= 9.0.3, < 21" (Python 2.7, 3.4 and 3.5). + * install ``typing`` when building on Python 3.4 (required by Pytest->Attrs). + * run unit tests on Wrapt 1.13 (release candidate). + +------------------------------------------------------------------- +Sun Apr 18 13:29:45 UTC 2021 - Ben Greiner + +- Update to 1.2.12 + * Avoid "Explicit markup ends without a blank line" when the + decorated function has no docstring. + * Fix #40: 'version' argument is required in Sphinx directives. + * Fix #41: deprecated.sphinx: strip Sphinx cross-referencing + syntax from warning message. +- Release 1.2.11 + * Fix packit configuration: use upstream_tag_template: v{version}. + * Fix #33: Change the class ~deprecated.sphinx.SphinxAdapter: add + the line_length keyword argument to the constructor to specify + the max line length of the directive text. Sphinx decorators + also accept the line_length argument. + * Fix #34: versionadded and versionchanged decorators don't emit + DeprecationWarning anymore on decorated classes. + +------------------------------------------------------------------- +Wed Jul 8 21:53:35 UTC 2020 - Ondřej Súkup + +- Update to 1.2.10 + * Fix #25: @deprecated respects global warning filters with actions other + than “ignore” and “always” on Python 3. + +------------------------------------------------------------------- +Mon May 4 08:17:33 UTC 2020 - Johannes Grassler + +- update to 1.2.9 + * Fix #20: Set the :func:warnings.warn stacklevel to 2 if + the Python implementation is PyPy + * Fix packit configuration: use dist-git-branch: fedora-all + * Change the Tox configuration to run tests on PyPy v2.7 and 3.6. + * Fix #15: The @deprecated decorator doesn't set a warning + filter if the action keyword argument is not provided or None. + * Fix #13: Warning displays the correct filename and line + number when decorating a class if wrapt does not have the compiled c + extension. + +------------------------------------------------------------------- +Mon Jan 13 15:06:49 UTC 2020 - Marketa Calabkova + +- update to 1.2.7 + * Fix: Warning displays the correct filename and line number when + decorating a function if wrapt does not have the compiled c extension. + * Add Black configuration file. + +------------------------------------------------------------------- +Mon Jul 22 09:11:53 UTC 2019 - Tomáš Chvátal + +- Update to 1.2.6: + * Fix #9: Change the project's configuration: reinforce the constraint to the Wrapt requirement. + +------------------------------------------------------------------- +Wed Mar 6 09:00:04 UTC 2019 - Tomáš Chvátal + +- Initial commit, needed by PyGithub diff --git a/python-Deprecated.spec b/python-Deprecated.spec new file mode 100644 index 0000000..26ef0a4 --- /dev/null +++ b/python-Deprecated.spec @@ -0,0 +1,67 @@ +# +# spec file for package python-Deprecated +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%{?sle15_python_module_pythons} +Name: python-Deprecated +Version: 1.2.18 +Release: 0 +Summary: Python @deprecated decorator +License: MIT +Group: Development/Languages/Python +URL: https://github.com/tantale/deprecated +Source: https://files.pythonhosted.org/packages/source/d/deprecated/deprecated-%{version}.tar.gz +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wrapt >= 1.10} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-wrapt >= 1.10 +BuildArch: noarch +Provides: python-deprecated = %{version}-%{release} +%python_subpackages + +%description +If you need to mark a function or a method as deprecated, +you can use the ``@deprecated`` decorator. + +%prep +%setup -q -n deprecated-%{version} + +%build +%python_build + +%install +%python_install +# Fix python-bytecode-inconsistent-mtime +pushd %{buildroot}%{python_sitelib} +find . -name '*.pyc' -exec rm -f '{}' ';' +python%python_bin_suffix -m compileall *.py ';' +popd +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pytest + +%files %{python_files} +%doc CHANGELOG.rst README.md +%license LICENSE.rst +%{python_sitelib}/deprecated +%{python_sitelib}/Deprecated-%{version}*-info + +%changelog