Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-geographiclib for
openSUSE:Factory checked in at 2026-09-08 16:57:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-geographiclib (Old)
and /work/SRC/openSUSE:Factory/.python-geographiclib.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-geographiclib"
Tue Sep 8 16:57:41 2026 rev:5 rq:1376226 version:2.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-geographiclib/python-geographiclib.changes
2025-07-10 22:10:43.052144316 +0200
+++
/work/SRC/openSUSE:Factory/.python-geographiclib.new.1265/python-geographiclib.changes
2026-09-08 17:00:56.711060589 +0200
@@ -1,0 +2,20 @@
+Thu Sep 3 17:07:06 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 2.1:
+ * Fix the inverse geodesic solution for strongly prolate
+ ellipsoids: sig12 < 1 was wrongly taken as proof that the
+ meridional geodesic is the shortest one (new GeodSolve100 test)
+ * Relax the bisection tolerance tolb_ and always leave the Newton
+ loop at maxit2_ instead of bounding the loop itself (new
+ GeodSolve99 test)
+ * Reject a Newton step of |dalp1| >= pi before computing its sine
+ (upstream MPFR fix)
+ * Annotate Geodesic.WGS84 on the class so static type checkers
+ resolve it
+ * Static metadata moved to setup.cfg; sdist ships pyproject.toml
+ instead of setup.py and MANIFEST.in
+- Add setuptools >= 42 build floor, required by upstream's
+ build-system.
+- Drop obsolete Group tag.
+
+-------------------------------------------------------------------
Old:
----
geographiclib-2.0.tar.gz
New:
----
geographiclib-2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-geographiclib.spec ++++++
--- /var/tmp/diff_new_pack.qIUW7Z/_old 2026-09-08 17:00:57.736103464 +0200
+++ /var/tmp/diff_new_pack.qIUW7Z/_new 2026-09-08 17:00:57.738103547 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-geographiclib
#
-# 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
@@ -18,16 +18,15 @@
%{?sle15_python_module_pythons}
Name: python-geographiclib
-Version: 2.0
+Version: 2.1
Release: 0
Summary: Python geodesic routines
License: MIT
-Group: Development/Languages/Python
URL: https://geographiclib.sourceforge.io/
Source:
https://files.pythonhosted.org/packages/source/g/geographiclib/geographiclib-%{version}.tar.gz
BuildRequires: %{python_module base}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module setuptools >= 42}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ geographiclib-2.0.tar.gz -> geographiclib-2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/LICENSE
new/geographiclib-2.1/LICENSE
--- old/geographiclib-2.0/LICENSE 2022-04-23 11:07:12.000000000 +0200
+++ new/geographiclib-2.1/LICENSE 2025-08-21 21:01:16.000000000 +0200
@@ -1,6 +1,6 @@
The MIT License (MIT).
-Copyright (c) 2012-2022, Charles Karney
+Copyright (c) 2012-2025, Charles Karney
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/MANIFEST.in
new/geographiclib-2.1/MANIFEST.in
--- old/geographiclib-2.0/MANIFEST.in 2021-07-14 16:21:51.000000000 +0200
+++ new/geographiclib-2.1/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-include README.md
-include LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/PKG-INFO
new/geographiclib-2.1/PKG-INFO
--- old/geographiclib-2.0/PKG-INFO 2022-04-23 14:57:13.797639100 +0200
+++ new/geographiclib-2.1/PKG-INFO 2025-08-21 23:12:50.593214800 +0200
@@ -1,17 +1,18 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: geographiclib
-Version: 2.0
+Version: 2.1
Summary: The geodesic routines from GeographicLib
-Home-page: https://geographiclib.sourceforge.io/Python/2.0
+Home-page: https://geographiclib.sourceforge.io/Python/
Author: Charles Karney
-Author-email: [email protected]
+Author-email: [email protected]
License: MIT
-Keywords: gis geographical earth distance geodesic
-Platform: UNKNOWN
+Project-URL: Source Code, https://github.com/geographiclib/geographiclib-python
+Project-URL: Documentation, https://geographiclib.sourceforge.io/Python/doc/
+Project-URL: Download, https://pypi.org/project/geographiclib/
+Keywords: gis,geographical,earth,distance,geodesic
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering :: GIS
@@ -19,6 +20,7 @@
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
+Dynamic: license-file
# Python implementation of the geodesic routines in GeographicLib
@@ -37,5 +39,3 @@
The documentation for this package is in
https://geographiclib.sourceforge.io/Python/doc
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib/__init__.py
new/geographiclib-2.1/geographiclib/__init__.py
--- old/geographiclib-2.0/geographiclib/__init__.py 2022-04-23
14:57:08.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/__init__.py 2025-08-21
23:12:49.000000000 +0200
@@ -1,12 +1,12 @@
"""geographiclib: geodesic routines from GeographicLib"""
__version_info__ = (2,
- 0,
+ 1,
0)
"""GeographicLib version as a tuple"""
-__version__ = "2.0"
+__version__ = "2.1"
"""GeographicLib version as a string"""
-__release_date__ = "2022-04-23"
+__release_date__ = "2025-08-21"
"""GeographicLib release date"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib/accumulator.py
new/geographiclib-2.1/geographiclib/accumulator.py
--- old/geographiclib-2.0/geographiclib/accumulator.py 2021-07-14
16:21:51.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/accumulator.py 2024-07-31
20:40:08.000000000 +0200
@@ -5,9 +5,9 @@
# from to python. See the documentation for the C++ class for more information
# at
#
-# https://geographiclib.sourceforge.io/html/annotated.html
+# https://geographiclib.sourceforge.io/C++/doc/annotated.html
#
-# Copyright (c) Charles Karney (2011-2019) <[email protected]> and
+# Copyright (c) Charles Karney (2011-2022) <[email protected]> and
# licensed under the MIT/X11 License. For more information, see
# https://geographiclib.sourceforge.io/
######################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib/constants.py
new/geographiclib-2.1/geographiclib/constants.py
--- old/geographiclib-2.0/geographiclib/constants.py 2021-07-14
16:21:51.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/constants.py 2024-07-31
20:40:08.000000000 +0200
@@ -4,9 +4,9 @@
# This is a translation of the GeographicLib::Constants class to python. See
# the documentation for the C++ class for more information at
#
-# https://geographiclib.sourceforge.io/html/annotated.html
+# https://geographiclib.sourceforge.io/C++/doc/annotated.html
#
-# Copyright (c) Charles Karney (2011-2016) <[email protected]> and
+# Copyright (c) Charles Karney (2011-2022) <[email protected]> and
# licensed under the MIT/X11 License. For more information, see
# https://geographiclib.sourceforge.io/
######################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib/geodesic.py
new/geographiclib-2.1/geographiclib/geodesic.py
--- old/geographiclib-2.0/geographiclib/geodesic.py 2022-04-09
00:21:45.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/geodesic.py 2025-08-21
21:21:53.000000000 +0200
@@ -63,7 +63,7 @@
# This is a rather literal translation of the GeographicLib::Geodesic class to
# python. See the documentation for the C++ class for more information at
#
-# https://geographiclib.sourceforge.io/html/annotated.html
+# https://geographiclib.sourceforge.io/C++/doc/annotated.html
#
# The algorithms are derived in
#
@@ -72,7 +72,7 @@
# https://doi.org/10.1007/s00190-012-0578-z
# Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
#
-# Copyright (c) Charles Karney (2011-2022) <[email protected]> and licensed
+# Copyright (c) Charles Karney (2011-2022) <[email protected]> and licensed
# under the MIT/X11 License. For more information, see
# https://geographiclib.sourceforge.io/
######################################################################
@@ -86,6 +86,7 @@
class Geodesic:
"""Solve geodesic problems"""
+ WGS84: "Geodesic"
GEOGRAPHICLIB_GEODESIC_ORDER = 6
nA1_ = GEOGRAPHICLIB_GEODESIC_ORDER
nC1_ = GEOGRAPHICLIB_GEODESIC_ORDER
@@ -105,7 +106,7 @@
tol0_ = sys.float_info.epsilon
tol1_ = 200 * tol0_
tol2_ = math.sqrt(tol0_)
- tolb_ = tol0_ * tol2_
+ tolb_ = tol0_
xthresh_ = 1000 * tol2_
CAP_NONE = GeodesicCapability.CAP_NONE
@@ -440,7 +441,7 @@
# outmask & REDUCEDLENGTH: set m12b & m0
# outmask & GEODESICSCALE: set M12 & M21
- s12b = m12b = m0 = M12 = M21 = math.nan
+ s12b = m12b = m0 = m0x = J12 = M12 = M21 = math.nan
if outmask & (Geodesic.DISTANCE | Geodesic.REDUCEDLENGTH |
Geodesic.GEODESICSCALE):
A1 = Geodesic._A1m1f(eps)
@@ -803,7 +804,7 @@
#
# In fact, we will have sig12 > pi/2 for meridional geodesic which is
# not a shortest path.
- if sig12 < 1 or m12x >= 0:
+ if sig12 < Geodesic.tol2_ or m12x >= 0:
if (sig12 < 3 * Geodesic.tiny_ or
# Prevent negative s12 or m12 for short lines
(sig12 < Geodesic.tol0_ and (s12x < 0 or m12x < 0))):
@@ -869,7 +870,7 @@
salp1a = Geodesic.tiny_; calp1a = 1.0
salp1b = Geodesic.tiny_; calp1b = -1.0
- while numit < Geodesic.maxit2_:
+ while True:
# the WGS84 test set: mean = 1.47, sd = 1.25, max = 16
# WGS84 and random input: mean = 2.85, sd = 0.60
(v, salp2, calp2, sig12, ssig1, csig1, ssig2, csig2,
@@ -878,7 +879,8 @@
salp1, calp1, slam12, clam12, numit < Geodesic.maxit1_,
C1a, C2a, C3a)
# Reversed test to allow escape with NaNs
- if tripb or not (abs(v) >= (8 if tripn else 1) * Geodesic.tol0_):
+ if (tripb or not (abs(v) >= (8 if tripn else 1) * Geodesic.tol0_) or
+ numit == Geodesic.maxit2_):
break
# Update bracketing values
if v > 0 and (numit > Geodesic.maxit1_ or
@@ -891,17 +893,18 @@
numit += 1
if numit < Geodesic.maxit1_ and dv > 0:
dalp1 = -v/dv
- sdalp1 = math.sin(dalp1); cdalp1 = math.cos(dalp1)
- nsalp1 = salp1 * cdalp1 + calp1 * sdalp1
- if nsalp1 > 0 and abs(dalp1) < math.pi:
- calp1 = calp1 * cdalp1 - salp1 * sdalp1
- salp1 = nsalp1
- salp1, calp1 = Math.norm(salp1, calp1)
- # In some regimes we don't get quadratic convergence because
- # slope -> 0. So use convergence conditions based on epsilon
- # instead of sqrt(epsilon).
- tripn = abs(v) <= 16 * Geodesic.tol0_
- continue
+ if abs(dalp1) < math.pi:
+ sdalp1 = math.sin(dalp1); cdalp1 = math.cos(dalp1)
+ nsalp1 = salp1 * cdalp1 + calp1 * sdalp1
+ if nsalp1 > 0:
+ calp1 = calp1 * cdalp1 - salp1 * sdalp1
+ salp1 = nsalp1
+ salp1, calp1 = Math.norm(salp1, calp1)
+ # In some regimes we don't get quadratic convergence because
+ # slope -> 0. So use convergence conditions based on epsilon
+ # instead of sqrt(epsilon).
+ tripn = abs(v) <= 16 * Geodesic.tol0_
+ continue
# Either dv was not positive or updated value was outside
# legal range. Use the midpoint of the bracket as the next
# estimate. This mechanism is not needed for the WGS84
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/geographiclib-2.0/geographiclib/geodesiccapability.py
new/geographiclib-2.1/geographiclib/geodesiccapability.py
--- old/geographiclib-2.0/geographiclib/geodesiccapability.py 2021-07-14
16:21:51.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/geodesiccapability.py 2024-07-31
20:40:08.000000000 +0200
@@ -5,9 +5,9 @@
# geodesicline.py. See the documentation for the GeographicLib::Geodesic class
# for more information at
#
-# https://geographiclib.sourceforge.io/html/annotated.html
+# https://geographiclib.sourceforge.io/C++/doc/annotated.html
#
-# Copyright (c) Charles Karney (2011-2014) <[email protected]> and licensed
+# Copyright (c) Charles Karney (2011-2022) <[email protected]> and licensed
# under the MIT/X11 License. For more information, see
# https://geographiclib.sourceforge.io/
######################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib/geodesicline.py
new/geographiclib-2.1/geographiclib/geodesicline.py
--- old/geographiclib-2.0/geographiclib/geodesicline.py 2022-04-09
00:21:45.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/geodesicline.py 2024-07-31
20:40:08.000000000 +0200
@@ -42,7 +42,7 @@
# This is a rather literal translation of the GeographicLib::GeodesicLine class
# to python. See the documentation for the C++ class for more information at
#
-# https://geographiclib.sourceforge.io/html/annotated.html
+# https://geographiclib.sourceforge.io/C++/doc/annotated.html
#
# The algorithms are derived in
#
@@ -51,7 +51,7 @@
# https://doi.org/10.1007/s00190-012-0578-z
# Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
#
-# Copyright (c) Charles Karney (2011-2022) <[email protected]> and licensed
+# Copyright (c) Charles Karney (2011-2022) <[email protected]> and licensed
# under the MIT/X11 License. For more information, see
# https://geographiclib.sourceforge.io/
######################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib/geomath.py
new/geographiclib-2.1/geographiclib/geomath.py
--- old/geographiclib-2.0/geographiclib/geomath.py 2022-04-23
13:56:18.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/geomath.py 2025-08-21
20:42:43.000000000 +0200
@@ -4,9 +4,9 @@
# This is a rather literal translation of the GeographicLib::Math class to
# python. See the documentation for the C++ class for more information at
#
-# https://geographiclib.sourceforge.io/html/annotated.html
+# https://geographiclib.sourceforge.io/C++/doc/annotated.html
#
-# Copyright (c) Charles Karney (2011-2021) <[email protected]> and
+# Copyright (c) Charles Karney (2011-2022) <[email protected]> and
# licensed under the MIT/X11 License. For more information, see
# https://geographiclib.sourceforge.io/
######################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib/polygonarea.py
new/geographiclib-2.1/geographiclib/polygonarea.py
--- old/geographiclib-2.0/geographiclib/polygonarea.py 2022-04-09
00:21:45.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/polygonarea.py 2025-08-09
23:29:41.000000000 +0200
@@ -30,7 +30,7 @@
# This is a rather literal translation of the GeographicLib::PolygonArea class
# to python. See the documentation for the C++ class for more information at
#
-# https://geographiclib.sourceforge.io/html/annotated.html
+# https://geographiclib.sourceforge.io/C++/doc/annotated.html
#
# The algorithms are derived in
#
@@ -39,7 +39,7 @@
# https://doi.org/10.1007/s00190-012-0578-z
# Addenda: https://geographiclib.sourceforge.io/geod-addenda.html
#
-# Copyright (c) Charles Karney (2011-2022) <[email protected]> and licensed
+# Copyright (c) Charles Karney (2011-2022) <[email protected]> and licensed
# under the MIT/X11 License. For more information, see
# https://geographiclib.sourceforge.io/
######################################################################
@@ -226,7 +226,7 @@
More points can be added to the polygon after this call.
"""
- if self.polyline: area = math.nan
+ area = math.nan
if self.num < 2:
perimeter = 0.0
if not self.polyline: area = 0.0
@@ -260,7 +260,7 @@
:return: a tuple of number, perimeter (meters), area (meters^2)
"""
- if self.polyline: area = math.nan
+ area = math.nan
if self.num == 0:
perimeter = 0.0
if not self.polyline: area = 0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/geographiclib-2.0/geographiclib/test/test_geodesic.py
new/geographiclib-2.1/geographiclib/test/test_geodesic.py
--- old/geographiclib-2.0/geographiclib/test/test_geodesic.py 2022-03-30
14:44:55.000000000 +0200
+++ new/geographiclib-2.1/geographiclib/test/test_geodesic.py 2025-08-21
21:21:07.000000000 +0200
@@ -572,6 +572,29 @@
inv = geod.Inverse(0, 0, 60.0832522871723, 89.8492185074635, Geodesic.AREA)
self.assertAlmostEqual(inv["S12"], 42426932221845, delta = 0.5)
+ def test_GeodSolve99(self):
+ """Test case
+ https://github.com/geographiclib/geographiclib-js/issues/3
+ Problem was that output of sincosd(+/-45) was inconsistent because
+ of directed rounding by Javascript's Math.round. Python
+ implementation was OK."""
+ inv = Geodesic.WGS84.Inverse(45.0, 0.0, -45.0, 179.572719)
+ self.assertAlmostEqual(inv["azi1"], 90.00000028, delta = 1e-8 )
+ self.assertAlmostEqual(inv["azi2"], 90.00000028, delta = 1e-8 )
+ self.assertAlmostEqual(inv["s12"], 19987083.007, delta = 0.5e-3)
+
+ def test_GeodSolve100(self):
+ """Check fix for meridional failure for a strongly prolate ellipsoid.
+ This was caused by assuming that sig12 < 1 guarantees the meridional
+ geodesic is shortest (even though m12 < 0). Counter example is tested
+ here. Bug is not present for f >= -2, b < 3*a. For f = -2.1 the
+ inverse calculation for 30.61 0 30.61 180 exhibits the bug."""
+ geod = Geodesic(1e6, -3)
+ inv = geod.Inverse(30, 0, 30, 180)
+ self.assertAlmostEqual(inv["azi1"], 22.368806, delta = 1.0)
+ self.assertAlmostEqual(inv["azi2"], 157.631194, delta = 1.0)
+ self.assertAlmostEqual(inv["s12"], 1074081.6, delta = 1e3)
+
class PlanimeterTest(unittest.TestCase):
"""Planimeter tests"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib.egg-info/PKG-INFO
new/geographiclib-2.1/geographiclib.egg-info/PKG-INFO
--- old/geographiclib-2.0/geographiclib.egg-info/PKG-INFO 2022-04-23
14:57:13.000000000 +0200
+++ new/geographiclib-2.1/geographiclib.egg-info/PKG-INFO 2025-08-21
23:12:50.000000000 +0200
@@ -1,17 +1,18 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: geographiclib
-Version: 2.0
+Version: 2.1
Summary: The geodesic routines from GeographicLib
-Home-page: https://geographiclib.sourceforge.io/Python/2.0
+Home-page: https://geographiclib.sourceforge.io/Python/
Author: Charles Karney
-Author-email: [email protected]
+Author-email: [email protected]
License: MIT
-Keywords: gis geographical earth distance geodesic
-Platform: UNKNOWN
+Project-URL: Source Code, https://github.com/geographiclib/geographiclib-python
+Project-URL: Documentation, https://geographiclib.sourceforge.io/Python/doc/
+Project-URL: Download, https://pypi.org/project/geographiclib/
+Keywords: gis,geographical,earth,distance,geodesic
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering :: GIS
@@ -19,6 +20,7 @@
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
+Dynamic: license-file
# Python implementation of the geodesic routines in GeographicLib
@@ -37,5 +39,3 @@
The documentation for this package is in
https://geographiclib.sourceforge.io/Python/doc
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/geographiclib.egg-info/SOURCES.txt
new/geographiclib-2.1/geographiclib.egg-info/SOURCES.txt
--- old/geographiclib-2.0/geographiclib.egg-info/SOURCES.txt 2022-04-23
14:57:13.000000000 +0200
+++ new/geographiclib-2.1/geographiclib.egg-info/SOURCES.txt 2025-08-21
23:12:50.000000000 +0200
@@ -1,7 +1,7 @@
LICENSE
-MANIFEST.in
README.md
-setup.py
+pyproject.toml
+setup.cfg
geographiclib/__init__.py
geographiclib/accumulator.py
geographiclib/constants.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/pyproject.toml
new/geographiclib-2.1/pyproject.toml
--- old/geographiclib-2.0/pyproject.toml 1970-01-01 01:00:00.000000000
+0100
+++ new/geographiclib-2.1/pyproject.toml 2024-07-31 20:40:08.000000000
+0200
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["setuptools>=42"]
+build-backend = "setuptools.build_meta"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/setup.cfg
new/geographiclib-2.1/setup.cfg
--- old/geographiclib-2.0/setup.cfg 2022-04-23 14:57:13.797639100 +0200
+++ new/geographiclib-2.1/setup.cfg 2025-08-21 23:12:50.593633200 +0200
@@ -1,3 +1,32 @@
+[metadata]
+name = geographiclib
+version = attr: geographiclib.__version__
+author = Charles Karney
+author_email = [email protected]
+description = The geodesic routines from GeographicLib
+long_description = file: README.md
+long_description_content_type = text/markdown
+keywords = gis, geographical, earth, distance, geodesic
+license = MIT
+license_files = LICENSE
+url = https://geographiclib.sourceforge.io/Python/
+project_urls =
+ Source Code = https://github.com/geographiclib/geographiclib-python
+ Documentation = https://geographiclib.sourceforge.io/Python/doc/
+ Download = https://pypi.org/project/geographiclib/
+classifiers =
+ Development Status :: 5 - Production/Stable
+ Intended Audience :: Developers
+ Intended Audience :: Science/Research
+ Operating System :: OS Independent
+ Programming Language :: Python
+ Topic :: Scientific/Engineering :: GIS
+ Topic :: Software Development :: Libraries :: Python Modules
+
+[options]
+packages = find:
+python_requires = >= 3.7
+
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/geographiclib-2.0/setup.py
new/geographiclib-2.1/setup.py
--- old/geographiclib-2.0/setup.py 2022-04-23 14:57:08.000000000 +0200
+++ new/geographiclib-2.1/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-# setup.py, config file for distutils
-#
-# To install this package, execute
-#
-# python setup.py install
-#
-# in this directory. To run the unit tests, execute
-#
-# python setup.py test
-#
-# To update the HTML page for this version, run
-#
-# python setup.py register
-#
-# To upload the latest version to the python repository, run
-#
-# python setup.py sdist --formats gztar,zip upload
-#
-# The initial version of this file was provided by
-# Andrew MacIntyre <[email protected]>.
-
-import setuptools
-
-name = "geographiclib"
-version = "2.0"
-
-with open("README.md", "r") as fh:
- long_description = fh.read()
-
-setuptools.setup(
- name = name,
- version = version,
- author = "Charles Karney",
- author_email = "[email protected]",
- description = "The geodesic routines from GeographicLib",
- long_description = long_description,
- long_description_content_type = "text/markdown",
- url = "https://geographiclib.sourceforge.io/Python/2.0" ,
- include_package_data = True,
- packages = setuptools.find_packages(),
- license = "MIT",
- keywords = "gis geographical earth distance geodesic",
- classifiers = [
- "Development Status :: 5 - Production/Stable",
- "Intended Audience :: Developers",
- "Intended Audience :: Science/Research",
- "License :: OSI Approved :: MIT License",
- "Operating System :: OS Independent",
- "Programming Language :: Python",
- "Topic :: Scientific/Engineering :: GIS",
- "Topic :: Software Development :: Libraries :: Python Modules",
- ],
- test_suite = "geographiclib.test.test_geodesic",
- python_requires = ">=3.7",
-)