pygeodesy 24.9.29__py2.py3-none-any.whl → 24.10.10__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-24.9.29.dist-info → PyGeodesy-24.10.10.dist-info}/METADATA +9 -9
- {PyGeodesy-24.9.29.dist-info → PyGeodesy-24.10.10.dist-info}/RECORD +12 -12
- pygeodesy/__init__.py +10 -9
- pygeodesy/errors.py +11 -6
- pygeodesy/fmath.py +185 -173
- pygeodesy/fstats.py +54 -56
- pygeodesy/fsums.py +283 -255
- pygeodesy/internals.py +1 -0
- pygeodesy/streprs.py +7 -4
- pygeodesy/vector3d.py +5 -5
- {PyGeodesy-24.9.29.dist-info → PyGeodesy-24.10.10.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.9.29.dist-info → PyGeodesy-24.10.10.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyGeodesy
|
|
3
|
-
Version: 24.
|
|
3
|
+
Version: 24.10.10
|
|
4
4
|
Summary: Pure Python geodesy tools
|
|
5
5
|
Home-page: https://GitHub.com/mrJean1/PyGeodesy
|
|
6
6
|
Author: Jean M. Brouwers
|
|
@@ -115,7 +115,7 @@ line: ``epydoc --html --no-private --no-source --name=PyGeodesy --url=... -v pyg
|
|
|
115
115
|
Tests
|
|
116
116
|
=====
|
|
117
117
|
|
|
118
|
-
The tests ran with Python 3.13.
|
|
118
|
+
The tests ran with Python 3.13.0, 3.12.7 (with geographiclib_ 2.0, numpy_ 2.1.0, scipy_ 1.14.1,
|
|
119
119
|
GeodSolve_ 2.3, IntersectTool_ 2.3 and RhumbSolve_ 2.3), 3.11.5 (with geographiclib_ 2.0, numpy_
|
|
120
120
|
1.24.2 and scipy_ 1.10.1), Python 3.10.8 (with geographiclib_ 2.0, numpy_ 1.23.3, scipy_ 1.9.1,
|
|
121
121
|
GeoConvert_ 2.3, GeodSolve_ 2.3), Python 3.9.6 and Python 2.7.18 (with geographiclib_ 1.50, numpy_
|
|
@@ -126,20 +126,20 @@ All tests ran with and without ``lazy import`` for Python 3 and with command lin
|
|
|
126
126
|
and env variable ``PYGEODESY_WARNINGS=on`` for all Python versions. The results of those tests are
|
|
127
127
|
included in the distribution files.
|
|
128
128
|
|
|
129
|
-
Python 3.13.
|
|
129
|
+
Python 3.13.0, 3.12.7, 3.11.5 and 3.10.8 run on Apple M1 Silicon (``arm64``), *natively*. Python 2.7.18
|
|
130
130
|
runs on Intel (``x86_64``) or Intel *emulation* (\"``arm64_x86_64``\", see function `pygeodesy.machine`_).
|
|
131
131
|
|
|
132
|
-
Test coverage has been measured with coverage_ 7.6.
|
|
133
|
-
coverage report in HTML and a PDF summary are included in the distribution files.
|
|
132
|
+
Test coverage has been measured with coverage_ 7.6.1 using Python 3.13.0, 3.12.7, 3.11.5 and 3.10.8. The
|
|
133
|
+
complete coverage report in HTML and a PDF summary are included in the distribution files.
|
|
134
134
|
|
|
135
|
-
The tests also ran with Python 3.12.
|
|
136
|
-
Python 3.12.
|
|
135
|
+
The tests also ran with Python 3.12.7 (and geographiclib_ 2.0) on `Debian 12`_ in 64-bit only and with
|
|
136
|
+
Python 3.12.5 (and geographiclib_ 2.0) on `Windows 2019Server`_ in 64-bit only and with Python 2.7.18
|
|
137
137
|
(and with geographiclib_ 1.52) on `Windows 10`_ in 64- and 32-bit.
|
|
138
138
|
|
|
139
139
|
A single-File and single-Directory application with ``pygeodesy`` has been bundled using PyInstaller_
|
|
140
140
|
3.4 and 64-bit Python 3.7.4 and 3.7.3 on macOS 10.13.6 High Sierra.
|
|
141
141
|
|
|
142
|
-
Previously, the tests were run with Python 3.12.0-
|
|
142
|
+
Previously, the tests were run with Python 3.12.0-6, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, PyPy_
|
|
143
143
|
7.3.12 (Python 3.10.12), 7.3.1 (Python 3.6.9) and PyPy_ 7.1.1 (Python 2.7.13) (and geographiclib_ 1.52,
|
|
144
144
|
numpy_ 1.16.3, 1.16.4, 1.16.6, 1.19.0, 1.19.4, 1.19.5 or 1.22.4 and scipy_ 1.2.1, 1.4.1, 1.5.2 or 1.8.1)
|
|
145
145
|
on `Ubuntu 16.04`_, with Python 3.10.0-1, 3.9.0-5, 3.8.0-6, 3.7.2-6, 3.7.0, 3.6.2-5, 3.5.3, 2.7.13-17,
|
|
@@ -160,7 +160,7 @@ and McCabe_ using Python 2.7.18 and with Flake8_ using Python 3.11.5, both in 64
|
|
|
160
160
|
|
|
161
161
|
For a summary of all *Karney*-based functionality in ``pygeodesy``, see module karney_.
|
|
162
162
|
|
|
163
|
-
*Last updated:
|
|
163
|
+
*Last updated: Oct 10, 2024.*
|
|
164
164
|
|
|
165
165
|
License
|
|
166
166
|
=======
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
pygeodesy/LICENSE,sha256=YfgAiyxOwY6P9Kkb1_5XN81nueTLrpb3Ffkv3EuPgFU,1144
|
|
2
|
-
pygeodesy/__init__.py,sha256=
|
|
2
|
+
pygeodesy/__init__.py,sha256=44KoRZEfeBEA_093Z9NhDUB-NZ2etmdLYWMcKPEtj30,42477
|
|
3
3
|
pygeodesy/__main__.py,sha256=OupAiDFT_RXFw1Lh6C8bVG9NaonV_Wy6jibN_hA4aJg,5442
|
|
4
4
|
pygeodesy/albers.py,sha256=JXqeWAteV2N601e5R-D7bCsa8qAYv3oWm7M3R4uszXM,31078
|
|
5
5
|
pygeodesy/azimuthal.py,sha256=erI5DTM0-Nr5YC2LnBTVNbUKlrnnXJUwKe0SCQ7-Soc,50223
|
|
@@ -23,13 +23,13 @@ pygeodesy/ellipsoidalVincenty.py,sha256=hSQ7s6QGDJSsrZvP7KwM1Q4wJz0YjyFjODF6XPGZ
|
|
|
23
23
|
pygeodesy/ellipsoids.py,sha256=i7piclEb17hYt5wqL7Q0p5qLuRVvz3yonUSUcvmiozc,108005
|
|
24
24
|
pygeodesy/elliptic.py,sha256=M30EjB1Il_5Y8E94rN5hz4zPhYBQNoCo5Lj0TvCkiRE,45010
|
|
25
25
|
pygeodesy/epsg.py,sha256=Vq_M1g7Z0x5Noqsmt6OCQkPdYJj4jpWObtixL5pAjDA,8220
|
|
26
|
-
pygeodesy/errors.py,sha256=
|
|
26
|
+
pygeodesy/errors.py,sha256=ATfeHd7mnox2MQ1xxEMLCY5d6hKH7h86iBR-CzVWfS4,32042
|
|
27
27
|
pygeodesy/etm.py,sha256=G6dtN1LQAoft5mcUoxVgxHPnl9s8NBsXl-IlS8WP7jo,45328
|
|
28
|
-
pygeodesy/fmath.py,sha256=
|
|
28
|
+
pygeodesy/fmath.py,sha256=acNpvowoCYKH6bmg6KWOTGHE4qVE6yam80niXQoQrKk,36484
|
|
29
29
|
pygeodesy/formy.py,sha256=FvbkYhJ-iIOFR-IOImwm0I_dgXM9CfnWrJK_IvBX0SU,75082
|
|
30
30
|
pygeodesy/frechet.py,sha256=F6TYbOEYSOFcll6nvp4GhqafUWXh1umAKb1QaMYQtuM,34372
|
|
31
|
-
pygeodesy/fstats.py,sha256=
|
|
32
|
-
pygeodesy/fsums.py,sha256=
|
|
31
|
+
pygeodesy/fstats.py,sha256=8Vn1cwlgCQD444WX8FfAEC-AXQcJDeI9_i14Mizp59U,28288
|
|
32
|
+
pygeodesy/fsums.py,sha256=p08RcOrs8kpVeG4GXLyfywP6GEU7vFNr9rdKOj9Er44,102945
|
|
33
33
|
pygeodesy/gars.py,sha256=KRlyZUv1euEl7ZkDYSZG913GAfFMRG2m2hp37ObYY_Y,11829
|
|
34
34
|
pygeodesy/geodesici.py,sha256=I9e7saiO5lRodOXJk5DSQxladVcGfT0FR6KJSJVCw7Y,75015
|
|
35
35
|
pygeodesy/geodesicw.py,sha256=oEs96Epw839BH3rVpxVdpXuQRBudbOftUsSBUid8fcc,28710
|
|
@@ -38,7 +38,7 @@ pygeodesy/geohash.py,sha256=CHJUhvV26PLpjkaTwF4fS42ZRSSsnpH2zyGvadPxqG4,40201
|
|
|
38
38
|
pygeodesy/geoids.py,sha256=EWKfkmdl2GSL0eQCr79ndDwSGXYOPChGokxocCy7YuM,82371
|
|
39
39
|
pygeodesy/hausdorff.py,sha256=-aKtRbMefDSoIk4V3wCvNrXPZ7Bqk1P6-XuGuI7o8Zc,34770
|
|
40
40
|
pygeodesy/heights.py,sha256=Gv3b1xC7I0tBvTO-DdmWVW8A3ZV3RKxY3jveUUZso38,42909
|
|
41
|
-
pygeodesy/internals.py,sha256=
|
|
41
|
+
pygeodesy/internals.py,sha256=QgxNtfirxCsfQCrnLiIWjVVhI70YF9jT4tQrl6K1tp4,22551
|
|
42
42
|
pygeodesy/interns.py,sha256=XvNyWODsUd8_vBLX9XLmcU9Bq97L0nahhF-gvLivzKA,23278
|
|
43
43
|
pygeodesy/iters.py,sha256=xPH0ytomvJeKHu717Fjzi3QbRrEikO6n7vqkY_IDz1k,20311
|
|
44
44
|
pygeodesy/karney.py,sha256=ZkZhbsieGnr2cAIXjzmK-9OJdh72Hjp6Hya1wIoVP3c,38913
|
|
@@ -61,7 +61,7 @@ pygeodesy/solveBase.py,sha256=oI_-FFjSPI1_yQ598hF6HFKUa4tLsAfbnWtKoQ-TJgE,19206
|
|
|
61
61
|
pygeodesy/sphericalBase.py,sha256=bDVuArfePzqcothiTTkyisUGrMDTallXKROjihotcn8,32239
|
|
62
62
|
pygeodesy/sphericalNvector.py,sha256=Ip0jPv-MXBoHf3f-uXitGqiMz2xynDtE15OSJEl268Q,56913
|
|
63
63
|
pygeodesy/sphericalTrigonometry.py,sha256=cfXuJaJJ6jrJZxQ5anFHhz3ZbgkAB7aiMfuyMtJXqsE,64064
|
|
64
|
-
pygeodesy/streprs.py,sha256=
|
|
64
|
+
pygeodesy/streprs.py,sha256=owtyWBlieE4SOuS3Aa7D6-lzYf2mtmJ7PYs351fAGJ4,23453
|
|
65
65
|
pygeodesy/trf.py,sha256=CRFHmu0lFNtc41fddXavEkHmgnTFWEqR4RTFodcFKsw,119022
|
|
66
66
|
pygeodesy/triaxials.py,sha256=a9vdXmSqUXOneL0WpLriEFwNMW9EB6MpVbKYXuw_wi8,62562
|
|
67
67
|
pygeodesy/units.py,sha256=gHN-uzsOwIYjyhtWs0th0VHNY-fOiUiZo9G1cZi0oXg,35272
|
|
@@ -72,7 +72,7 @@ pygeodesy/utm.py,sha256=lCp7mNEaJNrAYnbdPaNUKkhbsX_GdssTEkp68uYdMLI,31091
|
|
|
72
72
|
pygeodesy/utmups.py,sha256=g2Z_aEOt6fhV9f4fASlW4_K_O_P4zBsBbWfQV11mIKo,13196
|
|
73
73
|
pygeodesy/utmupsBase.py,sha256=S4s1Sehj9jSMy-XRxwtwVstG3QhyVt924V0FHu0cPIk,18730
|
|
74
74
|
pygeodesy/vector2d.py,sha256=O9a3uRIREL2k7G-pnpuacjBcAlKg75MnokjtfJB-nBs,39659
|
|
75
|
-
pygeodesy/vector3d.py,sha256=
|
|
75
|
+
pygeodesy/vector3d.py,sha256=PaiuJgHCf0bO8nhOai42ut2zk0_DskSNCrOtCuHxw6U,42673
|
|
76
76
|
pygeodesy/vector3dBase.py,sha256=UOy6W-r8nTZTOMvxUgFQN6cFQo9H4zw0efqtcSpyy8s,36154
|
|
77
77
|
pygeodesy/webmercator.py,sha256=fFQtTxIsjOE35_nX_mAgFv1Eov7AdcsCBjT2ONm3qmI,14934
|
|
78
78
|
pygeodesy/wgrs.py,sha256=6dO31uMKF-t-uQz58hdutilE2A5msOs5Bybq5Uq3qgk,15453
|
|
@@ -112,7 +112,7 @@ pygeodesy/rhumb/aux_.py,sha256=XN0zlNwhU525NdcHko-G_Igvc7-mzXbT7ypcVIt5ADw,16048
|
|
|
112
112
|
pygeodesy/rhumb/bases.py,sha256=awpP60K6EOzS753oXM-h9S6paS6FwoCnco8Zt8n81jY,54162
|
|
113
113
|
pygeodesy/rhumb/ekx.py,sha256=JsmdCatWKqsffF8jCh4HDu5IKt_kHq1qUdmP1LMuofY,24044
|
|
114
114
|
pygeodesy/rhumb/solve.py,sha256=d4RujlW8B7BFAHlrwfj2Bup-uXZZTpgKWgI2JJBqUGc,24059
|
|
115
|
-
PyGeodesy-24.
|
|
116
|
-
PyGeodesy-24.
|
|
117
|
-
PyGeodesy-24.
|
|
118
|
-
PyGeodesy-24.
|
|
115
|
+
PyGeodesy-24.10.10.dist-info/METADATA,sha256=J8Ssw_oRSiu74syF_P35vCfWG-jWa6tTyEg6p0X4mMo,19891
|
|
116
|
+
PyGeodesy-24.10.10.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
|
|
117
|
+
PyGeodesy-24.10.10.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
|
|
118
|
+
PyGeodesy-24.10.10.dist-info/RECORD,,
|
pygeodesy/__init__.py
CHANGED
|
@@ -122,7 +122,7 @@ C{epydoc --html --no-private --no-source --name=PyGeodesy --url=... -v pygeodesy
|
|
|
122
122
|
Tests
|
|
123
123
|
=====
|
|
124
124
|
|
|
125
|
-
The tests ran with Python 3.13.
|
|
125
|
+
The tests ran with Python 3.13.0, Python 3.12.7 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
|
|
126
126
|
U{numpy<https://PyPI.org/project/numpy>} 2.1.0, U{scipy<https://PyPI.org/project/scipy>} 1.14.1,
|
|
127
127
|
U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3,
|
|
128
128
|
U{IntersectTool<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3 and
|
|
@@ -144,14 +144,15 @@ All tests ran with and without C{lazy import} for Python 3 and with command line
|
|
|
144
144
|
env variable C{PYGEODESY_WARNINGS=on} for all Python versions. The results of those tests are included in
|
|
145
145
|
the distribution files.
|
|
146
146
|
|
|
147
|
-
Test coverage has been measured with U{coverage<https://PyPI.org/project/coverage>} 7.6.
|
|
148
|
-
3.11.5 and 3.10.8. The complete coverage report in HTML and a PDF summary are included in
|
|
147
|
+
Test coverage has been measured with U{coverage<https://PyPI.org/project/coverage>} 7.6.1 using Python
|
|
148
|
+
3.13.0, 3.12.7, 3.11.5 and 3.10.8. The complete coverage report in HTML and a PDF summary are included in
|
|
149
|
+
the distribution files.
|
|
149
150
|
|
|
150
|
-
Python 3.13.
|
|
151
|
-
Intel (C{x86_64}) or Intel I{emulation} ("C{arm64_x86_64}", see function L{machine<pygeodesy.machine>}).
|
|
151
|
+
Python 3.13.0, 3.12.7, 3.11.5 and 3.10.8 run on Apple M1 Silicon (C{arm64}), I{natively}. Python 2.7.18 runs
|
|
152
|
+
on Intel (C{x86_64}) or Intel I{emulation} ("C{arm64_x86_64}", see function L{machine<pygeodesy.machine>}).
|
|
152
153
|
|
|
153
|
-
The tests also ran with Python 3.12.
|
|
154
|
-
12<https://Cirrus-CI.com/github/mrJean1/PyGeodesy/master>} in 64-bit only, with Python 3.12.
|
|
154
|
+
The tests also ran with Python 3.12.7 (and U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0) on
|
|
155
|
+
U{Debian 12<https://Cirrus-CI.com/github/mrJean1/PyGeodesy/master>} in 64-bit only, with Python 3.12.5 (and
|
|
155
156
|
U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0) on U{Windows
|
|
156
157
|
2019Server<https://CI.AppVeyor.com/project/mrJean1/pygeodesy>} in 64-bit only and with Python 2.7.18 (and
|
|
157
158
|
U{geographiclib<https://PyPI.org/project/geographiclib>} 1.52) on U{Windows
|
|
@@ -160,7 +161,7 @@ U{geographiclib<https://PyPI.org/project/geographiclib>} 1.52) on U{Windows
|
|
|
160
161
|
A single-File and single-Directory application with C{pygeodesy} has been bundled using U{PyInstaller
|
|
161
162
|
<https://PyPI.org/project/pyinstaller>} 3.4 and 64-bit Python 3.7.3 on macOS 10.13.6 High Sierra.
|
|
162
163
|
|
|
163
|
-
Previously, the tests were run with Python 3.12.0-
|
|
164
|
+
Previously, the tests were run with Python 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, U{PyPy
|
|
164
165
|
<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
|
|
165
166
|
2.7.13) (and U{geographiclib <https://PyPI.org/project/geographiclib>} 1.52, U{numpy<https://PyPI.org/project/numpy>}
|
|
166
167
|
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,
|
|
@@ -597,7 +598,7 @@ else:
|
|
|
597
598
|
|
|
598
599
|
from pygeodesy.internals import _version2, _DOT_ # PYCHOK import
|
|
599
600
|
# from pygeodesy.interns import _DOT_ # from .internals
|
|
600
|
-
__version__ = '24.
|
|
601
|
+
__version__ = '24.10.10'
|
|
601
602
|
# see setup.py for similar logic
|
|
602
603
|
version = _DOT_(*_version2(__version__, n=3))
|
|
603
604
|
|
pygeodesy/errors.py
CHANGED
|
@@ -16,9 +16,9 @@ C{PYGEODESY_EXCEPTION_CHAINING=std} or to any non-empty string.
|
|
|
16
16
|
# from pygeodesy import errors # _MODS, _MODS.getattr
|
|
17
17
|
from pygeodesy.internals import _dunder_nameof_, _plural, _tailof
|
|
18
18
|
from pygeodesy.interns import MISSING, NN, _a_, _an_, _and_, _clip_, _COLON_, _COLONSPACE_, \
|
|
19
|
-
_COMMASPACE_, _datum_, _ellipsoidal_, _incompatible_,
|
|
20
|
-
_keyword_, _LatLon_, _len_, _not_, _or_, _SPACE_,
|
|
21
|
-
_UNDER_, _vs_, _with_
|
|
19
|
+
_COMMASPACE_, _datum_, _ELLIPSIS_, _ellipsoidal_, _incompatible_, \
|
|
20
|
+
_invalid_, _keyword_, _LatLon_, _len_, _not_, _or_, _SPACE_, \
|
|
21
|
+
_specified_, _UNDER_, _vs_, _with_
|
|
22
22
|
from pygeodesy.lazily import _ALL_LAZY, _ALL_MODS as _MODS, _getenv, _PYTHON_X_DEV
|
|
23
23
|
# from pygeodesy import streprs as _streprs # _MODS
|
|
24
24
|
# from pygeodesy.unitsBase import Str # _MODS
|
|
@@ -27,7 +27,7 @@ from pygeodesy.lazily import _ALL_LAZY, _ALL_MODS as _MODS, _getenv, _PYTHON_X_D
|
|
|
27
27
|
from copy import copy as _copy
|
|
28
28
|
|
|
29
29
|
__all__ = _ALL_LAZY.errors # _ALL_DOCS('_InvalidError', '_IsnotError') _under
|
|
30
|
-
__version__ = '24.
|
|
30
|
+
__version__ = '24.10.01'
|
|
31
31
|
|
|
32
32
|
_argument_ = 'argument'
|
|
33
33
|
_box_ = 'box'
|
|
@@ -895,8 +895,13 @@ def _Xorder(_Coeffs, Error, **Xorder): # in .auxLat, .ktm, .rhumb.bases, .rhumb
|
|
|
895
895
|
def _xsError(X, xs, i, x, *n, **kwds): # in .fmath, ._fstats, .fsums
|
|
896
896
|
'''(INTERNAL) Error for C{xs} or C{x}, item C{xs[i]}.
|
|
897
897
|
'''
|
|
898
|
-
|
|
899
|
-
|
|
898
|
+
def _xs(*xs):
|
|
899
|
+
if len(xs) > 4:
|
|
900
|
+
xs = xs[:3] + (_ELLIPSIS_,) + xs[-1:]
|
|
901
|
+
return xs
|
|
902
|
+
|
|
903
|
+
return ((_xError(X, n[0], _xs(*xs), **kwds) if n else
|
|
904
|
+
_xError(X, xs=_xs(*xs), **kwds)) if x is xs else
|
|
900
905
|
_xError(X, _streprs.Fmt.INDEX(xs=i), x, **kwds))
|
|
901
906
|
|
|
902
907
|
|