Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-nocasedict for openSUSE:Factory checked in at 2026-10-05 12:56:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-nocasedict (Old) and /work/SRC/openSUSE:Factory/.python-nocasedict.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nocasedict" Mon Oct 5 12:56:40 2026 rev:10 rq:1382325 version:2.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-nocasedict/python-nocasedict.changes 2026-03-09 16:12:11.687042673 +0100 +++ /work/SRC/openSUSE:Factory/.python-nocasedict.new.3698736/python-nocasedict.changes 2026-10-05 12:57:43.155003613 +0200 @@ -1,0 +2,13 @@ +Sun Oct 4 14:39:00 UTC 2026 - Dirk Müller <[email protected]> + +- update to 2.2.1: + * Dev: Fixed link to change log on GitHub release page. + * Development: Tolerate premature deletion of local + release/start branches. + * Docs: Migrated from our own support for generating summary + tables in the documentation to using autodocsumm to fix an + import error with Sphinx 9. + * Development: Upgraded GitHub Actions plugins to versions that + use node.js 24. + +------------------------------------------------------------------- Old: ---- nocasedict-2.2.0.tar.gz New: ---- nocasedict-2.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-nocasedict.spec ++++++ --- /var/tmp/diff_new_pack.VaBJ0s/_old 2026-10-05 12:57:44.217048161 +0200 +++ /var/tmp/diff_new_pack.VaBJ0s/_new 2026-10-05 12:57:44.220048287 +0200 @@ -17,7 +17,7 @@ Name: python-nocasedict -Version: 2.2.0 +Version: 2.2.1 Release: 0 Summary: A case-insensitive ordered dictionary for Python License: LGPL-2.1-or-later ++++++ nocasedict-2.2.0.tar.gz -> nocasedict-2.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/.github/workflows/publish.yml new/nocasedict-2.2.1/.github/workflows/publish.yml --- old/nocasedict-2.2.0/.github/workflows/publish.yml 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/.github/workflows/publish.yml 2026-08-31 10:51:31.782868900 +0200 @@ -172,7 +172,7 @@ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} INPUT_TAG_NAME: ${{ steps.set-tag.outputs.result }} INPUT_NAME: "Release ${{ steps.set-tag.outputs.result }}" - INPUT_BODY: "Change log https://pywbem.readthedocs.io/en/${{ steps.set-tag.outputs.result }}/changes.html" + INPUT_BODY: "Change log https://nocasedict.readthedocs.io/en/${{ steps.set-tag.outputs.result }}/changes.html" #-------- Creation of stable branch # Note: This does not seem to depend on the disablement of the "Restrict pushes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/.github/workflows/test.yml new/nocasedict-2.2.1/.github/workflows/test.yml --- old/nocasedict-2.2.0/.github/workflows/test.yml 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/.github/workflows/test.yml 2026-08-31 10:51:31.782868900 +0200 @@ -40,33 +40,18 @@ \"include\": [ \ { \ \"os\": \"ubuntu-latest\", \ - \"python-version\": \"3.9\", \ - \"package_level\": \"latest\" \ - }, \ - { \ - \"os\": \"ubuntu-latest\", \ \"python-version\": \"3.10\", \ - \"package_level\": \"latest\" \ - }, \ - { \ - \"os\": \"macos-latest\", \ - \"python-version\": \"3.9\", \ - \"package_level\": \"latest\" \ + \"package_level\": \"minimum\" \ }, \ { \ \"os\": \"macos-latest\", \ \"python-version\": \"3.14\", \ - \"package_level\": \"minimum\" \ - }, \ - { \ - \"os\": \"windows-latest\", \ - \"python-version\": \"3.9\", \ \"package_level\": \"latest\" \ }, \ { \ \"os\": \"windows-latest\", \ \"python-version\": \"3.14\", \ - \"package_level\": \"minimum\" \ + \"package_level\": \"latest\" \ } \ ] \ }" >> $GITHUB_OUTPUT; \ @@ -87,7 +72,7 @@ steps: - name: Set run type (normal, scheduled, release) id: set-run-type - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: result-encoding: string script: | @@ -102,11 +87,11 @@ console.log(result) return result - name: Checkout repo - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Display initial Python packages @@ -200,7 +185,7 @@ COVERALLS_SERVICE_NAME: github COVERALLS_SERVICE_JOB_ID: "${{ github.run_id }}" COVERALLS_SERVICE_NUMBER: "${{ github.workflow }}-${{ github.run_number }}" - uses: nick-fields/retry@v3 + uses: nick-fields/retry@v4 with: timeout_seconds: 30 max_attempts: 3 @@ -237,7 +222,7 @@ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_SERVICE_NUMBER: "${{ github.workflow }}-${{ github.run_number }}" - uses: nick-fields/retry@v3 + uses: nick-fields/retry@v4 with: timeout_seconds: 30 max_attempts: 3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/.safety-policy-develop.yml new/nocasedict-2.2.1/.safety-policy-develop.yml --- old/nocasedict-2.2.0/.safety-policy-develop.yml 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/.safety-policy-develop.yml 2026-08-31 10:51:31.782868900 +0200 @@ -17,6 +17,12 @@ # Should be set to False. ignore-cvss-unknown-severity: False + # Ignore unpinned requirements + # Default is true. "Unpinned" in this case means anything else but "==". + # Since we are checking against the minimum-constraints file, this check + # is enabled (false). + ignore-unpinned-requirements: false + # List of specific vulnerabilities to ignore. # {id}: # vulnerability ID # reason: {text} # optional: Reason for ignoring it. Will be reported in the Safety reports @@ -28,6 +34,50 @@ reason: The py package is no longer being fixed (latest version 1.11.0) 70612: reason: Disputed issue in jinja2 version 3.1.3 - No known fix + 82754: + reason: Fixed filelock version 3.20.1 requires Python>=3.10 and is used there + 83159: + reason: Fixed marshmallow version 4.3.0 requires Python>=3.10 and is used there + 84183: + reason: Fixed filelock version 3.20.3 requires Python>=3.10 and is used there + 84415: + reason: Fixed filelock version 3.20.3 requires Python>=3.10 and is used there + 89824: + reason: Fixed nltk version 3.9.4 requires Python>=3.10 and is used there + 89826: + reason: Fixed nltk version 3.9.4 requires Python>=3.10 and is used there + 89827: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + 90553: + reason: Fixed requests version 2.33.0 requires Python>=3.10 and is used there + 96886: + reason: Fixed urllib3 version 2.7.0 requires Python>=3.10 and is used there + SFTY-20260218-01424: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260122-20373: + reason: Fixed pytest version 9.0.3 requires Python>=3.10 and is used there + SFTY-20260318-30374: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260511-47957: + reason: Fixed urllib3 version 2.7.0 requires Python>=3.10 and is used there + SFTY-20260304-49322: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260320-58622: + reason: Fixed nltk version 3.9.4 requires Python>=3.10 and is used there + SFTY-20260616-58930: + reason: Fixed nltk version 3.10.0 requires Python>=3.10 and is used there + SFTY-20260309-65600: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260725-27090: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260731-71411: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260731-74449: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260731-78787: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there + SFTY-20260731-83123: + reason: Fixed nltk version 3.9.3 requires Python>=3.10 and is used there # Continue with exit code 0 when vulnerabilities are found. continue-on-vulnerability-error: False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/.safety-policy-install.yml new/nocasedict-2.2.1/.safety-policy-install.yml --- old/nocasedict-2.2.0/.safety-policy-install.yml 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/.safety-policy-install.yml 2026-08-31 10:51:31.782868900 +0200 @@ -17,11 +17,25 @@ # Should be set to False. ignore-cvss-unknown-severity: False + # Ignore unpinned requirements + # Default is true. "Unpinned" in this case means anything else but "==". + # Since we are checking against the minimum-constraints file, this check + # is enabled (false). + ignore-unpinned-requirements: false + # List of specific vulnerabilities to ignore. # {id}: # vulnerability ID # reason: {text} # optional: Reason for ignoring it. Will be reported in the Safety reports # expires: {date} # optional: Date when this ignore will expire ignore-vulnerabilities: + SFTY-20260420-60812: + reason: Fixed pip version 26.1 requires Python>=3.10 and is used there + SFTY-20260427-69629: + reason: Fixed pip version 26.1 requires Python>=3.10 and is used there + SFTY-20260601-69199: + reason: Fixed pip version 26.1.2 requires Python>=3.10 and is used there + SFTY-20260721-58460: + reason: Fixed setuptools version 83.0.0 requires Python>=3.10, but since setuptools is used in the build system, we are using the latest Python 3.9 version 82.0.0 # Continue with exit code 0 when vulnerabilities are found. continue-on-vulnerability-error: False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/AUTHORS.md new/nocasedict-2.2.1/AUTHORS.md --- old/nocasedict-2.2.0/AUTHORS.md 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/AUTHORS.md 2026-08-31 10:51:31.782868900 +0200 @@ -4,4 +4,5 @@ ``` Andreas Maier <[email protected]> Andreas Maier <[email protected]> +github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/Makefile new/nocasedict-2.2.1/Makefile --- old/nocasedict-2.2.0/Makefile 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/Makefile 2026-08-31 10:51:31.783269600 +0200 @@ -387,10 +387,6 @@ check_reqs: $(done_dir)/check_reqs_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: $@ done." -.PHONY: safety -safety: $(done_dir)/safety_develop_$(pymn)_$(PACKAGE_LEVEL).done $(done_dir)/safety_install_$(pymn)_$(PACKAGE_LEVEL).done - @echo "Makefile: $@ done." - .PHONY: pylint pylint: $(done_dir)/pylint_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: $@ done." @@ -444,8 +440,8 @@ git pull git tag -f $(VERSION) git push -f --tags - git branch -D release_$(VERSION) - git branch -D -r origin/release_$(VERSION) + -git branch -D release_$(VERSION) + -git branch -D -r origin/release_$(VERSION) rm -f branch.tmp @echo "Done: Triggered the publish workflow - now wait for it to finish and verify the publishing." @echo "Makefile: $@ done." @@ -489,8 +485,8 @@ git pull git tag -f $(VERSION)a0 git push -f --tags - git branch -D start_$(VERSION) - git branch -D -r origin/start_$(VERSION) + -git branch -D start_$(VERSION) + -git branch -D -r origin/start_$(VERSION) rm -f branch.tmp @echo "Done: Pushed the release start tag and cleaned up the release start branch." @echo "Makefile: $@ done." @@ -636,19 +632,12 @@ @echo "Makefile: Done running Mypy" echo "done" >$@ -$(done_dir)/safety_develop_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/develop_$(pymn)_$(PACKAGE_LEVEL).done $(safety_develop_policy_file) minimum-constraints-develop.txt minimum-constraints-install.txt - -$(call RM_FUNC,$@) - @echo "Makefile: Running Safety for development packages (and tolerate safety issues when RUN_TYPE is normal or scheduled)" - bash -c "safety check --policy-file $(safety_develop_policy_file) -r minimum-constraints-develop.txt --full-report || test '$(RUN_TYPE)' == 'normal' || test '$(RUN_TYPE)' == 'scheduled' || exit 1" - @echo "Makefile: Done running Safety for development packages" - echo "done" >$@ - -$(done_dir)/safety_install_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/develop_$(pymn)_$(PACKAGE_LEVEL).done $(safety_install_policy_file) minimum-constraints-install.txt - -$(call RM_FUNC,$@) - @echo "Makefile: Running Safety for install packages (and tolerate safety issues when RUN_TYPE is normal)" +.PHONY: safety +safety: $(done_dir)/develop_$(pymn)_$(PACKAGE_LEVEL).done Makefile $(safety_develop_policy_file) $(safety_install_policy_file) minimum-constraints-develop.txt minimum-constraints-install.txt minimum-constraints-install.txt + @echo "Makefile: Running Safety" bash -c "safety check --policy-file $(safety_install_policy_file) -r minimum-constraints-install.txt --full-report || test '$(RUN_TYPE)' == 'normal' || exit 1" - @echo "Makefile: Done running Safety for install packages" - echo "done" >$@ + bash -c "safety check --policy-file $(safety_develop_policy_file) -r minimum-constraints-develop.txt --full-report || test '$(RUN_TYPE)' == 'normal' || test '$(RUN_TYPE)' == 'scheduled' || exit 1" + @echo "Makefile: Done running Safety" $(done_dir)/check_reqs_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/develop_$(pymn)_$(PACKAGE_LEVEL).done minimum-constraints-develop.txt minimum-constraints-install.txt requirements.txt @echo "Makefile: Checking missing dependencies of the package" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/PKG-INFO new/nocasedict-2.2.1/PKG-INFO --- old/nocasedict-2.2.0/PKG-INFO 2026-01-04 23:02:51.407024900 +0100 +++ new/nocasedict-2.2.1/PKG-INFO 2026-08-31 10:52:02.092592000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: nocasedict -Version: 2.2.0 +Version: 2.2.1 Summary: A case-insensitive list for Python Author-email: Andreas Maier <[email protected]> Maintainer-email: Andreas Maier <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/base-requirements.txt new/nocasedict-2.2.1/base-requirements.txt --- old/nocasedict-2.2.0/base-requirements.txt 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/base-requirements.txt 2026-08-31 10:51:31.783269600 +0200 @@ -5,7 +5,8 @@ # Base dependencies (must be consistent with minimum-constraints-install.txt # and build-system.requires in pyproject.toml) -pip>=25.2 -setuptools>=78.1.1 +pip>=26.0.1; python_version == '3.9' +pip>=26.1.2; python_version >= '3.10' +setuptools>=82.0.0 setuptools-scm[toml]>=9.2.0 -wheel>=0.41.3 +wheel>=0.46.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/dev-requirements.txt new/nocasedict-2.2.1/dev-requirements.txt --- old/nocasedict-2.2.0/dev-requirements.txt 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/dev-requirements.txt 2026-08-31 10:51:31.783562700 +0200 @@ -6,14 +6,19 @@ # PEP517 package builder, used in Makefile build>=1.0.0 -virtualenv>=20.26.6 +virtualenv>=21.3.0 +python-discovery>=1.2.2 + pyproject-hooks>=1.1.0 # Change log towncrier>=22.8.0 # Unit test (e.g. imports into testcases): -pytest>=8.0.2 +pytest>=8.0.2; python_version == '3.9' +pytest>=9.0.3; python_version >= '3.10' +pluggy>=1.3.0; python_version == '3.9' +pluggy>=1.5.0; python_version >= '3.10' # Coverage reporting (no imports, invoked via coveralls script): # coveralls 3.3.0 pins coverage to <7.0, causing pip backtracking to happen. Pinning @@ -24,25 +29,19 @@ coveralls>=3.3.0 # Safety CI by pyup.io -safety>=3.6.1; python_version == '3.8' -safety>=3.7.0; python_version >= '3.9' -safety-schemas>=0.0.14; python_version == '3.8' -safety-schemas>=0.0.16; python_version >= '3.9' +safety>=3.8.1 +safety-schemas>=0.0.16 dparse>=0.6.4 -ruamel.yaml>=0.17.21 -click>=8.0.2 -Authlib>=1.6.5 -marshmallow>=3.15.0 -pydantic>=2.8.0; python_version == '3.8' -pydantic>=2.12.0; python_version >= '3.9' -pydantic_core>=2.20.0; python_version == '3.8' -pydantic_core>=2.41.1; python_version >= '3.9' -# typer >=0.17.0 causes import issue for safety, see https://github.com/pyupio/safety/issues/778 +ruamel.yaml>=0.19.1 +Authlib>=1.6.12 +marshmallow>=3.26.2 +pydantic>=2.12.0 +pydantic_core>=2.41.1 typer>=0.16.0 typer-cli>=0.16.0 typer-slim>=0.16.0 -# safety 3.4.0 depends on psutil~=6.1.0 -psutil~=6.1.0 +# safety 3.8.1 depends on ruststore>=0.10.4 only on Python>=3.10 +truststore>=0.10.4; python_version >= '3.10' # PyYAML is pulled in by dparse # PyYAML is also pulled in by dparse and python-coveralls @@ -60,8 +59,8 @@ Sphinx>=7.2.0 docutils>=0.18.1 sphinx-git>=10.1.1 -GitPython>=3.1.41 -Pygments>=2.15.0 +GitPython>=3.1.50 +Pygments>=2.20.0 sphinx-rtd-theme>=2.0.0 sphinxcontrib-applehelp>=1.0.4 sphinxcontrib-devhelp>=1.0.2 @@ -71,7 +70,7 @@ sphinxcontrib-qthelp>=1.0.3 sphinxcontrib-serializinghtml>=1.1.9 sphinxcontrib-websupport>=1.2.4 -autodocsumm>=0.2.12 +autodocsumm>=0.2.14 Babel>=2.11.0 # PyLint (no imports, invoked via pylint script) @@ -82,7 +81,7 @@ lazy-object-proxy>=1.4.3 wrapt>=1.14 # platformdirs is also used by tox -platformdirs>=4.1.0 +platformdirs>=4.3.6 isort>=5.0.9 tomlkit>=0.10.1 dill>=0.3.7 @@ -101,16 +100,12 @@ importlib-metadata>=4.8.3 # Mypy (no imports, invoked via mypy script) -mypy>=1.14.1; python_version == '3.8' -mypy>=1.17.1; python_version >= '3.9' +mypy>=1.17.1 # packaging (used by pytest, safety) # setuptools>=77.0.0 requires packaging>=24.2 to work properly packaging>=24.2 -# pluggy (used by pytest, tox) -pluggy>=1.3.0 - # Package dependency management tools pipdeptree>=2.24.0 pip-check-reqs>=2.5.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/docs/changes.rst new/nocasedict-2.2.1/docs/changes.rst --- old/nocasedict-2.2.0/docs/changes.rst 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/docs/changes.rst 2026-08-31 10:51:31.783687800 +0200 @@ -15,6 +15,27 @@ .. include:: tmp_changes.rst .. towncrier start +nocasedict 2.2.1 +---------------- + +Released: 2026-08-31 + +**Bug fixes:** + +* Fixed safety issues up to 2026-08-23. + +* Dev: Fixed link to change log on GitHub release page. + +* Development: Tolerate premature deletion of local release/start branches. + +* Docs: Migrated from our own support for generating summary tables in the + documentation to using autodocsumm to fix an import error with Sphinx 9. + +**Cleanup:** + +* Development: Upgraded GitHub Actions plugins to versions that use node.js 24. + + nocasedict 2.2.0 ---------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/docs/conf.py new/nocasedict-2.2.1/docs/conf.py --- old/nocasedict-2.2.0/docs/conf.py 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/docs/conf.py 2026-08-31 10:51:31.783687800 +0200 @@ -18,13 +18,7 @@ import sys import os -import inspect import setuptools_scm -from sphinx.ext.autosummary import Autosummary -from sphinx.ext.autosummary import get_documenter -from sphinx.util.inspect import safe_getattr -from sphinx.util import logging -from docutils.parsers.rst import directives XYZ_VAR = 'xyz' @@ -60,6 +54,7 @@ 'sphinx.ext.viewcode', # disabed, raises anexception 'sphinx.ext.ifconfig', 'sphinx_rtd_theme', + 'autodocsumm', ] # Add any paths that contain templates here, relative to this directory. @@ -469,6 +464,15 @@ # process. autodoc_mock_imports = [] +# -- Options for autodocsumm extension ------------------------------------ +# For documentation, see +# https://autodocsumm.readthedocs.io/en/latest/ + +# Default options to be applied by autodocsumm to ::autoclass and all +# other ::auto... directives. While it would nicely allow specifying autoclass +# options that have values, autodocsumm applies this setting to all directives, +# and autosummary cannot be turned off by directive, so we don't use it. +autodoc_default_options = {} # -- Options for intersphinx extension ------------------------------------ # For documentation, see @@ -536,166 +540,3 @@ extlinks = { } - -# -- Support for autoautosummary ---------------------------------------------- -# -# Idea taken from https://stackoverflow.com/a/30783465/1424462 -# - - -class AutoAutoSummary(Autosummary): - """ - Sphinx extension that automatically generates a table of public methods or - attributes of a class, using the AutoSummary extension. - (i.e. each row in the table shows the method or attribute name with a - link to the full description, and a one-line brief description). - - Usage in RST source:: - - .. autoclass:: path.to.class - :<autoclass-options>: - - .. rubric:: Methods - - .. autoautosummary:: path.to.class - :methods: - - .. rubric:: Attributes - - .. autoautosummary:: path.to.class - :attributes: - - .. rubric:: Details - - """ - - option_spec = { - 'methods': directives.unchanged, - 'attributes': directives.unchanged - } - option_spec.update(Autosummary.option_spec) - - required_arguments = 1 # Fully qualified class name - - def __init__(self, *args, **kwargs): - self._logger = logging.getLogger(__name__) # requires Sphinx 1.6.1 - self._log_prefix = "conf.py/AutoAutoSummary" - self._excluded_classes = ['BaseException'] - super().__init__(*args, **kwargs) - - def _get_members(self, class_obj, member_type, include_in_public=None): - """ - Return class members of the specified type. - - class_obj: Class object. - - member_type: Member type ('method' or 'attribute'). - - include_in_public: set/list/tuple with member names that should be - included in public members in addition to the public names (those - starting without underscore). - - Returns: - tuple(public_members, all_members): Names of the class members of - the specified member type (public / all). - """ - try: - app = self.state.document.settings.env.app - except AttributeError: - app = None - if not include_in_public: - include_in_public = [] - all_members = [] - for member_name in dir(class_obj): - try: - documenter = get_documenter( - app, - safe_getattr(class_obj, member_name), - class_obj) - except AttributeError: - continue - if documenter.objtype == member_type: - all_members.append(member_name) - public_members = [x for x in all_members - if x in include_in_public or not x.startswith('_')] - return public_members, all_members - - def _get_def_class(self, class_obj, member_name): - """ - Return the class object in MRO order that defines a member. - - class_obj: Class object that exposes (but not necessarily defines) the - member. I.e. starting point of the search. - - member_name: Name of the member (method or attribute). - - Returns: - Class object that defines the member. - """ - for def_class_obj in inspect.getmro(class_obj): - if member_name in def_class_obj.__dict__: - if def_class_obj.__name__ in self._excluded_classes: - return class_obj # Fall back to input class - return def_class_obj - self._logger.warning( - "%s: Definition class not found for member %s.%s, " - "defaulting to class %s", - self._log_prefix, class_obj.__name__, member_name, - class_obj.__name__) - return class_obj # Input class is better than nothing - - def run(self): - - try: - full_class_name = str(self.arguments[0]) - module_name, class_name = full_class_name.rsplit('.', 1) - module_obj = __import__(module_name, globals(), locals(), - [class_name]) - class_obj = getattr(module_obj, class_name) - if 'methods' in self.options: - _, methods = self._get_members( - class_obj, 'method', ['__init__']) - self.content = [] - for method in methods: - if method.startswith('_'): - # Skip private methods - continue - def_class = self._get_def_class(class_obj, method) - def_module_name = def_class.__module__ - if def_module_name.startswith('nocasedict'): - def_module_name = def_module_name.split('.')[0] - # As of Sphinx 8.2.3, autosummary method references need - # to be relative to the Python package, in order to avoid - # the warning: - # "Summarised items should not include the current module". - content_str = f"~{def_class.__name__}.{method}" - self.content.append(content_str) - elif 'attributes' in self.options: - _, attributes = self._get_members(class_obj, 'attribute') - self.content = [] - for attrib in attributes: - if attrib.startswith('_'): - # Skip private attributes - continue - def_class = self._get_def_class(class_obj, attrib) - def_module_name = def_class.__module__ - if def_module_name.startswith('nocasedict'): - def_module_name = def_module_name.split('.')[0] - # As of Sphinx 8.2.3, autosummary attribute references need - # to be relative to the Python package, in order to avoid - # the warning: - # "Summarised items should not include the current module". - content_str = f"~{def_class.__name__}.{attrib}" - self.content.append(content_str) - - except Exception as exc: # pylint: disable=broad-exception-caught - self._logger.error( - "%s: Internal error: %s: %s", - self._log_prefix, exc.__class__.__name__, exc) - - return super().run() - - -def setup(app): - """Additional Sphinx setup""" - app.add_directive('autoautosummary', AutoAutoSummary) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/docs/reference.rst new/nocasedict-2.2.1/docs/reference.rst --- old/nocasedict-2.2.0/docs/reference.rst 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/docs/reference.rst 2026-08-31 10:51:31.783687800 +0200 @@ -15,24 +15,10 @@ .. autoclass:: nocasedict.NocaseDict :members: - :special-members: __getitem__ - - .. # Note, we want to exclude __init__. Specifying one other special member - .. # ba name causes __init__ to be excluded and all other special methods to - .. # be included. - - .. rubric:: Methods - - .. autoautosummary:: nocasedict.NocaseDict - :methods: - :nosignatures: - - .. rubric:: Attributes - - .. autoautosummary:: nocasedict.NocaseDict - :attributes: - - .. rubric:: Details + :special-members: + :exclude-members: __init__,__weakref__,__hash__ + :autosummary: + :autosummary-inherited-members: .. _`Class HashableMixin`: @@ -44,19 +30,9 @@ .. autoclass:: nocasedict.HashableMixin :members: :special-members: __hash__ - - .. rubric:: Methods - - .. autoautosummary:: nocasedict.HashableMixin - :methods: - :nosignatures: - - .. rubric:: Attributes - - .. autoautosummary:: nocasedict.HashableMixin - :attributes: - - .. rubric:: Details + :exclude-members: __init__,__weakref__ + :autosummary: + :autosummary-inherited-members: .. _`Mixin generator function KeyableByMixin()`: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/minimum-constraints-develop.txt new/nocasedict-2.2.1/minimum-constraints-develop.txt --- old/nocasedict-2.2.0/minimum-constraints-develop.txt 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/minimum-constraints-develop.txt 2026-08-31 10:51:31.783687800 +0200 @@ -10,7 +10,8 @@ # PEP517 package builder, used in Makefile build==1.0.0 -virtualenv==20.26.6 +virtualenv==21.3.0 +python-discovery==1.2.2 pyproject-hooks==1.1.0 # Change log @@ -19,7 +20,10 @@ click-default-group==1.2.4 # Unit test (e.g. imports into testcases): -pytest==8.0.2 +pytest==8.0.2; python_version == '3.9' +pytest==9.0.3; python_version >= '3.10' +pluggy==1.3.0; python_version == '3.9' +pluggy==1.5.0; python_version >= '3.10' # Install test: six==1.16.0 @@ -30,24 +34,18 @@ coveralls==3.3.0 # Safety CI by pyup.io -safety==3.6.1; python_version == '3.8' -safety==3.7.0; python_version >= '3.9' -safety-schemas==0.0.14; python_version == '3.8' -safety-schemas==0.0.16; python_version >= '3.9' +safety==3.8.1 +safety-schemas==0.0.16 dparse==0.6.4 -ruamel.yaml==0.17.21 -click==8.0.2 -Authlib==1.6.5 -marshmallow==3.15.0 -pydantic==2.8.0; python_version == '3.8' -pydantic==2.12.0; python_version >= '3.9' -pydantic_core==2.20.0; python_version == '3.8' -pydantic_core==2.41.1; python_version >= '3.9' +ruamel.yaml==0.19.1 +Authlib==1.6.12 +marshmallow==3.26.2 +pydantic==2.12.0 +pydantic_core==2.41.1 typer==0.16.0 typer-cli==0.16.0 typer-slim==0.16.0 -# safety 3.4.0 requires psutil~=6.1.0 -psutil~=6.1.0 +truststore==0.10.4; python_version >= '3.10' # PyYAML is pulled in by dparse PyYAML==6.0.2 @@ -59,8 +57,8 @@ Sphinx==7.2.0 docutils==0.18.1 sphinx-git==10.1.1 -GitPython==3.1.41 -Pygments==2.15.0 +GitPython==3.1.59 +Pygments==2.20.0 sphinx-rtd-theme==2.0.0 sphinxcontrib-applehelp==1.0.4 sphinxcontrib-devhelp==1.0.2 @@ -70,7 +68,7 @@ sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.9 sphinxcontrib-websupport==1.2.4 -autodocsumm==0.2.12 +autodocsumm==0.2.14 Babel==2.11.0 # Sphinx 8.2.0 started using roman-numerals-py roman-numerals-py==4.1.0 @@ -83,7 +81,7 @@ astroid==4.0.2; python_version >= '3.10' lazy-object-proxy==1.4.3 wrapt==1.14 -platformdirs==4.1.0 +platformdirs==4.3.6 isort==5.0.9 tomlkit==0.10.1 dill==0.3.7 @@ -102,8 +100,7 @@ importlib-metadata==4.8.3 # Mypy (no imports, invoked via mypy script) -mypy==1.14.1; python_version == '3.8' -mypy==1.17.1; python_version >= '3.9' +mypy==1.17.1 # Package dependency management tools pipdeptree==2.24.0 @@ -112,9 +109,6 @@ # packaging (used by pytest, safety) packaging==24.2 -# pluggy (used by pytest, tox) -pluggy==1.3.0 - # pytz (used by TBD) pytz==2019.1 @@ -127,27 +121,30 @@ alabaster==0.7.9 appdirs==1.4.4 attrs==19.2.0 -bleach==3.3.0 certifi==2024.7.4 chardet==3.0.3 +Click==8.0.2 +# defusedxml is used only by nltk>=3.10.0 which requires Python>=3.10 +defusedxml==0.7.1; python_version >= '3.10' distlib==0.3.7 docopt==0.6.1 -# safety 3.4.0 requires filelock~=3.16.1 -filelock~=3.16.1 +filelock==3.16.1; python_version == '3.9' +filelock==3.24.2; python_version >= '3.10' gitdb==4.0.1 httpx==0.28.1 id==1.5.0 # idna>3 requires using requests >=2.26.0 -idna==3.7 +idna==3.15 imagesize==1.3.0 -# importlib-resources is used by jsonschema 4.17+ on py<=3.8, jsonschema-specifications 2023.12.1 on py<=3.8, jupyterlab 4.2.6 on py<=3.8, towncrier 23.6+ on py<=3.9 +# importlib-resources is used by towncrier 23.6+ on py<=3.9 importlib-resources==5.6.0; python_version <= '3.9' Jinja2==3.1.6 keyring==17.0.0 levenshtein==0.25.1 MarkupSafe==2.0.0 more-itertools==5.0.0 -nltk==3.9.2 +nltk==3.9.2; python_version == '3.9' +nltk==3.10.0; python_version >= '3.10' pkginfo==1.4.2 py==1.11.0 pyparsing==2.4.7 @@ -155,7 +152,8 @@ # pyzmq 26.1.0 added wheel archives for Python 3.13 pyzmq==26.1.0 qtconsole==4.2.1 -requests==2.32.4 +requests==2.32.5; python_version == '3.9' +requests==2.33.0; python_version >= '3.10' requests-toolbelt==0.8.0 rfc3986==1.3.0 rich==12.0.0 @@ -166,7 +164,8 @@ toml==0.10.0 tomli==2.0.1 tqdm==4.66.3 -urllib3==2.5.0 +urllib3==2.6.3; python_version == '3.9' +urllib3==2.7.0; python_version >= '3.10' wcwidth==0.1.7 webencodings==0.5.1 widgetsnbextension==1.2.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/minimum-constraints-install.txt new/nocasedict-2.2.1/minimum-constraints-install.txt --- old/nocasedict-2.2.0/minimum-constraints-install.txt 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/minimum-constraints-install.txt 2026-08-31 10:51:31.783687800 +0200 @@ -7,11 +7,12 @@ # Base dependencies (must be consistent with base-requirements.txt) -pip==25.2 -setuptools==78.1.1 +pip==26.0.1; python_version == '3.9' +pip==26.1.2; python_version >= '3.10' +setuptools==82.0.0 # Note on not specifying 'setuptools-scm[toml]': Extras cannot be in constraints files setuptools-scm==9.2.0 -wheel==0.41.3 +wheel==0.46.2 # Direct dependencies for installation (must be consistent with requirements.txt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/nocasedict/_version_scm.py new/nocasedict-2.2.1/nocasedict/_version_scm.py --- old/nocasedict-2.2.0/nocasedict/_version_scm.py 2026-01-04 23:02:51.000000000 +0100 +++ new/nocasedict-2.2.1/nocasedict/_version_scm.py 2026-08-31 10:52:01.998991700 +0200 @@ -1,5 +1,6 @@ -# file generated by setuptools-scm +# file generated by vcs-versioning # don't change, don't track in version control +from __future__ import annotations __all__ = [ "__version__", @@ -10,25 +11,14 @@ "commit_id", ] -TYPE_CHECKING = False -if TYPE_CHECKING: - from typing import Tuple - from typing import Union - - VERSION_TUPLE = Tuple[Union[int, str], ...] - COMMIT_ID = Union[str, None] -else: - VERSION_TUPLE = object - COMMIT_ID = object - version: str __version__: str -__version_tuple__: VERSION_TUPLE -version_tuple: VERSION_TUPLE -commit_id: COMMIT_ID -__commit_id__: COMMIT_ID +__version_tuple__: tuple[int | str, ...] +version_tuple: tuple[int | str, ...] +commit_id: str | None +__commit_id__: str | None -__version__ = version = '2.2.0' -__version_tuple__ = version_tuple = (2, 2, 0) +__version__ = version = '2.2.1' +__version_tuple__ = version_tuple = (2, 2, 1) -__commit_id__ = commit_id = 'g1d9c7cc09' +__commit_id__ = commit_id = 'g1b2b9b759' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/nocasedict.egg-info/PKG-INFO new/nocasedict-2.2.1/nocasedict.egg-info/PKG-INFO --- old/nocasedict-2.2.0/nocasedict.egg-info/PKG-INFO 2026-01-04 23:02:51.000000000 +0100 +++ new/nocasedict-2.2.1/nocasedict.egg-info/PKG-INFO 2026-08-31 10:52:02.048584500 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: nocasedict -Version: 2.2.0 +Version: 2.2.1 Summary: A case-insensitive list for Python Author-email: Andreas Maier <[email protected]> Maintainer-email: Andreas Maier <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/nocasedict.egg-info/SOURCES.txt new/nocasedict-2.2.1/nocasedict.egg-info/SOURCES.txt --- old/nocasedict-2.2.0/nocasedict.egg-info/SOURCES.txt 2026-01-04 23:02:51.000000000 +0100 +++ new/nocasedict-2.2.1/nocasedict.egg-info/SOURCES.txt 2026-08-31 10:52:02.060546200 +0200 @@ -46,6 +46,8 @@ nocasedict.egg-info/SOURCES.txt nocasedict.egg-info/dependency_links.txt nocasedict.egg-info/requires.txt +nocasedict.egg-info/scm_file_list.json +nocasedict.egg-info/scm_version.json nocasedict.egg-info/top_level.txt nocasedict.egg-info/zip-safe packaging/fedora/Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/nocasedict.egg-info/scm_file_list.json new/nocasedict-2.2.1/nocasedict.egg-info/scm_file_list.json --- old/nocasedict-2.2.0/nocasedict.egg-info/scm_file_list.json 1970-01-01 01:00:00.000000000 +0100 +++ new/nocasedict-2.2.1/nocasedict.egg-info/scm_file_list.json 2026-08-31 10:52:02.042760400 +0200 @@ -0,0 +1,61 @@ +{ + "files": [ + ".coveragerc", + ".flake8", + ".github/ISSUE_TEMPLATE.md", + ".github/workflows/notify.yml", + ".github/workflows/publish.yml", + ".github/workflows/test.yml", + ".gitignore", + ".readthedocs.yaml", + ".safety-policy-develop.yml", + ".safety-policy-install.yml", + "AUTHORS.md", + "INSTALL.md", + "LICENSE", + "Makefile", + "README.md", + "SECURITY.md", + "base-requirements.txt", + "changes/.gitignore", + "changes/changes.rst.j2", + "design/README.md", + "dev-requirements.txt", + "docs/appendix.rst", + "docs/changes.rst", + "docs/conf.py", + "docs/development.rst", + "docs/index.rst", + "docs/intro.rst", + "docs/reference.rst", + "done/.dummy", + "minimum-constraints-develop.txt", + "minimum-constraints-install.txt", + "nocasedict/__init__.py", + "nocasedict/_hashable.py", + "nocasedict/_keyableby.py", + "nocasedict/_nocasedict.py", + "nocasedict/_version.py", + "nocasedict/py.typed", + "original_authors.md", + "packaging/fedora/Makefile", + "packaging/fedora/README.md", + "packaging/fedora/python-nocasedict-1.0.0-1.fc34.src.rpm", + "packaging/fedora/python-nocasedict.spec", + "pylintrc", + "pyproject.toml", + "requirements.txt", + "tests/__init__.py", + "tests/installtest/test_install.sh", + "tests/unittest/__init__.py", + "tests/unittest/test_hashable.py", + "tests/unittest/test_keyableby.py", + "tests/unittest/test_nocasedict.py", + "tests/unittest/test_package.py", + "tests/utils/__init__.py", + "tests/utils/import_installed.py", + "tests/utils/simplified_test_function.py", + "towncrier.toml", + "tox.ini" + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/nocasedict.egg-info/scm_version.json new/nocasedict-2.2.1/nocasedict.egg-info/scm_version.json --- old/nocasedict-2.2.0/nocasedict.egg-info/scm_version.json 1970-01-01 01:00:00.000000000 +0100 +++ new/nocasedict-2.2.1/nocasedict.egg-info/scm_version.json 2026-08-31 10:52:02.037788200 +0200 @@ -0,0 +1,8 @@ +{ + "tag": "2.2.1", + "distance": 0, + "node": "g1b2b9b759cd141f6c2c1abc7c3afbd73746bb25d", + "dirty": false, + "branch": "HEAD", + "node_date": "2026-08-31" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nocasedict-2.2.0/pyproject.toml new/nocasedict-2.2.1/pyproject.toml --- old/nocasedict-2.2.0/pyproject.toml 2026-01-04 23:02:16.000000000 +0100 +++ new/nocasedict-2.2.1/pyproject.toml 2026-08-31 10:51:31.784416200 +0200 @@ -7,9 +7,9 @@ requires = [ # Keep in sync with base-requirements.txt and the base dependencies in # minimum-constraints-install.txt - "setuptools>=78.1.1", + "setuptools>=82.0.0", "setuptools-scm[toml]>=9.2.0", - "wheel>=0.41.3" + "wheel>=0.46.2" ] build-backend = "setuptools.build_meta"
