Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-jsonpointer for openSUSE:Factory checked in at 2026-03-30 18:29:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-jsonpointer (Old) and /work/SRC/openSUSE:Factory/.python-jsonpointer.new.1999 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jsonpointer" Mon Mar 30 18:29:48 2026 rev:23 rq:1343416 version:3.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-jsonpointer/python-jsonpointer.changes 2025-06-23 14:50:44.981459740 +0200 +++ /work/SRC/openSUSE:Factory/.python-jsonpointer.new.1999/python-jsonpointer.changes 2026-03-30 18:29:59.507809734 +0200 @@ -1,0 +2,8 @@ +Sun Mar 29 10:47:49 UTC 2026 - Dirk Müller <[email protected]> + +- update to 3.1.1: + * Add Python versions 3.13 and 3.14 to workflow + * Fix flake8 issue + * testsuite fixes + +------------------------------------------------------------------- Old: ---- jsonpointer-3.0.0.tar.gz New: ---- jsonpointer-3.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-jsonpointer.spec ++++++ --- /var/tmp/diff_new_pack.vFAzJU/_old 2026-03-30 18:30:00.199838496 +0200 +++ /var/tmp/diff_new_pack.vFAzJU/_new 2026-03-30 18:30:00.203838662 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-jsonpointer # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ %{?sle15_python_module_pythons} Name: python-jsonpointer -Version: 3.0.0 +Version: 3.1.1 Release: 0 Summary: Module to identify specific nodes in a JSON document License: BSD-3-Clause ++++++ jsonpointer-3.0.0.tar.gz -> jsonpointer-3.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpointer-3.0.0/PKG-INFO new/jsonpointer-3.1.1/PKG-INFO --- old/jsonpointer-3.0.0/PKG-INFO 2024-06-10 21:22:35.259417800 +0200 +++ new/jsonpointer-3.1.1/PKG-INFO 2026-03-23 23:26:18.652129400 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: jsonpointer -Version: 3.0.0 +Version: 3.1.1 Summary: Identify specific nodes in a JSON document (RFC 6901) Home-page: https://github.com/stefankoegl/python-json-pointer Author: Stefan Kögl @@ -13,20 +13,29 @@ Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries Classifier: Topic :: Utilities -Requires-Python: >=3.7 +Requires-Python: >=3.10 Description-Content-Type: text/markdown License-File: LICENSE.txt License-File: AUTHORS +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: description-content-type +Dynamic: home-page +Dynamic: license +Dynamic: license-file +Dynamic: requires-python +Dynamic: summary python-json-pointer =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpointer-3.0.0/bin/jsonpointer new/jsonpointer-3.1.1/bin/jsonpointer --- old/jsonpointer-3.0.0/bin/jsonpointer 2024-06-10 21:14:46.000000000 +0200 +++ new/jsonpointer-3.1.1/bin/jsonpointer 2026-03-23 23:11:48.000000000 +0100 @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import argparse diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpointer-3.0.0/jsonpointer.egg-info/PKG-INFO new/jsonpointer-3.1.1/jsonpointer.egg-info/PKG-INFO --- old/jsonpointer-3.0.0/jsonpointer.egg-info/PKG-INFO 2024-06-10 21:22:35.000000000 +0200 +++ new/jsonpointer-3.1.1/jsonpointer.egg-info/PKG-INFO 2026-03-23 23:26:18.000000000 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: jsonpointer -Version: 3.0.0 +Version: 3.1.1 Summary: Identify specific nodes in a JSON document (RFC 6901) Home-page: https://github.com/stefankoegl/python-json-pointer Author: Stefan Kögl @@ -13,20 +13,29 @@ Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: 3.14 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries Classifier: Topic :: Utilities -Requires-Python: >=3.7 +Requires-Python: >=3.10 Description-Content-Type: text/markdown License-File: LICENSE.txt License-File: AUTHORS +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: description-content-type +Dynamic: home-page +Dynamic: license +Dynamic: license-file +Dynamic: requires-python +Dynamic: summary python-json-pointer =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpointer-3.0.0/jsonpointer.py new/jsonpointer-3.1.1/jsonpointer.py --- old/jsonpointer-3.0.0/jsonpointer.py 2024-06-10 21:14:46.000000000 +0200 +++ new/jsonpointer-3.1.1/jsonpointer.py 2026-03-23 23:24:11.000000000 +0100 @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- -# # python-json-pointer - An implementation of the JSON Pointer syntax # https://github.com/stefankoegl/python-json-pointer # @@ -34,7 +32,7 @@ # Will be parsed by setup.py to determine package metadata __author__ = 'Stefan Kögl <[email protected]>' -__version__ = '3.0.0' +__version__ = '3.1.1' __website__ = 'https://github.com/stefankoegl/python-json-pointer' __license__ = 'Modified BSD License' @@ -136,7 +134,7 @@ pass -class EndOfList(object): +class EndOfList: """Result of accessing element "-" of a list""" def __init__(self, list_): @@ -147,7 +145,7 @@ lst=repr(self.list_)) -class JsonPointer(object): +class JsonPointer: """A JSON Pointer that can reference parts of a JSON document""" # Array indices must not contain: @@ -230,7 +228,7 @@ if part == '-': return part - if not JsonPointer._RE_ARRAY_INDEX.match(str(part)): + if not JsonPointer._RE_ARRAY_INDEX.fullmatch(str(part)): raise JsonPointerException("'%s' is not a valid sequence index" % part) return int(part) @@ -294,7 +292,7 @@ except: # noqa E722 raise JsonPointerException("Invalid suffix") - def __truediv__(self, suffix): # Python 3 + def __truediv__(self, suffix): return self.join(suffix) @property diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpointer-3.0.0/setup.cfg new/jsonpointer-3.1.1/setup.cfg --- old/jsonpointer-3.0.0/setup.cfg 2024-06-10 21:22:35.259608700 +0200 +++ new/jsonpointer-3.1.1/setup.cfg 2026-03-23 23:26:18.652665000 +0100 @@ -1,6 +1,3 @@ -[bdist_wheel] -universal = 1 - [flake8] max-line-length = 120 exclude = .git,.tox,dist,doc,*egg,build,.venv diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpointer-3.0.0/setup.py new/jsonpointer-3.1.1/setup.py --- old/jsonpointer-3.0.0/setup.py 2024-06-10 21:14:46.000000000 +0200 +++ new/jsonpointer-3.1.1/setup.py 2026-03-23 23:15:53.000000000 +0100 @@ -38,29 +38,29 @@ 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries', 'Topic :: Utilities', ] -setup(name=PACKAGE, - version=VERSION, - description=DESCRIPTION, - long_description=long_description, - long_description_content_type="text/markdown", - author=AUTHOR, - author_email=EMAIL, - license=LICENSE, - url=WEBSITE, - py_modules=MODULES, - scripts=['bin/jsonpointer'], - classifiers=CLASSIFIERS, - python_requires='>=3.7', - ) +setup( + name=PACKAGE, + version=VERSION, + description=DESCRIPTION, + long_description=long_description, + long_description_content_type="text/markdown", + author=AUTHOR, + author_email=EMAIL, + license=LICENSE, + url=WEBSITE, + py_modules=MODULES, + scripts=['bin/jsonpointer'], + classifiers=CLASSIFIERS, + python_requires='>=3.10', +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsonpointer-3.0.0/tests.py new/jsonpointer-3.1.1/tests.py --- old/jsonpointer-3.0.0/tests.py 2024-06-10 21:14:46.000000000 +0200 +++ new/jsonpointer-3.1.1/tests.py 2026-03-23 23:14:19.000000000 +0100 @@ -1,11 +1,7 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- - -from __future__ import unicode_literals import copy import doctest -import sys import unittest import jsonpointer @@ -78,45 +74,33 @@ def test_str_and_repr(self): paths = [ - ("", "", "JsonPointer({u}'')"), - ("/foo", "/foo", "JsonPointer({u}'/foo')"), - ("/foo/0", "/foo/0", "JsonPointer({u}'/foo/0')"), - ("/", "/", "JsonPointer({u}'/')"), - ("/a~1b", "/a~1b", "JsonPointer({u}'/a~1b')"), - ("/c%d", "/c%d", "JsonPointer({u}'/c%d')"), - ("/e^f", "/e^f", "JsonPointer({u}'/e^f')"), - ("/g|h", "/g|h", "JsonPointer({u}'/g|h')"), - ("/i\\j", "/i\\j", "JsonPointer({u}'/i\\\\j')"), - ("/k\"l", "/k\"l", "JsonPointer({u}'/k\"l')"), - ("/ ", "/ ", "JsonPointer({u}'/ ')"), - ("/m~0n", "/m~0n", "JsonPointer({u}'/m~0n')"), + ("", "", "JsonPointer('')"), + ("/foo", "/foo", "JsonPointer('/foo')"), + ("/foo/0", "/foo/0", "JsonPointer('/foo/0')"), + ("/", "/", "JsonPointer('/')"), + ("/a~1b", "/a~1b", "JsonPointer('/a~1b')"), + ("/c%d", "/c%d", "JsonPointer('/c%d')"), + ("/e^f", "/e^f", "JsonPointer('/e^f')"), + ("/g|h", "/g|h", "JsonPointer('/g|h')"), + ("/i\\j", "/i\\j", "JsonPointer('/i\\\\j')"), + ("/k\"l", "/k\"l", "JsonPointer('/k\"l')"), + ("/ ", "/ ", "JsonPointer('/ ')"), + ("/m~0n", "/m~0n", "JsonPointer('/m~0n')"), ] for path, ptr_str, ptr_repr in paths: ptr = JsonPointer(path) self.assertEqual(path, ptr.path) - - if sys.version_info[0] == 2: - u_str = "u" - else: - u_str = "" self.assertEqual(ptr_str, str(ptr)) - self.assertEqual(ptr_repr.format(u=u_str), repr(ptr)) + self.assertEqual(ptr_repr, repr(ptr)) - if sys.version_info[0] == 2: - path = "/\xee" - ptr_str = b"/\xee" - ptr_repr = "JsonPointer(u'/\\xee')" - else: - path = "/\xee" - ptr_str = "/\xee" - ptr_repr = "JsonPointer('/\xee')" + path = "/\xee" + ptr_str = "/\xee" + ptr_repr = "JsonPointer('/\xee')" ptr = JsonPointer(path) self.assertEqual(path, ptr.path) - self.assertEqual(ptr_str, str(ptr)) self.assertEqual(ptr_repr, repr(ptr)) - # should not be unicode in Python 2 self.assertIsInstance(str(ptr), str) self.assertIsInstance(repr(ptr), str) @@ -231,6 +215,10 @@ def test_invalid_escape(self): self.assertRaises(JsonPointerException, JsonPointer, '/foo/bar~2') + def test_leading_zero(self): + doc = [0, 1, 2] + self.assertRaises(JsonPointerException, resolve_pointer, doc, '/01') + class ToLastTests(unittest.TestCase): @@ -385,7 +373,7 @@ '/root/1/2': '3', } - for path, expected_value in iter(path_to_expected_value.items()): + for path, expected_value in path_to_expected_value.items(): self.assertEqual(resolve_pointer(doc, path, default), expected_value) def test_mock_dict_returns_default(self): @@ -397,7 +385,7 @@ '/x/y/z/d': default } - for path, expected_value in iter(path_to_expected_value.items()): + for path, expected_value in path_to_expected_value.items(): self.assertEqual(resolve_pointer(doc, path, default), expected_value) def test_mock_dict_raises_key_error(self):
