Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-geojson for openSUSE:Factory checked in at 2026-08-19 17:58:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-geojson (Old) and /work/SRC/openSUSE:Factory/.python-geojson.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-geojson" Wed Aug 19 17:58:50 2026 rev:6 rq:1371909 version:3.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-geojson/python-geojson.changes 2026-04-29 19:19:28.441088252 +0200 +++ /work/SRC/openSUSE:Factory/.python-geojson.new.1258/python-geojson.changes 2026-08-19 18:00:54.509565710 +0200 @@ -1,0 +2,12 @@ +Wed Aug 19 06:44:53 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 3.3.0: + * Add support for Python 3.14 (fixes Factory FTBFS) + * Drop EOL Python versions; require 3.10+ + * Convert dict features to Feature objects in + FeatureCollection + * Fix __all__ to be a sequence of strings + * Remove simplejson +- Point URL at the jazzband/geojson repository + +------------------------------------------------------------------- Old: ---- geojson-3.2.0.tar.gz New: ---- geojson-3.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-geojson.spec ++++++ --- /var/tmp/diff_new_pack.NiLvT9/_old 2026-08-19 18:00:55.155588935 +0200 +++ /var/tmp/diff_new_pack.NiLvT9/_new 2026-08-19 18:00:55.157589007 +0200 @@ -17,15 +17,14 @@ Name: python-geojson -Version: 3.2.0 +Version: 3.3.0 Release: 0 Summary: Python bindings and utilities for GeoJSON License: BSD-3-Clause -Group: Development/Languages/Python -URL: https://github.com/jazzband/python-geojson +URL: https://github.com/jazzband/geojson Source: https://files.pythonhosted.org/packages/source/g/geojson/geojson-%{version}.tar.gz -BuildRequires: %{python_module setuptools} BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros ++++++ geojson-3.2.0.tar.gz -> geojson-3.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/CHANGELOG.rst new/geojson-3.3.0/CHANGELOG.rst --- old/geojson-3.2.0/CHANGELOG.rst 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/CHANGELOG.rst 2026-05-28 23:46:17.000000000 +0200 @@ -1,6 +1,33 @@ Changes ======= +3.3.0 +---------- + +- `__all__` must be a sequence of strings: fix `__init__.py` and `factory.py` + + - https://github.com/jazzband/geojson/pull/247 + +- remove simplejson + + - https://github.com/jazzband/geojson/pull/246 + +- Add support for Python 3.14 + + - https://github.com/jazzband/geojson/pull/245 + +- Remove EOL Python version support + + - https://github.com/jazzband/geojson/pull/244 + +- Update GH action versions for Node 24 + + - https://github.com/jazzband/geojson/pull/243 + +- fix: convert dict features to Feature objects in FeatureCollection + + - https://github.com/jazzband/geojson/pull/242 + 3.2.0 ---------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/LICENSE.rst new/geojson-3.3.0/LICENSE.rst --- old/geojson-3.2.0/LICENSE.rst 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/LICENSE.rst 2026-05-28 23:46:17.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright © 2007-2019, contributors of geojson +Copyright © 2007-2026, contributors of geojson All rights reserved. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/PKG-INFO new/geojson-3.3.0/PKG-INFO --- old/geojson-3.2.0/PKG-INFO 2024-12-21 20:31:34.649261200 +0100 +++ new/geojson-3.3.0/PKG-INFO 2026-05-28 23:46:28.276421300 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: geojson -Version: 3.2.0 +Version: 3.3.0 Summary: Python bindings and utilities for GeoJSON Home-page: https://github.com/jazzband/geojson Author: Sean Gillies @@ -16,16 +16,26 @@ 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: Topic :: Scientific/Engineering :: GIS -Requires-Python: >=3.7 +Requires-Python: >=3.10 License-File: LICENSE.rst +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: home-page +Dynamic: keywords +Dynamic: license +Dynamic: license-file +Dynamic: maintainer +Dynamic: maintainer-email +Dynamic: requires-python +Dynamic: summary geojson ============== @@ -58,7 +68,7 @@ Installation ------------ -geojson is compatible with Python 3.7 - 3.13. The recommended way to install is via pip_: +geojson is compatible with Python 3.10 - 3.14. The recommended way to install is via pip_: .. code:: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/README.rst new/geojson-3.3.0/README.rst --- old/geojson-3.2.0/README.rst 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/README.rst 2026-05-28 23:46:17.000000000 +0200 @@ -29,7 +29,7 @@ Installation ------------ -geojson is compatible with Python 3.7 - 3.13. The recommended way to install is via pip_: +geojson is compatible with Python 3.10 - 3.14. The recommended way to install is via pip_: .. code:: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/geojson/__init__.py new/geojson-3.3.0/geojson/__init__.py --- old/geojson-3.2.0/geojson/__init__.py 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/geojson/__init__.py 2026-05-28 23:46:17.000000000 +0200 @@ -7,11 +7,13 @@ from geojson.base import GeoJSON from geojson._version import __version__, __version_info__ -__all__ = ([dump, dumps, load, loads, GeoJSONEncoder] + - [coords, map_coords] + - [Point, LineString, Polygon] + - [MultiLineString, MultiPoint, MultiPolygon] + - [GeometryCollection] + - [Feature, FeatureCollection] + - [GeoJSON] + - [__version__, __version_info__]) +__all__ = ( + ["dump", "dumps", "load", "loads", "GeoJSONEncoder"] + + ["coords", "map_coords"] + + ["Point", "LineString", "Polygon"] + + ["MultiLineString", "MultiPoint", "MultiPolygon"] + + ["GeometryCollection"] + + ["Feature", "FeatureCollection"] + + ["GeoJSON"] + + ["__version__", "__version_info__"] +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/geojson/_version.py new/geojson-3.3.0/geojson/_version.py --- old/geojson-3.2.0/geojson/_version.py 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/geojson/_version.py 2026-05-28 23:46:17.000000000 +0200 @@ -1,2 +1,2 @@ -__version__ = "3.2.0" +__version__ = "3.3.0" __version_info__ = tuple(map(int, __version__.split("."))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/geojson/codec.py new/geojson-3.3.0/geojson/codec.py --- old/geojson-3.2.0/geojson/codec.py 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/geojson/codec.py 2026-05-28 23:46:17.000000000 +0200 @@ -1,7 +1,4 @@ -try: - import simplejson as json -except ImportError: - import json +import json import geojson import geojson.factory diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/geojson/factory.py new/geojson-3.3.0/geojson/factory.py --- old/geojson-3.2.0/geojson/factory.py 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/geojson/factory.py 2026-05-28 23:46:17.000000000 +0200 @@ -4,8 +4,10 @@ from geojson.feature import Feature, FeatureCollection from geojson.base import GeoJSON -__all__ = ([Point, LineString, Polygon] + - [MultiLineString, MultiPoint, MultiPolygon] + - [GeometryCollection] + - [Feature, FeatureCollection] + - [GeoJSON]) +__all__ = ( + ["Point", "LineString", "Polygon"] + + ["MultiLineString", "MultiPoint", "MultiPolygon"] + + ["GeometryCollection"] + + ["Feature", "FeatureCollection"] + + ["GeoJSON"] +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/geojson/feature.py new/geojson-3.3.0/geojson/feature.py --- old/geojson-3.2.0/geojson/feature.py 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/geojson/feature.py 2026-05-28 23:46:17.000000000 +0200 @@ -44,7 +44,10 @@ :rtype: FeatureCollection """ super().__init__(**extra) - self["features"] = features + self["features"] = [ + self.to_instance(f) if not isinstance(f, GeoJSON) else f + for f in features + ] def errors(self): return self.check_list_errors(lambda x: x.errors(), self.features) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/geojson.egg-info/PKG-INFO new/geojson-3.3.0/geojson.egg-info/PKG-INFO --- old/geojson-3.2.0/geojson.egg-info/PKG-INFO 2024-12-21 20:31:34.000000000 +0100 +++ new/geojson-3.3.0/geojson.egg-info/PKG-INFO 2026-05-28 23:46:28.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: geojson -Version: 3.2.0 +Version: 3.3.0 Summary: Python bindings and utilities for GeoJSON Home-page: https://github.com/jazzband/geojson Author: Sean Gillies @@ -16,16 +16,26 @@ 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: Topic :: Scientific/Engineering :: GIS -Requires-Python: >=3.7 +Requires-Python: >=3.10 License-File: LICENSE.rst +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: home-page +Dynamic: keywords +Dynamic: license +Dynamic: license-file +Dynamic: maintainer +Dynamic: maintainer-email +Dynamic: requires-python +Dynamic: summary geojson ============== @@ -58,7 +68,7 @@ Installation ------------ -geojson is compatible with Python 3.7 - 3.13. The recommended way to install is via pip_: +geojson is compatible with Python 3.10 - 3.14. The recommended way to install is via pip_: .. code:: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/geojson.egg-info/SOURCES.txt new/geojson-3.3.0/geojson.egg-info/SOURCES.txt --- old/geojson-3.2.0/geojson.egg-info/SOURCES.txt 2024-12-21 20:31:34.000000000 +0100 +++ new/geojson-3.3.0/geojson.egg-info/SOURCES.txt 2026-05-28 23:46:28.000000000 +0200 @@ -23,6 +23,7 @@ tests/test_base.py tests/test_constructor.py tests/test_coords.py +tests/test_feature_collection.py tests/test_features.py tests/test_geo_interface.py tests/test_null_geometries.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/setup.py new/geojson-3.3.0/setup.py --- old/geojson-3.2.0/setup.py 2024-12-21 20:31:26.000000000 +0100 +++ new/geojson-3.3.0/setup.py 2026-05-28 23:46:17.000000000 +0200 @@ -17,8 +17,8 @@ major_version, minor_version = sys.version_info[:2] -if not (major_version == 3 and 7 <= minor_version <= 13): - sys.stderr.write("Sorry, only Python 3.7 - 3.13 are " +if not (major_version == 3 and 10 <= minor_version <= 14): + sys.stderr.write("Sorry, only Python 3.10 - 3.14 are " "supported at this time.\n") exit(1) @@ -38,7 +38,7 @@ package_dir={"geojson": "geojson"}, package_data={"geojson": ["*.rst"]}, install_requires=[], - python_requires=">=3.7", + python_requires=">=3.10", classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", @@ -47,13 +47,11 @@ "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", "Topic :: Scientific/Engineering :: GIS", ] ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/geojson-3.2.0/tests/test_feature_collection.py new/geojson-3.3.0/tests/test_feature_collection.py --- old/geojson-3.2.0/tests/test_feature_collection.py 1970-01-01 01:00:00.000000000 +0100 +++ new/geojson-3.3.0/tests/test_feature_collection.py 2026-05-28 23:46:17.000000000 +0200 @@ -0,0 +1,27 @@ +import unittest + +import geojson + + +class FeatureCollectionsTest(unittest.TestCase): + def test_to_instance_converts_nested_features(self): + """to_instance() should convert dict features to Feature objects in FeatureCollection.""" + + feature_collection_dict = { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {"foo": "bar"}, + "geometry": { + "type": "Polygon", + "coordinates": [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]], + }, + }, + ], + } + + obj = geojson.GeoJSON.to_instance(feature_collection_dict) + self.assertTrue(isinstance(obj, geojson.FeatureCollection)) + self.assertTrue(isinstance(obj.features[0], geojson.Feature)) + self.assertTrue(obj.is_valid)
