pygeodesy 25.11.5__py2.py3-none-any.whl → 25.12.31__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pygeodesy/__init__.py +46 -25
- pygeodesy/__main__.py +1 -1
- pygeodesy/albers.py +1 -1
- pygeodesy/angles.py +960 -0
- pygeodesy/auxilats/_CX_4.py +1 -1
- pygeodesy/auxilats/_CX_6.py +1 -1
- pygeodesy/auxilats/_CX_8.py +1 -1
- pygeodesy/auxilats/_CX_Rs.py +1 -1
- pygeodesy/auxilats/__init__.py +2 -2
- pygeodesy/auxilats/__main__.py +1 -1
- pygeodesy/auxilats/auxAngle.py +7 -8
- pygeodesy/auxilats/auxDLat.py +1 -1
- pygeodesy/auxilats/auxDST.py +1 -1
- pygeodesy/auxilats/auxLat.py +1 -1
- pygeodesy/auxilats/auxily.py +1 -1
- pygeodesy/azimuthal.py +6 -5
- pygeodesy/basics.py +14 -10
- pygeodesy/booleans.py +1 -1
- pygeodesy/cartesianBase.py +7 -7
- pygeodesy/clipy.py +1 -1
- pygeodesy/constants.py +29 -24
- pygeodesy/css.py +1 -1
- pygeodesy/datums.py +1 -1
- pygeodesy/deprecated/__init__.py +1 -1
- pygeodesy/deprecated/bases.py +1 -1
- pygeodesy/deprecated/classes.py +14 -7
- pygeodesy/deprecated/consterns.py +1 -1
- pygeodesy/deprecated/datum.py +1 -1
- pygeodesy/deprecated/functions.py +1 -1
- pygeodesy/deprecated/nvector.py +1 -1
- pygeodesy/deprecated/rhumbBase.py +1 -1
- pygeodesy/deprecated/rhumbaux.py +1 -1
- pygeodesy/deprecated/rhumbsolve.py +1 -1
- pygeodesy/deprecated/rhumbx.py +1 -1
- pygeodesy/dms.py +1 -1
- pygeodesy/ecef.py +1 -1
- pygeodesy/ecefLocals.py +1 -1
- pygeodesy/elevations.py +1 -1
- pygeodesy/ellipsoidalBase.py +1 -1
- pygeodesy/ellipsoidalBaseDI.py +1 -1
- pygeodesy/ellipsoidalExact.py +1 -1
- pygeodesy/ellipsoidalGeodSolve.py +1 -1
- pygeodesy/ellipsoidalKarney.py +1 -1
- pygeodesy/ellipsoidalNvector.py +1 -1
- pygeodesy/ellipsoidalVincenty.py +1 -1
- pygeodesy/ellipsoids.py +30 -17
- pygeodesy/elliptic.py +1 -1
- pygeodesy/epsg.py +1 -1
- pygeodesy/errors.py +8 -4
- pygeodesy/etm.py +1 -1
- pygeodesy/fmath.py +19 -14
- pygeodesy/formy.py +251 -10
- pygeodesy/frechet.py +1 -1
- pygeodesy/fstats.py +1 -1
- pygeodesy/fsums.py +41 -29
- pygeodesy/gars.py +1 -1
- pygeodesy/geod3solve.py +489 -0
- pygeodesy/geodesici.py +9 -8
- pygeodesy/geodesicw.py +1 -1
- pygeodesy/geodesicx/_C4_24.py +1 -1
- pygeodesy/geodesicx/_C4_27.py +1 -1
- pygeodesy/geodesicx/_C4_30.py +1 -1
- pygeodesy/geodesicx/__init__.py +2 -2
- pygeodesy/geodesicx/__main__.py +1 -1
- pygeodesy/geodesicx/gx.py +1 -1
- pygeodesy/geodesicx/gxarea.py +54 -24
- pygeodesy/geodesicx/gxbases.py +1 -1
- pygeodesy/geodesicx/gxline.py +1 -1
- pygeodesy/geodsolve.py +73 -104
- pygeodesy/geohash.py +1 -1
- pygeodesy/geoids.py +1 -1
- pygeodesy/hausdorff.py +1 -1
- pygeodesy/heights.py +1 -1
- pygeodesy/internals.py +1 -1
- pygeodesy/interns.py +3 -3
- pygeodesy/iters.py +1 -1
- pygeodesy/karney.py +152 -151
- pygeodesy/ktm.py +1 -1
- pygeodesy/latlonBase.py +1 -1
- pygeodesy/lazily.py +24 -13
- pygeodesy/lcc.py +1 -1
- pygeodesy/ltp.py +1 -1
- pygeodesy/ltpTuples.py +1 -1
- pygeodesy/mgrs.py +3 -3
- pygeodesy/named.py +15 -10
- pygeodesy/namedTuples.py +1 -1
- pygeodesy/nvectorBase.py +1 -1
- pygeodesy/osgr.py +1 -1
- pygeodesy/points.py +1 -1
- pygeodesy/props.py +6 -4
- pygeodesy/resections.py +1 -1
- pygeodesy/rhumb/__init__.py +8 -6
- pygeodesy/rhumb/aux_.py +1 -1
- pygeodesy/rhumb/bases.py +1 -1
- pygeodesy/rhumb/ekx.py +1 -1
- pygeodesy/rhumb/solve.py +91 -84
- pygeodesy/simplify.py +1 -1
- pygeodesy/solveBase.py +72 -49
- pygeodesy/sphericalBase.py +1 -1
- pygeodesy/sphericalNvector.py +1 -1
- pygeodesy/sphericalTrigonometry.py +1 -1
- pygeodesy/streprs.py +6 -4
- pygeodesy/trf.py +2 -4
- pygeodesy/triaxials/__init__.py +70 -0
- pygeodesy/triaxials/bases.py +966 -0
- pygeodesy/triaxials/conformal3.py +617 -0
- pygeodesy/triaxials/triaxial3.py +968 -0
- pygeodesy/{triaxials.py → triaxials/triaxial5.py} +353 -781
- pygeodesy/units.py +1 -1
- pygeodesy/unitsBase.py +1 -1
- pygeodesy/ups.py +2 -3
- pygeodesy/utily.py +17 -14
- pygeodesy/utm.py +1 -1
- pygeodesy/utmups.py +1 -1
- pygeodesy/utmupsBase.py +1 -1
- pygeodesy/vector2d.py +1 -1
- pygeodesy/vector3d.py +1 -1
- pygeodesy/vector3dBase.py +1 -1
- pygeodesy/webmercator.py +1 -1
- pygeodesy/wgrs.py +1 -1
- {pygeodesy-25.11.5.dist-info → pygeodesy-25.12.31.dist-info}/METADATA +28 -21
- pygeodesy-25.12.31.dist-info/RECORD +125 -0
- pygeodesy-25.11.5.dist-info/RECORD +0 -119
- {pygeodesy-25.11.5.dist-info → pygeodesy-25.12.31.dist-info}/WHEEL +0 -0
- {pygeodesy-25.11.5.dist-info → pygeodesy-25.12.31.dist-info}/top_level.txt +0 -0
pygeodesy/__init__.py
CHANGED
|
@@ -8,8 +8,8 @@ geodetic (lat-/longitude), geocentric (U{ECEF<https://WikiPedia.org/wiki/ECEF>}
|
|
|
8
8
|
<https://GeographicLib.SourceForge.io/1.44/triaxial.html>} coordinates.
|
|
9
9
|
|
|
10
10
|
Transcoded in part from U{JavaScript originals<https://GitHub.com/ChrisVeness/geodesy>} by I{Chris Veness (C)
|
|
11
|
-
2005-
|
|
12
|
-
F. F. Karney (C) 2008-
|
|
11
|
+
2005-2025} and from several U{C++ classes<https://GeographicLib.SourceForge.io/C++/doc/annotated.html>} by I{Charles
|
|
12
|
+
F. F. Karney (C) 2008-2025} and published under the same U{MIT License<https://OpenSource.org/licenses/MIT>}**.
|
|
13
13
|
|
|
14
14
|
There are four modules for ellipsoidal earth models, C{ellipsoidalExact}, C{-Karney}, C{-Vincenty} and C{-Nvector}
|
|
15
15
|
and two for spherical ones, C{sphericalTrigonometry} and C{-Nvector}. Each module provides a geodetic B{C{LatLon}}
|
|
@@ -101,9 +101,15 @@ and L{GnomonicGeodSolve} depend on I{Karney}'s C++ utility U{GeodSolve
|
|
|
101
101
|
<https://GeographicLib.SourceForge.io/C++/doc/GeodSolve.1.html>} to be executable and set with
|
|
102
102
|
env variable C{PYGEODESY_GEODSOLVE} or with property L{Ellipsoid.geodsolve}.
|
|
103
103
|
|
|
104
|
+
Triaxial geodesic classes L{Geodesic3Solve} and L{GeodesicLine3Solve} in module L{geod3solve} need
|
|
105
|
+
I{Karney}'s C++ utility U{Geod3Solve<https://GeographicLib.SourceForge.io/C++/doc/Geod3Solve.1.html>}
|
|
106
|
+
to be executable and set with env variable C{PYGEODESY_GEOD3SOLVE} or with property
|
|
107
|
+
L{Geodesic3Solve.Geod3Solve<geod3solve._Geodesic3SolveBase.Geod3Solve>}.
|
|
108
|
+
|
|
104
109
|
Class L{Intersectool} in module L{geodesici} needs I{Karney}'s C++ utility U{IntersectTool
|
|
105
110
|
<https://GeographicLib.SourceForge.io/C++/doc/IntersectTool.1.html>} to be executable and set with
|
|
106
|
-
env variable C{PYGEODESY_INTERSECTTOOL}.
|
|
111
|
+
env variable C{PYGEODESY_INTERSECTTOOL} or with property L{Intersectool.IntersectTool
|
|
112
|
+
<geodesici.Intersectool.IntersectTool>}.
|
|
107
113
|
|
|
108
114
|
To compare C{MGRS} results from modules L{mgrs} and C{testMgrs} with I{Karney}'s C++ utility
|
|
109
115
|
U{GeoConvert<https://GeographicLib.SourceForge.io/C++/doc/GeoConvert.1.html>}, the latter must
|
|
@@ -125,39 +131,41 @@ C{epydoc --html --no-private --no-source --name=pygeodesy --url=... -v pygeodesy
|
|
|
125
131
|
Tests
|
|
126
132
|
=====
|
|
127
133
|
|
|
128
|
-
The tests ran with Python 3.14 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.1),
|
|
129
|
-
Python 3.13.
|
|
134
|
+
The tests ran with Python 3.14.2 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.1),
|
|
135
|
+
Python 3.13.9 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.1),
|
|
130
136
|
U{numpy<https://PyPI.org/project/numpy>} 2.3.3, U{scipy<https://PyPI.org/project/scipy>} 1.16.2,
|
|
131
|
-
U{GeoConvert<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.
|
|
132
|
-
U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.
|
|
137
|
+
U{GeoConvert<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7 and
|
|
138
|
+
U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7),
|
|
133
139
|
Python 3.12.7 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
|
|
134
140
|
U{numpy<https://PyPI.org/project/numpy>} 2.1.0, U{scipy<https://PyPI.org/project/scipy>} 1.14.1,
|
|
135
|
-
U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.
|
|
136
|
-
U{
|
|
137
|
-
U{
|
|
141
|
+
U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7,
|
|
142
|
+
U{GeodS3olve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7,
|
|
143
|
+
U{IntersectTool<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7 and
|
|
144
|
+
U{RhumbSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7),
|
|
138
145
|
Python 3.11.5 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
|
|
139
146
|
U{numpy<https://PyPI.org/project/numpy>} 1.24.2 and U{scipy<https://PyPI.org/project/scipy>} 1.10.1),
|
|
140
147
|
and with Python 2.7.18 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 1.50,
|
|
141
148
|
U{numpy<https://PyPI.org/project/numpy>} 1.16.6, U{scipy<https://PyPI.org/project/scipy>} 1.2.2,
|
|
142
|
-
U{GeoConvert<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.
|
|
143
|
-
U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.
|
|
144
|
-
U{
|
|
145
|
-
U{
|
|
146
|
-
|
|
149
|
+
U{GeoConvert<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7,
|
|
150
|
+
U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7,
|
|
151
|
+
U{Geod3Solve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7,
|
|
152
|
+
U{IntersectTool<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7 and
|
|
153
|
+
U{RhumbSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.7), all in 64-bit on
|
|
154
|
+
macOS 26.2 Tahoe.
|
|
147
155
|
|
|
148
156
|
All tests ran with and without C{lazy import} for Python 3 and with command line option C{-W default} and
|
|
149
157
|
env variable C{PYGEODESY_WARNINGS=on} for all Python versions. The results of those tests are included in
|
|
150
158
|
the distribution files.
|
|
151
159
|
|
|
152
160
|
Test coverage has been measured with U{coverage<https://PyPI.org/project/coverage>} 7.10.7 using Python
|
|
153
|
-
3.14, 3.13.
|
|
161
|
+
3.14.2, 3.13.9 and 3.12.7. The complete coverage report in HTML and a PDF summary are included in the
|
|
154
162
|
distribution files.
|
|
155
163
|
|
|
156
|
-
Python 3.14, 3.13.
|
|
164
|
+
Python 3.14.2, 3.13.9, 3.12.7 and 3.11.5 run on Apple Si M4 (C{arm64}), I{natively}. Python 2.7.18 runs
|
|
157
165
|
on Intel (C{x86_64}) or Intel I{emulation} ("C{arm64_x86_64}", see function L{machine<pygeodesy.machine>}).
|
|
158
166
|
|
|
159
|
-
The tests also ran with Python 3.
|
|
160
|
-
U{Debian 12<https://Cirrus-CI.com/github/mrJean1/PyGeodesy/master>} in 64-bit only, with Python 3.
|
|
167
|
+
The tests also ran with Python 3.14.2 (and U{geographiclib<https://PyPI.org/project/geographiclib>} 2.1) on
|
|
168
|
+
U{Debian 12<https://Cirrus-CI.com/github/mrJean1/PyGeodesy/master>} in 64-bit only, with Python 3.13.9 (and
|
|
161
169
|
U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0) on U{Windows 2019Server
|
|
162
170
|
<https://CI.AppVeyor.com/project/mrJean1/pygeodesy>} in 64-bit only and with Python 2.7.18 (and U{geographiclib
|
|
163
171
|
<https://PyPI.org/project/geographiclib>} 1.52) on U{Windows 10<https://CI.AppVeyor.com/project/mrJean1/pygeodesy>}
|
|
@@ -166,7 +174,7 @@ in 64- and 32-bit.
|
|
|
166
174
|
A single-File and single-Directory application with C{pygeodesy} has been bundled using U{PyInstaller
|
|
167
175
|
<https://PyPI.org/project/pyinstaller>} 3.4 and 64-bit Python 3.7.3 on macOS 10.13.6 High Sierra.
|
|
168
176
|
|
|
169
|
-
Previously, the tests were run with Python 3.13.0-
|
|
177
|
+
Previously, the tests were run with Python 3.13.0-7, 3.12.0-6, 3.11.2-4, 3.10.1-7, 3.9.6, 3.9.1, 3.8.7, 3.7.1, 2.7.15,
|
|
170
178
|
U{PyPy<https://PyPy.org>} 7.3.12 (Python 3.10.12), 7.3.1 (Python 3.6.9) and U{PyPy<https://PyPy.org>} 7.1.1 (Python
|
|
171
179
|
2.7.13) (and U{geographiclib <https://PyPI.org/project/geographiclib>} 1.52, U{numpy<https://PyPI.org/project/numpy>}
|
|
172
180
|
1.16.3, 1.16.4, 1.16.6, 1.19.0, 1.19.4, 1.19.5 or 1.22.4 and U{scipy<https://PyPI.org/project/scipy>} 1.2.1, 1.4.1,
|
|
@@ -187,10 +195,10 @@ Notes
|
|
|
187
195
|
=====
|
|
188
196
|
|
|
189
197
|
All Python source code has been statically U{checked<https://GitHub.com/ActiveState/code/tree/master/recipes/Python/
|
|
190
|
-
546532_PyChecker_postprocessor>} with U{Ruff<https://GitHub.com/astral-sh/ruff>} using Python 3.13.
|
|
198
|
+
546532_PyChecker_postprocessor>} with U{Ruff<https://GitHub.com/astral-sh/ruff>} using Python 3.13.9 and with
|
|
191
199
|
U{PyChecker<https://PyPI.org/project/pychecker>}, U{PyFlakes<https://PyPI.org/project/pyflakes>}, U{PyCodeStyle
|
|
192
200
|
<https://PyPI.org/project/pycodestyle>} (formerly Pep8) and U{McCabe<https://PyPI.org/project/mccabe>} using Python
|
|
193
|
-
2.7.18, both in 64-bit on macOS 26.
|
|
201
|
+
2.7.18, both in 64-bit on macOS 26.2 Tahoe.
|
|
194
202
|
|
|
195
203
|
For a summary of all I{Karney}-based functionality in C{pygeodesy}, see module U{karney
|
|
196
204
|
<https://mrJean1.GitHub.io/PyGeodesy/docs/pygeodesy.karney-module.html>}.
|
|
@@ -210,6 +218,7 @@ The following environment variables are observed by C{pygeodesy}:
|
|
|
210
218
|
- C{PYGEODESY_FSUM_RESIDUAL} - see module L{fsums<pygeodesy.fsums>} and method L{RESIDUAL<pygeodesy.Fsum.RESIDUAL>}.
|
|
211
219
|
- C{PYGEODESY_GEOCONVERT} - see module L{mgrs<pygeodesy.mgrs>}.
|
|
212
220
|
- C{PYGEODESY_GEODSOLVE} - see module L{geodsolve<pygeodesy.geodsolve>}.
|
|
221
|
+
- C{PYGEODESY_GEOD3SOLVE} - see module L{geod3solve<pygeodesy.geod3solve>}.
|
|
213
222
|
- C{PYGEODESY_INTERSECTTOOL} - see module L{geodesici<pygeodesy.geodesici>}.
|
|
214
223
|
- C{PYGEODESY_LAZY_IMPORT} - see module L{lazily<pygeodesy.lazily>} and variable L{isLazy<pygeodesy.isLazy>}.
|
|
215
224
|
- C{PYGEODESY_NOTIMPLEMENTED} - C{__special__} methods return C{NotImplemented} if set to "std".
|
|
@@ -247,7 +256,7 @@ and:
|
|
|
247
256
|
License
|
|
248
257
|
=======
|
|
249
258
|
|
|
250
|
-
**) U{Copyright (C) 2016-
|
|
259
|
+
**) U{Copyright (C) 2016-2026 -- mrJean1 at Gmail -- All Rights Reserved.<https://OpenSource.org/licenses/MIT>}
|
|
251
260
|
|
|
252
261
|
C{Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
253
262
|
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
@@ -273,6 +282,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}
|
|
|
273
282
|
@var EPS2: M{EPS * 2} ≈ 4.440892098501e-16 (C{float}).
|
|
274
283
|
@var EPS_2: M{EPS / 2} ≈ 1.110223024625e-16 (C{float}).
|
|
275
284
|
@var EPS4: M{EPS * 4} ≈ 8.881784197001e-16 (C{float}).
|
|
285
|
+
@var EPS8: M{EPS * 8} ≈ 1.776356839400e-15 (C{float}).
|
|
276
286
|
|
|
277
287
|
@var F_D: Format degrees as unsigned "deg°" with symbol, plus compass point suffix C{N, S, E} or C{W} (C{str}).
|
|
278
288
|
@var F_DM: Format degrees as unsigned "deg°min′" with symbols, plus suffix (C{str}).
|
|
@@ -321,6 +331,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}
|
|
|
321
331
|
@var NINF: Negative infinity (C{float}), see function L{isninf<pygeodesy.isninf>} and C{INF}.
|
|
322
332
|
@var NN: Empty (C{str}), U{I{Nomen Nescio}<https://Wiktionary.org/wiki/N.N.>}.
|
|
323
333
|
|
|
334
|
+
@var OVERFLOW: Object representing C{overflow} (1 / L{EPS0<pygeodesy.constants.EPS0>} = 4.9e+32).
|
|
335
|
+
|
|
324
336
|
@var PI: Constant M{math.pi} (C{float}).
|
|
325
337
|
@var PI2: Two PI, M{PI * 2}, aka I{Tau} (C{float}).
|
|
326
338
|
@var PI_2: Half PI, M{PI / 2} (C{float}).
|
|
@@ -395,6 +407,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
395
407
|
|
|
396
408
|
# import all public modules and export as such
|
|
397
409
|
import pygeodesy.albers as albers # noqa: F401
|
|
410
|
+
import pygeodesy.angles as angles # noqa: F401
|
|
398
411
|
import pygeodesy.auxilats as auxilats # noqa: F401
|
|
399
412
|
import pygeodesy.azimuthal as azimuthal # noqa: F401
|
|
400
413
|
import pygeodesy.basics as basics # noqa: F401
|
|
@@ -431,6 +444,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
431
444
|
import pygeodesy.geodesicw as geodesicw # noqa: F401
|
|
432
445
|
import pygeodesy.geodesicx as geodesicx # noqa: F401
|
|
433
446
|
import pygeodesy.geodsolve as geodsolve # noqa: F401
|
|
447
|
+
import pygeodesy.geod3solve as geod3solve # noqa: F401
|
|
434
448
|
import pygeodesy.geohash as geohash # noqa: F401
|
|
435
449
|
import pygeodesy.geoids as geoids # noqa: F401
|
|
436
450
|
import pygeodesy.hausdorff as hausdorff # noqa: F401
|
|
@@ -481,6 +495,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
481
495
|
# NOT modules ellipsoidal*, epsg, gars, geohash, spherical*,
|
|
482
496
|
# vector and wgrs ... in order keep those as modules ONLY
|
|
483
497
|
from pygeodesy.albers import * # noqa: F403
|
|
498
|
+
from pygeodesy.angles import * # noqa: F403
|
|
484
499
|
from pygeodesy.azimuthal import * # noqa: F403
|
|
485
500
|
# from pygeodesy.auxilats import * # noqa: F403
|
|
486
501
|
from pygeodesy.basics import * # noqa: F403
|
|
@@ -517,6 +532,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
517
532
|
from pygeodesy.geodesicw import * # noqa: F403
|
|
518
533
|
from pygeodesy.geodesicx import * # noqa: F403
|
|
519
534
|
from pygeodesy.geodsolve import * # noqa: F403
|
|
535
|
+
from pygeodesy.geod3solve import * # noqa: F403
|
|
520
536
|
from pygeodesy.geohash import * # noqa: F403
|
|
521
537
|
from pygeodesy.geoids import * # noqa: F403
|
|
522
538
|
from pygeodesy.hausdorff import * # noqa: F403
|
|
@@ -548,6 +564,11 @@ if _init__all__ and not _lazy_import2: # import and set __all__
|
|
|
548
564
|
from pygeodesy.streprs import * # noqa: F403
|
|
549
565
|
from pygeodesy.trf import * # noqa: F403
|
|
550
566
|
from pygeodesy.triaxials import * # noqa: F403
|
|
567
|
+
# from pygeodesy.triaxials.bases import * # noqa: F403
|
|
568
|
+
# from pygeodesy.triaxials.conformals import * # noqa: F403
|
|
569
|
+
# from pygeodesy.triaxials.spheres import * # noqa: F403
|
|
570
|
+
# from pygeodesy.triaxials.triaxial3 import * # noqa: F403
|
|
571
|
+
# from pygeodesy.triaxials.triaxial5 import * # noqa: F403
|
|
551
572
|
from pygeodesy.units import * # noqa: F403
|
|
552
573
|
from pygeodesy.unitsBase import * # noqa: F403 Float, ...
|
|
553
574
|
from pygeodesy.ups import * # noqa: F403
|
|
@@ -605,7 +626,7 @@ else:
|
|
|
605
626
|
|
|
606
627
|
from pygeodesy.internals import _version2, _DOT_ # noqa: E402
|
|
607
628
|
# from pygeodesy.interns import _DOT_ # from .internals
|
|
608
|
-
__version__ = '25.
|
|
629
|
+
__version__ = '25.12.31'
|
|
609
630
|
# see setup.py for similar logic
|
|
610
631
|
version = _DOT_(*_version2(__version__, n=3))
|
|
611
632
|
|
|
@@ -613,7 +634,7 @@ del _DOT_, _lazy_import2, _os_path, _sys, _version2
|
|
|
613
634
|
|
|
614
635
|
# **) MIT License
|
|
615
636
|
#
|
|
616
|
-
# Copyright (C) 2016-
|
|
637
|
+
# Copyright (C) 2016-2026 -- mrJean1 at Gmail -- All Rights Reserved.
|
|
617
638
|
#
|
|
618
639
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
619
640
|
# copy of this software and associated documentation files (the "Software"),
|
pygeodesy/__main__.py
CHANGED
|
@@ -86,7 +86,7 @@ except ImportError:
|
|
|
86
86
|
|
|
87
87
|
# **) MIT License
|
|
88
88
|
#
|
|
89
|
-
# Copyright (C) 2016-
|
|
89
|
+
# Copyright (C) 2016-2026 -- mrJean1 at Gmail -- All Rights Reserved.
|
|
90
90
|
#
|
|
91
91
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
92
92
|
# copy of this software and associated documentation files (the "Software"),
|
pygeodesy/albers.py
CHANGED
|
@@ -827,7 +827,7 @@ __all__ += _ALL_DOCS(_AlbersBase)
|
|
|
827
827
|
|
|
828
828
|
# **) MIT License
|
|
829
829
|
#
|
|
830
|
-
# Copyright (C) 2016-
|
|
830
|
+
# Copyright (C) 2016-2026 -- mrJean1 at Gmail -- All Rights Reserved.
|
|
831
831
|
#
|
|
832
832
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
833
833
|
# copy of this software and associated documentation files (the "Software"),
|