Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-nocaselist for
openSUSE:Factory checked in at 2026-09-02 17:00:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nocaselist (Old)
and /work/SRC/openSUSE:Factory/.python-nocaselist.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nocaselist"
Wed Sep 2 17:00:57 2026 rev:9 rq:1375240 version:2.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nocaselist/python-nocaselist.changes
2026-03-09 16:32:28.129044629 +0100
+++
/work/SRC/openSUSE:Factory/.python-nocaselist.new.1265/python-nocaselist.changes
2026-09-02 17:01:06.780934600 +0200
@@ -1,0 +2,14 @@
+Tue Sep 1 22:14:26 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 2.2.1:
+ * 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.
+ * Development: Upgraded GitHub Actions plugins to versions that
+ use node.js 24.
+
+-------------------------------------------------------------------
Old:
----
nocaselist-2.2.0.tar.gz
New:
----
nocaselist-2.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nocaselist.spec ++++++
--- /var/tmp/diff_new_pack.NP7sBi/_old 2026-09-02 17:01:07.597962667 +0200
+++ /var/tmp/diff_new_pack.NP7sBi/_new 2026-09-02 17:01:07.599962735 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-nocaselist
-Version: 2.2.0
+Version: 2.2.1
Release: 0
Summary: A case-insensitive list for Python
License: Apache-2.0
++++++ nocaselist-2.2.0.tar.gz -> nocaselist-2.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nocaselist-2.2.0/.github/workflows/publish.yml
new/nocaselist-2.2.1/.github/workflows/publish.yml
--- old/nocaselist-2.2.0/.github/workflows/publish.yml 2026-01-04
23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/.github/workflows/publish.yml 2026-08-31
10:57:00.029971400 +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://nocaselist.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/nocaselist-2.2.0/.github/workflows/test.yml
new/nocaselist-2.2.1/.github/workflows/test.yml
--- old/nocaselist-2.2.0/.github/workflows/test.yml 2026-01-04
23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/.github/workflows/test.yml 2026-08-31
10:57:00.029971400 +0200
@@ -48,34 +48,14 @@
\"package_level\": \"minimum\" \
}, \
{ \
- \"os\": \"ubuntu-latest\", \
- \"python-version\": \"3.10\", \
- \"package_level\": \"latest\" \
- }, \
- { \
- \"os\": \"macos-latest\", \
- \"python-version\": \"3.9\", \
- \"package_level\": \"latest\" \
- }, \
- { \
- \"os\": \"macos-latest\", \
- \"python-version\": \"3.11\", \
- \"package_level\": \"latest\" \
- }, \
- { \
\"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; \
@@ -96,7 +76,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: |
@@ -111,11 +91,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
@@ -209,7 +189,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
@@ -240,7 +220,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/nocaselist-2.2.0/.safety-policy-develop.yml
new/nocaselist-2.2.1/.safety-policy-develop.yml
--- old/nocaselist-2.2.0/.safety-policy-develop.yml 2026-01-04
23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/.safety-policy-develop.yml 2026-08-31
10:57:00.029971400 +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/nocaselist-2.2.0/.safety-policy-install.yml
new/nocaselist-2.2.1/.safety-policy-install.yml
--- old/nocaselist-2.2.0/.safety-policy-install.yml 2026-01-04
23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/.safety-policy-install.yml 2026-08-31
10:57:00.029971400 +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/nocaselist-2.2.0/AUTHORS.md
new/nocaselist-2.2.1/AUTHORS.md
--- old/nocaselist-2.2.0/AUTHORS.md 2026-01-04 23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/AUTHORS.md 2026-08-31 10:57:00.029971400 +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/nocaselist-2.2.0/Makefile
new/nocaselist-2.2.1/Makefile
--- old/nocaselist-2.2.0/Makefile 2026-01-04 23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/Makefile 2026-08-31 10:57:00.029971400 +0200
@@ -382,10 +382,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."
@@ -439,8 +435,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."
@@ -484,8 +480,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."
@@ -629,19 +625,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/nocaselist-2.2.0/PKG-INFO
new/nocaselist-2.2.1/PKG-INFO
--- old/nocaselist-2.2.0/PKG-INFO 2026-01-04 23:03:40.423440700 +0100
+++ new/nocaselist-2.2.1/PKG-INFO 2026-08-31 10:57:50.172489600 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: nocaselist
-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/nocaselist-2.2.0/base-requirements.txt
new/nocaselist-2.2.1/base-requirements.txt
--- old/nocaselist-2.2.0/base-requirements.txt 2026-01-04 23:03:08.000000000
+0100
+++ new/nocaselist-2.2.1/base-requirements.txt 2026-08-31 10:57:00.029971400
+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/nocaselist-2.2.0/dev-requirements.txt
new/nocaselist-2.2.1/dev-requirements.txt
--- old/nocaselist-2.2.0/dev-requirements.txt 2026-01-04 23:03:08.000000000
+0100
+++ new/nocaselist-2.2.1/dev-requirements.txt 2026-08-31 10:57:00.030607000
+0200
@@ -6,14 +6,18 @@
# 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,27 +28,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.4.0 requires filelock~=3.16.1
-filelock~=3.16.1
+# 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
@@ -63,8 +59,8 @@
# Sphinx 7.1.0 pins docutils to <0.21
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
@@ -74,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)
@@ -85,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
@@ -104,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
@@ -115,9 +110,6 @@
# setuptools>=77.0.0 requires packaging>=24.2 to work properly
packaging>=24.2
-# pluggy (used by pytest, tox)
-pluggy>=1.3.0
-
# pytz (used by TBD)
pytz>=2019.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nocaselist-2.2.0/docs/changes.rst
new/nocaselist-2.2.1/docs/changes.rst
--- old/nocaselist-2.2.0/docs/changes.rst 2026-01-04 23:03:08.000000000
+0100
+++ new/nocaselist-2.2.1/docs/changes.rst 2026-08-31 10:57:00.030839200
+0200
@@ -15,6 +15,27 @@
.. include:: tmp_changes.rst
.. towncrier start
+nocaselist 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.
+
+
nocaselist 2.2.0
----------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nocaselist-2.2.0/docs/conf.py
new/nocaselist-2.2.1/docs/conf.py
--- old/nocaselist-2.2.0/docs/conf.py 2026-01-04 23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/docs/conf.py 2026-08-31 10:57:00.030839200 +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.
@@ -459,6 +454,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
@@ -528,166 +532,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('nocaselist'):
- 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('nocaselist'):
- 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/nocaselist-2.2.0/docs/reference.rst
new/nocaselist-2.2.1/docs/reference.rst
--- old/nocaselist-2.2.0/docs/reference.rst 2026-01-04 23:03:08.000000000
+0100
+++ new/nocaselist-2.2.1/docs/reference.rst 2026-08-31 10:57:00.030839200
+0200
@@ -15,21 +15,7 @@
.. autoclass:: nocaselist.NocaseList
: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:: nocaselist.NocaseList
- :methods:
- :nosignatures:
-
- .. rubric:: Attributes
-
- .. autoautosummary:: nocaselist.NocaseList
- :attributes:
-
- .. rubric:: Details
+ :special-members:
+ :exclude-members: __init__,__weakref__,__hash__
+ :autosummary:
+ :autosummary-inherited-members:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nocaselist-2.2.0/minimum-constraints-develop.txt
new/nocaselist-2.2.1/minimum-constraints-develop.txt
--- old/nocaselist-2.2.0/minimum-constraints-develop.txt 2026-01-04
23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/minimum-constraints-develop.txt 2026-08-31
10:57:00.030839200 +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
-psutil==6.1.0
-filelock==3.16.1
+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
@@ -128,33 +122,39 @@
appdirs==1.4.4
args==0.1.0
attrs==19.2.0
-bleach==3.3.0
certifi==2024.7.4
chardet==3.0.3
+Click==8.0.2
contextlib2==0.6.0
+# 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
+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
python-dateutil==2.6.0
# pyzmq 26.1.0 added wheel archives for Python 3.13
pyzmq==26.1.0
-requests==2.32.4
+requests==2.32.5; python_version == '3.9'
+requests==2.33.0; python_version >= '3.10'
requests-mock==1.6.0
requests-toolbelt==0.8.0
rfc3986==1.3.0
@@ -166,7 +166,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
zipp==3.19.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nocaselist-2.2.0/minimum-constraints-install.txt
new/nocaselist-2.2.1/minimum-constraints-install.txt
--- old/nocaselist-2.2.0/minimum-constraints-install.txt 2026-01-04
23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/minimum-constraints-install.txt 2026-08-31
10:57:00.030839200 +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/nocaselist-2.2.0/nocaselist/_version_scm.py
new/nocaselist-2.2.1/nocaselist/_version_scm.py
--- old/nocaselist-2.2.0/nocaselist/_version_scm.py 2026-01-04
23:03:40.000000000 +0100
+++ new/nocaselist-2.2.1/nocaselist/_version_scm.py 2026-08-31
10:57:50.089978000 +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 = 'g00f46bb9e'
+__commit_id__ = commit_id = 'g761fb40e7'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nocaselist-2.2.0/nocaselist.egg-info/PKG-INFO
new/nocaselist-2.2.1/nocaselist.egg-info/PKG-INFO
--- old/nocaselist-2.2.0/nocaselist.egg-info/PKG-INFO 2026-01-04
23:03:40.000000000 +0100
+++ new/nocaselist-2.2.1/nocaselist.egg-info/PKG-INFO 2026-08-31
10:57:50.135439400 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: nocaselist
-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/nocaselist-2.2.0/nocaselist.egg-info/SOURCES.txt
new/nocaselist-2.2.1/nocaselist.egg-info/SOURCES.txt
--- old/nocaselist-2.2.0/nocaselist.egg-info/SOURCES.txt 2026-01-04
23:03:40.000000000 +0100
+++ new/nocaselist-2.2.1/nocaselist.egg-info/SOURCES.txt 2026-08-31
10:57:50.146433400 +0200
@@ -45,6 +45,8 @@
nocaselist.egg-info/SOURCES.txt
nocaselist.egg-info/dependency_links.txt
nocaselist.egg-info/requires.txt
+nocaselist.egg-info/scm_file_list.json
+nocaselist.egg-info/scm_version.json
nocaselist.egg-info/top_level.txt
nocaselist.egg-info/zip-safe
packaging/fedora/Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/nocaselist-2.2.0/nocaselist.egg-info/scm_file_list.json
new/nocaselist-2.2.1/nocaselist.egg-info/scm_file_list.json
--- old/nocaselist-2.2.0/nocaselist.egg-info/scm_file_list.json 1970-01-01
01:00:00.000000000 +0100
+++ new/nocaselist-2.2.1/nocaselist.egg-info/scm_file_list.json 2026-08-31
10:57:50.130979500 +0200
@@ -0,0 +1,58 @@
+{
+ "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/_static/basic.css",
+ "docs/_static/classic.css",
+ "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",
+ "nocaselist/__init__.py",
+ "nocaselist/_nocaselist.py",
+ "nocaselist/_version.py",
+ "nocaselist/py.typed",
+ "packaging/fedora/Makefile",
+ "packaging/fedora/README.md",
+ "packaging/fedora/python-nocaselist-1.0.2-1.fc34.src.rpm",
+ "packaging/fedora/python-nocaselist.spec",
+ "pylintrc",
+ "pyproject.toml",
+ "requirements.txt",
+ "tests/__init__.py",
+ "tests/installtest/test_install.sh",
+ "tests/unittest/__init__.py",
+ "tests/unittest/test_nocaselist.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/nocaselist-2.2.0/nocaselist.egg-info/scm_version.json
new/nocaselist-2.2.1/nocaselist.egg-info/scm_version.json
--- old/nocaselist-2.2.0/nocaselist.egg-info/scm_version.json 1970-01-01
01:00:00.000000000 +0100
+++ new/nocaselist-2.2.1/nocaselist.egg-info/scm_version.json 2026-08-31
10:57:50.125191000 +0200
@@ -0,0 +1,8 @@
+{
+ "tag": "2.2.1",
+ "distance": 0,
+ "node": "g761fb40e7df36ae2378d3e290588234f05331be7",
+ "dirty": false,
+ "branch": "HEAD",
+ "node_date": "2026-08-31"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nocaselist-2.2.0/pyproject.toml
new/nocaselist-2.2.1/pyproject.toml
--- old/nocaselist-2.2.0/pyproject.toml 2026-01-04 23:03:08.000000000 +0100
+++ new/nocaselist-2.2.1/pyproject.toml 2026-08-31 10:57:00.031610300 +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"