Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyproj for openSUSE:Factory 
checked in at 2025-08-19 16:44:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyproj (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyproj.new.1085 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyproj"

Tue Aug 19 16:44:44 2025 rev:35 rq:1300144 version:3.7.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyproj/python-pyproj.changes      
2025-02-16 22:53:32.224563769 +0100
+++ /work/SRC/openSUSE:Factory/.python-pyproj.new.1085/python-pyproj.changes    
2025-08-19 16:45:31.673385361 +0200
@@ -1,0 +2,31 @@
+Fri Aug 15 17:06:58 UTC 2025 - Libor Pechacek <lpecha...@gmx.com>
+
+- Update to 3.7.2
+  * Bump pypa/cibuildwheel from 2.22 to 2.23 by @dependabot[bot]
+    in #1479
+  * TST: Only import time.perf_counter by @snowman2 in #1480
+  * DEP: Minimum PROJ version 9.4 by @snowman2 in #1481
+  * DEP: Python 3.11+ by @snowman2 in #1483
+  * Bump scientific-python/upload-nightly-action from 0.6.1 to
+    0.6.2 by @dependabot[bot] in #1488
+  * DOC: update doc geometry_area_perimeter by @myl-dvl in #1489
+  * DOC: Remove 'noqa: E501' from docstrings by @adamjstewart
+    in #1492
+  * pyproj.crs: add imports to all by @adamjstewart in #1494
+  * MNT: replace black and isort with ruff format and lint by
+    @mwtoews in #1496
+  * BUILD/CI: Add win_arm64 wheel build by @khmyznikov in #1503
+  * Bump pypa/cibuildwheel from 2.23 to 3.0 by @dependabot[bot]
+    in #1502
+  * Bump pypa/cibuildwheel from 3.0.0 to 3.0.1 by
+    @dependabot[bot] in #1505
+  * BLD: Enable free-threading compatibility by @djhoese in #1512
+  * CI: Add 3.13 free-threading wheels by @djhoese in #1514
+  * Bump actions/download-artifact from 4 to 5 by
+    @dependabot[bot] in #1520
+  * TST: Remove irrelevant test with modern PROJ versions by
+    @djhoese in #1519
+  * Bump actions/checkout from 4 to 5 by @dependabot[bot]
+    in #1521
+
+-------------------------------------------------------------------

Old:
----
  pyproj-3.7.1.tar.gz

New:
----
  pyproj-3.7.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pyproj.spec ++++++
--- /var/tmp/diff_new_pack.skA9Ho/_old  2025-08-19 16:45:32.881435661 +0200
+++ /var/tmp/diff_new_pack.skA9Ho/_new  2025-08-19 16:45:32.885435827 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pyproj
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 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
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-pyproj
-Version:        3.7.1
+Version:        3.7.2
 Release:        0
 Summary:        Python interface to PROJ library
 License:        SUSE-Public-Domain AND X11

++++++ pyproj-3.7.1.tar.gz -> pyproj-3.7.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/PKG-INFO new/pyproj-3.7.2/PKG-INFO
--- old/pyproj-3.7.1/PKG-INFO   2025-02-16 04:49:51.690460200 +0100
+++ new/pyproj-3.7.2/PKG-INFO   2025-08-14 13:05:26.472398300 +0200
@@ -1,11 +1,11 @@
-Metadata-Version: 2.2
+Metadata-Version: 2.4
 Name: pyproj
-Version: 3.7.1
+Version: 3.7.2
 Summary: Python interface to PROJ (cartographic projections and coordinate 
transformations library)
 Home-page: https://github.com/pyproj4/pyproj
 Author-email: Jeff Whitaker <jeffrey.s.whita...@noaa.gov>
 Maintainer: pyproj contributors
-License: MIT
+License-Expression: MIT
 Project-URL: homepage, https://pyproj4.github.io/pyproj/
 Project-URL: documentation, https://pyproj4.github.io/pyproj/
 Project-URL: repository, https://github.com/pyproj4/pyproj
@@ -13,24 +13,25 @@
 Keywords: 
GIS,map,geospatial,coordinate-systems,coordinate-transformation,cartographic-projection,geodesic
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-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 :: Only
 Classifier: Topic :: Scientific/Engineering
 Classifier: Topic :: Scientific/Engineering :: GIS
 Classifier: Topic :: Scientific/Engineering :: Mathematics
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Typing :: Typed
-Requires-Python: >=3.10
+Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
+Requires-Python: >=3.11
 Description-Content-Type: text/markdown
 License-File: LICENSE
 License-File: LICENSE_proj
 Requires-Dist: certifi
 Dynamic: home-page
+Dynamic: license-file
 
 ![Pyproj 
logo](https://raw.githubusercontent.com/pyproj4/pyproj/main/docs/media/logo.png)
 
@@ -45,7 +46,6 @@
 <a href="https://badge.fury.io/py/pyproj";><img alt="PyPI" 
src="https://badge.fury.io/py/pyproj.svg";></a>
 <a href="https://pepy.tech/project/pyproj";><img alt="Downloads" 
src="https://pepy.tech/badge/pyproj";></a>
 <a href="https://anaconda.org/conda-forge/pyproj";><img alt="Anaconda-Server 
Badge" src="https://anaconda.org/conda-forge/pyproj/badges/version.svg";></a>
-<a href="https://github.com/python/black";><img alt="Code style: black" 
src="https://img.shields.io/badge/code%20style-black-000000.svg";></a>
 <a href="https://github.com/pre-commit/pre-commit";><img alt="pre-commit" 
src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white";></a>
 <a href="https://zenodo.org/badge/latestdoi/28607354";><img alt="DOI" 
src="https://zenodo.org/badge/28607354.svg";></a>
 </p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/README.md new/pyproj-3.7.2/README.md
--- old/pyproj-3.7.1/README.md  2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/README.md  2025-08-14 13:05:05.000000000 +0200
@@ -11,7 +11,6 @@
 <a href="https://badge.fury.io/py/pyproj";><img alt="PyPI" 
src="https://badge.fury.io/py/pyproj.svg";></a>
 <a href="https://pepy.tech/project/pyproj";><img alt="Downloads" 
src="https://pepy.tech/badge/pyproj";></a>
 <a href="https://anaconda.org/conda-forge/pyproj";><img alt="Anaconda-Server 
Badge" src="https://anaconda.org/conda-forge/pyproj/badges/version.svg";></a>
-<a href="https://github.com/python/black";><img alt="Code style: black" 
src="https://img.shields.io/badge/code%20style-black-000000.svg";></a>
 <a href="https://github.com/pre-commit/pre-commit";><img alt="pre-commit" 
src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white";></a>
 <a href="https://zenodo.org/badge/latestdoi/28607354";><img alt="DOI" 
src="https://zenodo.org/badge/28607354.svg";></a>
 </p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/docs/history.rst 
new/pyproj-3.7.2/docs/history.rst
--- old/pyproj-3.7.1/docs/history.rst   2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/docs/history.rst   2025-08-14 13:05:05.000000000 +0200
@@ -1,6 +1,16 @@
 Change Log
 ==========
 
+3.7.2
+-----
+- DEP: Minimum PROJ version 9.4 (pull #1481)
+- DEP: Minimum supported Python version 3.11 (pull #1483)
+- MNT: Add CRS imports to __all__
+- DEP: Add win_arm64 wheels
+- DEP: Add Python 3.13 free-threading wheels
+- DEP: Add Python 3.14 and 3.14 free-threading wheels
+- TST: Remove irrelevant test with modern PROJ versions
+
 3.7.1
 ------
 - WHL: Add wheels for musllinux (pull #1461)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/docs/index.rst 
new/pyproj-3.7.2/docs/index.rst
--- old/pyproj-3.7.1/docs/index.rst     2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/docs/index.rst     2025-08-14 13:05:05.000000000 +0200
@@ -5,9 +5,9 @@
 
 GitHub Repository: https://github.com/pyproj4/pyproj
 
-.. note:: Minimum supported PROJ version is 9.2
+.. note:: Minimum supported PROJ version is 9.4
 
-.. note:: Minimum supported Python version is 3.10
+.. note:: Minimum supported Python version is 3.11
 
 .. note:: Linux (manylinux2014) wheels require pip 19.3+
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/docs/installation.rst 
new/pyproj-3.7.2/docs/installation.rst
--- old/pyproj-3.7.1/docs/installation.rst      2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/docs/installation.rst      2025-08-14 13:05:05.000000000 
+0200
@@ -83,6 +83,7 @@
 3.4+           8.2+
 3.5+           9+
 3.7+           9.2+
+3.8+           9.4+
 ============   ============
 
 Setup PROJ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/docs/past_versions.rst 
new/pyproj-3.7.2/docs/past_versions.rst
--- old/pyproj-3.7.1/docs/past_versions.rst     2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/docs/past_versions.rst     2025-08-14 13:05:05.000000000 
+0200
@@ -1,7 +1,7 @@
 Documentation Archive
 =====================
 
-- `3.7.0 <https://pyproj4.github.io/pyproj/3.7.0/>`_
+- `3.7.1 <https://pyproj4.github.io/pyproj/3.7.1/>`_
 - `3.6.1 <https://pyproj4.github.io/pyproj/3.6.1/>`_
 - `3.5.0 <https://pyproj4.github.io/pyproj/3.5.0/>`_
 - `3.4.1 <https://pyproj4.github.io/pyproj/3.4.1/>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproj/__init__.py 
new/pyproj-3.7.2/pyproj/__init__.py
--- old/pyproj-3.7.1/pyproj/__init__.py 2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/pyproj/__init__.py 2025-08-14 13:05:05.000000000 +0200
@@ -71,21 +71,21 @@
     transform,
 )
 
-__version__ = "3.7.1"
+__version__ = "3.7.2"
 __all__ = [
-    "Proj",
-    "Geod",
     "CRS",
+    "Geod",
+    "Proj",
     "Transformer",
-    "transform",
-    "itransform",
-    "pj_ellps",
-    "pj_list",
     "get_ellps_map",
     "get_prime_meridians_map",
     "get_proj_operations_map",
     "get_units_map",
+    "itransform",
+    "pj_ellps",
+    "pj_list",
     "show_versions",
+    "transform",
 ]
 __proj_version__ = PROJ_VERSION_STR
 proj_version_str = PROJ_VERSION_STR  # pylint: disable=invalid-name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproj/_crs.pyx 
new/pyproj-3.7.2/pyproj/_crs.pyx
--- old/pyproj-3.7.1/pyproj/_crs.pyx    2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/pyproj/_crs.pyx    2025-08-14 13:05:05.000000000 +0200
@@ -2699,7 +2699,7 @@
         .. warning:: You will likely lose important projection
           information when converting to a PROJ string from
           another format. See:
-          
https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
  # noqa: E501
+          
https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
 
         Parameters
         ----------
@@ -2709,7 +2709,7 @@
         Returns
         -------
         str
-        """
+        """  # noqa: E501
         warnings.warn(
             "You will likely lose important projection information when "
             "converting to a PROJ string from another format. See: "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproj/crs/__init__.py 
new/pyproj-3.7.2/pyproj/crs/__init__.py
--- old/pyproj-3.7.1/pyproj/crs/__init__.py     2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/pyproj/crs/__init__.py     2025-08-14 13:05:05.000000000 
+0200
@@ -13,7 +13,7 @@
     is_proj,
     is_wkt,
 )
-from pyproj.crs.crs import (  # noqa: F401  pylint: disable=unused-import
+from pyproj.crs.crs import (
     CRS,
     BoundCRS,
     CompoundCRS,
@@ -25,3 +25,17 @@
     VerticalCRS,
 )
 from pyproj.exceptions import CRSError  # noqa: F401  pylint: 
disable=unused-import
+
+__all__ = [
+    "CRS",
+    "BoundCRS",
+    "CompoundCRS",
+    "CustomConstructorCRS",
+    "DerivedGeographicCRS",
+    "GeocentricCRS",
+    "GeographicCRS",
+    "ProjectedCRS",
+    "VerticalCRS",
+    "is_proj",
+    "is_wkt",
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproj/crs/crs.py 
new/pyproj-3.7.2/pyproj/crs/crs.py
--- old/pyproj-3.7.1/pyproj/crs/crs.py  2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/pyproj/crs/crs.py  2025-08-14 13:05:05.000000000 +0200
@@ -172,15 +172,15 @@
 
     The functionality is based on other fantastic projects:
 
-    * `rasterio 
<https://github.com/mapbox/rasterio/blob/c13f0943b95c0eaa36ff3f620bd91107aa67b381/rasterio/_crs.pyx>`_
  # noqa: E501
-    * `opendatacube 
<https://github.com/opendatacube/datacube-core/blob/83bae20d2a2469a6417097168fd4ede37fd2abe5/datacube/utils/geometry/_base.py>`_
  # noqa: E501
+    * `rasterio 
<https://github.com/mapbox/rasterio/blob/c13f0943b95c0eaa36ff3f620bd91107aa67b381/rasterio/_crs.pyx>`_
+    * `opendatacube 
<https://github.com/opendatacube/datacube-core/blob/83bae20d2a2469a6417097168fd4ede37fd2abe5/datacube/utils/geometry/_base.py>`_
 
     Attributes
     ----------
     srs: str
         The string form of the user input used to create the CRS.
 
-    """
+    """  # noqa: E501
 
     def __init__(self, projparams: Any | None = None, **kwargs) -> None:
         """
@@ -579,14 +579,14 @@
 
         .. warning:: You will likely lose important projection
           information when converting to a PROJ string from
-          another format. See: 
https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
  # noqa: E501
+          another format. See: 
https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
 
         Returns
         -------
         dict:
             PROJ params in dict format.
 
-        """
+        """  # noqa: E501
 
         proj_string = self.to_proj4()
         if proj_string is None:
@@ -1280,7 +1280,7 @@
         .. warning:: You will likely lose important projection
           information when converting to a PROJ string from
           another format. See:
-          
https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
  # noqa: E501
+          
https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
 
         Parameters
         ----------
@@ -1291,7 +1291,7 @@
         Returns
         -------
         str
-        """
+        """  # noqa: E501
         proj = self._crs.to_proj4(version=version)
         if proj is None:
             raise CRSError("CRS cannot be converted to a PROJ string.")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproj/geod.py 
new/pyproj-3.7.2/pyproj/geod.py
--- old/pyproj-3.7.1/pyproj/geod.py     2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/pyproj/geod.py     2025-08-14 13:05:05.000000000 +0200
@@ -10,10 +10,10 @@
 
 __all__ = [
     "Geod",
-    "pj_ellps",
-    "geodesic_version_str",
     "GeodIntermediateFlag",
     "GeodIntermediateReturn",
+    "geodesic_version_str",
+    "pj_ellps",
     "reverse_azimuth",
 ]
 
@@ -1031,6 +1031,10 @@
 
         .. note:: lats should be in the range [-90 deg, 90 deg].
 
+        .. note:: | There are a few limitations :
+                  | - only works with areas up to half the size of the globe ;
+                  | - certain large polygons may return negative values.
+
         .. warning:: The area returned is signed with counter-clockwise (CCW) 
traversal
                      being treated as positive. For polygons, holes should use 
the
                      opposite traversal to the exterior (if the exterior is 
CCW, the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproj/transformer.py 
new/pyproj-3.7.2/pyproj/transformer.py
--- old/pyproj-3.7.1/pyproj/transformer.py      2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/pyproj/transformer.py      2025-08-14 13:05:05.000000000 
+0200
@@ -3,11 +3,11 @@
 """
 
 __all__ = [
-    "transform",
-    "itransform",
+    "AreaOfInterest",
     "Transformer",
     "TransformerGroup",
-    "AreaOfInterest",
+    "itransform",
+    "transform",
 ]
 import threading
 import warnings
@@ -329,8 +329,7 @@
         if not isinstance(transformer_maker, TransformerMaker):
             _clear_proj_error()
             raise ProjError(
-                "Transformer must be initialized using: "
-                "'from_crs' or 'from_pipeline'."
+                "Transformer must be initialized using: 'from_crs' or 
'from_pipeline'."
             )
 
         self._local = TransformerLocal()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproj.egg-info/PKG-INFO 
new/pyproj-3.7.2/pyproj.egg-info/PKG-INFO
--- old/pyproj-3.7.1/pyproj.egg-info/PKG-INFO   2025-02-16 04:49:51.000000000 
+0100
+++ new/pyproj-3.7.2/pyproj.egg-info/PKG-INFO   2025-08-14 13:05:26.000000000 
+0200
@@ -1,11 +1,11 @@
-Metadata-Version: 2.2
+Metadata-Version: 2.4
 Name: pyproj
-Version: 3.7.1
+Version: 3.7.2
 Summary: Python interface to PROJ (cartographic projections and coordinate 
transformations library)
 Home-page: https://github.com/pyproj4/pyproj
 Author-email: Jeff Whitaker <jeffrey.s.whita...@noaa.gov>
 Maintainer: pyproj contributors
-License: MIT
+License-Expression: MIT
 Project-URL: homepage, https://pyproj4.github.io/pyproj/
 Project-URL: documentation, https://pyproj4.github.io/pyproj/
 Project-URL: repository, https://github.com/pyproj4/pyproj
@@ -13,24 +13,25 @@
 Keywords: 
GIS,map,geospatial,coordinate-systems,coordinate-transformation,cartographic-projection,geodesic
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-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 :: Only
 Classifier: Topic :: Scientific/Engineering
 Classifier: Topic :: Scientific/Engineering :: GIS
 Classifier: Topic :: Scientific/Engineering :: Mathematics
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Typing :: Typed
-Requires-Python: >=3.10
+Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
+Requires-Python: >=3.11
 Description-Content-Type: text/markdown
 License-File: LICENSE
 License-File: LICENSE_proj
 Requires-Dist: certifi
 Dynamic: home-page
+Dynamic: license-file
 
 ![Pyproj 
logo](https://raw.githubusercontent.com/pyproj4/pyproj/main/docs/media/logo.png)
 
@@ -45,7 +46,6 @@
 <a href="https://badge.fury.io/py/pyproj";><img alt="PyPI" 
src="https://badge.fury.io/py/pyproj.svg";></a>
 <a href="https://pepy.tech/project/pyproj";><img alt="Downloads" 
src="https://pepy.tech/badge/pyproj";></a>
 <a href="https://anaconda.org/conda-forge/pyproj";><img alt="Anaconda-Server 
Badge" src="https://anaconda.org/conda-forge/pyproj/badges/version.svg";></a>
-<a href="https://github.com/python/black";><img alt="Code style: black" 
src="https://img.shields.io/badge/code%20style-black-000000.svg";></a>
 <a href="https://github.com/pre-commit/pre-commit";><img alt="pre-commit" 
src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white";></a>
 <a href="https://zenodo.org/badge/latestdoi/28607354";><img alt="DOI" 
src="https://zenodo.org/badge/28607354.svg";></a>
 </p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/pyproject.toml 
new/pyproj-3.7.2/pyproject.toml
--- old/pyproj-3.7.1/pyproject.toml     2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/pyproject.toml     2025-08-14 13:05:05.000000000 +0200
@@ -1,5 +1,5 @@
 [build-system]
-requires = ["setuptools>=61.0.0", "wheel", "cython>=3"]
+requires = ["setuptools>=61.0.0", "wheel", "cython>=3.1"]
 build-backend = "setuptools.build_meta"
 
 [project]
@@ -13,7 +13,8 @@
 maintainers = [
     {name = "pyproj contributors"},
 ]
-license = {text = "MIT"}
+license = "MIT"
+license-files = ["LICENSE", "LICENSE_proj"]
 keywords = [
     "GIS",
     "map",
@@ -26,20 +27,20 @@
 classifiers = [
     "Development Status :: 4 - Beta",
     "Intended Audience :: Science/Research",
-    "License :: OSI Approved :: MIT License",
     "Operating System :: OS Independent",
     "Programming Language :: Python",
-    "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
+    "Programming Language :: Python :: 3.13",
     "Programming Language :: Python :: 3 :: Only",
     "Topic :: Scientific/Engineering",
     "Topic :: Scientific/Engineering :: GIS",
     "Topic :: Scientific/Engineering :: Mathematics",
     "Topic :: Software Development :: Libraries :: Python Modules",
     "Typing :: Typed",
+    "Programming Language :: Python :: Free Threading :: 2 - Beta",
 ]
-requires-python = ">=3.10"
+requires-python = ">=3.11"
 dependencies = [
     "certifi",
 ]
@@ -62,12 +63,8 @@
 [tool.setuptools.dynamic]
 version = {attr = "pyproj.__version__"}
 
-[tool.black]
-target_version = ["py310"]
-
 [tool.ruff]
 line-length = 88
-target-version = "py310"
 fix = true
 
 [tool.ruff.lint]
@@ -78,6 +75,8 @@
   "F",
   # pycodestyle
   "E", "W",
+  # isort
+  "I",
   # flake8-2020
   "YTT",
   # flake8-bugbear
@@ -101,7 +100,7 @@
   # implicit string concatenation
   "ISC",
   # type-checking imports
-  "TCH",
+  "TC",
   # comprehensions
   "C4",
   # pygrep-hooks
@@ -147,7 +146,7 @@
     # Rename unused
     "B007",
     # Move standard library import into a type-checking block
-    "TCH003",
+    "TC003",
     # Consider f-string instead of string join
     "FLY002",
     # Use a list comprehension to create a transformed list
@@ -157,6 +156,6 @@
 
 [tool.mypy]
 files = ["pyproj"]
-python_version = "3.10"
+python_version = "3.11"
 ignore_errors = false
 enable_error_code = "ignore-without-code"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/setup.py new/pyproj-3.7.2/setup.py
--- old/pyproj-3.7.1/setup.py   2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/setup.py   2025-08-14 13:05:05.000000000 +0200
@@ -8,7 +8,7 @@
 
 from setuptools import Extension, setup
 
-PROJ_MIN_VERSION = (9, 2, 0)
+PROJ_MIN_VERSION = (9, 4, 0)
 CURRENT_FILE_PATH = Path(__file__).absolute().parent
 BASE_INTERNAL_PROJ_DIR = Path("proj_dir")
 INTERNAL_PROJ_DIR = CURRENT_FILE_PATH / "pyproj" / BASE_INTERNAL_PROJ_DIR
@@ -142,6 +142,7 @@
             "c_string_type": "str",
             "c_string_encoding": "utf-8",
             "embedsignature": True,
+            "freethreading_compatible": True,
         },
     }
     if os.environ.get("PYPROJ_FULL_COVERAGE"):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/test/conftest.py 
new/pyproj-3.7.2/test/conftest.py
--- old/pyproj-3.7.1/test/conftest.py   2025-02-16 04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/test/conftest.py   2025-08-14 13:05:05.000000000 +0200
@@ -12,8 +12,6 @@
 
 _NETWORK_ENABLED = pyproj.network.is_network_enabled()
 PROJ_LOOSE_VERSION = version.parse(pyproj.__proj_version__)
-PROJ_GTE_921 = PROJ_LOOSE_VERSION >= version.parse("9.2.1")
-PROJ_GTE_93 = PROJ_LOOSE_VERSION >= version.parse("9.3.0")
 PROJ_GTE_941 = PROJ_LOOSE_VERSION >= version.parse("9.4.1")
 PROJ_GTE_95 = PROJ_LOOSE_VERSION >= version.parse("9.5.0")
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/test/crs/test_crs.py 
new/pyproj-3.7.2/test/crs/test_crs.py
--- old/pyproj-3.7.1/test/crs/test_crs.py       2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/test/crs/test_crs.py       2025-08-14 13:05:05.000000000 
+0200
@@ -20,7 +20,7 @@
 from pyproj.enums import ProjVersion, WktVersion
 from pyproj.exceptions import CRSError
 from pyproj.transformer import TransformerGroup
-from test.conftest import PROJ_GTE_921, PROJ_GTE_941, assert_can_pickle, 
grids_available
+from test.conftest import PROJ_GTE_941, assert_can_pickle, grids_available
 
 
 class CustomCRS:
@@ -427,10 +427,10 @@
         "+k=1 +x_0=0 +y_0=0 +gamma=0 +ellps=WGS84 "
         "+towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
     )
-    datum_name = "Unknown based on WGS84 ellipsoid"
-    if PROJ_GTE_921:
-        datum_name = "Unknown based on WGS 84 ellipsoid"
-    assert crs.datum.name == f"{datum_name} using towgs84=0,0,0,0,0,0,0"
+    assert (
+        crs.datum.name
+        == "Unknown based on WGS 84 ellipsoid using towgs84=0,0,0,0,0,0,0"
+    )
 
 
 def test_epsg__not_found():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/test/test_awips221.py 
new/pyproj-3.7.2/test/test_awips221.py
--- old/pyproj-3.7.1/test/test_awips221.py      2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/test/test_awips221.py      2025-08-14 13:05:05.000000000 
+0200
@@ -1,15 +1,11 @@
 import array
+from time import perf_counter
 
 import numpy
 from numpy.testing import assert_allclose
 
 from pyproj import Proj, __proj_version__
 
-try:
-    from time import perf_counter
-except ImportError:
-    from time import clock as perf_counter
-
 
 def test_awips221():
     params = {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/test/test_doctest_wrapper.py 
new/pyproj-3.7.2/test/test_doctest_wrapper.py
--- old/pyproj-3.7.1/test/test_doctest_wrapper.py       2025-02-16 
04:49:32.000000000 +0100
+++ new/pyproj-3.7.2/test/test_doctest_wrapper.py       2025-08-14 
13:05:05.000000000 +0200
@@ -33,9 +33,9 @@
         expected_failure_count = 6
 
     # if the below line fails, doctests have failed
-    assert (
-        failure_count == expected_failure_count
-    ), f"{failure_count} of the doctests failed"
+    assert failure_count == expected_failure_count, (
+        f"{failure_count} of the doctests failed"
+    )
 
 
 @pytest.mark.network
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/test/test_pickle.py 
new/pyproj-3.7.2/test/test_pickle.py
--- old/pyproj-3.7.1/test/test_pickle.py        2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/test/test_pickle.py        2025-08-14 13:05:05.000000000 
+0200
@@ -5,17 +5,13 @@
 import shutil
 import tempfile
 from contextlib import contextmanager
+from time import perf_counter
 
 import numpy
 from numpy.testing import assert_allclose
 
 from pyproj import Proj
 
-try:
-    from time import perf_counter
-except ImportError:
-    from time import clock as perf_counter
-
 
 @contextmanager
 def temporary_directory():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyproj-3.7.1/test/test_transformer.py 
new/pyproj-3.7.2/test/test_transformer.py
--- old/pyproj-3.7.1/test/test_transformer.py   2025-02-16 04:49:32.000000000 
+0100
+++ new/pyproj-3.7.2/test/test_transformer.py   2025-08-14 13:05:05.000000000 
+0200
@@ -18,7 +18,7 @@
 from pyproj.enums import TransformDirection
 from pyproj.exceptions import ProjError
 from pyproj.transformer import AreaOfInterest, TransformerGroup
-from test.conftest import PROJ_GTE_93, grids_available, proj_env, 
proj_network_env
+from test.conftest import grids_available, proj_env, proj_network_env
 
 
 def test_tranform_wgs84_to_custom():
@@ -535,14 +535,6 @@
             "Description: unavailable until proj_trans is called\n"
             "Area of Use:\n- undefined"
         )
-    elif not PROJ_GTE_93:
-        assert trans_repr == (
-            "<Unknown Transformer: noop>\n"
-            "Description: Transformation from EGM2008 height to WGS 84 "
-            "(ballpark vertical transformation, without ellipsoid height "
-            "to vertical height correction)\n"
-            "Area of Use:\n- undefined"
-        )
     else:
         assert trans_repr == (
             "<Other Coordinate Operation Transformer: noop>\n"
@@ -600,8 +592,7 @@
     assert transformer.scope is None
     assert [op.scope for op in transformer.operations] == [
         "Engineering survey, topographic mapping.",
-        "Transformation of GDA94 coordinates that have been derived "
-        "through GNSS CORS.",
+        "Transformation of GDA94 coordinates that have been derived through 
GNSS CORS.",
         "Engineering survey, topographic mapping.",
     ]
     assert [str(op.remarks)[:5].strip() for op in transformer.operations] == [
@@ -1319,27 +1310,6 @@
     )
 
 
-@pytest.mark.parametrize(
-    "input_crs,input_bounds,expected_bounds",
-    [
-        (
-            "ESRI:102036",
-            (-180.0, -90.0, 180.0, 1.3),
-            (0, -116576599, 0, 0),
-        ),
-        ("ESRI:54026", (-180.0, -90.0, 180.0, 90.0), (0, -179545824, 0, 
179545824)),
-    ],
-)
-def test_transform_bounds__ignore_inf(input_crs, input_bounds, 
expected_bounds):
-    crs = CRS(input_crs)
-    transformer = Transformer.from_crs(crs.geodetic_crs, crs, always_xy=True)
-    assert_almost_equal(
-        transformer.transform_bounds(*input_bounds),
-        expected_bounds,
-        decimal=0,
-    )
-
-
 def test_transform_bounds__ignore_inf_geographic():
     crs_wkt = (
         'PROJCS["Interrupted_Goode_Homolosine",'

Reply via email to