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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyGeodesy
3
- Version: 24.9.29
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.0rc2, 3.12.6 (with geographiclib_ 2.0, numpy_ 2.1.0, scipy_ 1.14.1,
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.0rc2, 3.12.6, 3.11.5 and 3.10.8 run on Apple M1 Silicon (``arm64``), *natively*. Python 2.7.18
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.0 using Python 3.12.6, 3.11.5 and 3.10.8. The complete
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.6 (and geographiclib_ 2.0) on `Debian 12`_ in 64-bit only and with
136
- Python 3.12.3 (and geographiclib_ 2.0) on `Windows 2019Server`_ in 64-bit only and with Python 2.7.18
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-4, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, PyPy_
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: Sep 29, 2024.*
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=MPSm_QycgTQamFcQG7hsKLKULgZK4MscaLnEOmrqUq0,42475
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=w7aUnWFFWavu1TiMyAuxA2bAHYOZltzYqauurU8pmLY,31907
26
+ pygeodesy/errors.py,sha256=ATfeHd7mnox2MQ1xxEMLCY5d6hKH7h86iBR-CzVWfS4,32042
27
27
  pygeodesy/etm.py,sha256=G6dtN1LQAoft5mcUoxVgxHPnl9s8NBsXl-IlS8WP7jo,45328
28
- pygeodesy/fmath.py,sha256=44yyf6shurGxFxFIj_huTk0cnRaMYYEgouFNdPrmZI0,35427
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=r-RKXOwq2vcwEVrscKyMz0jgeyUFPD4izReKuNbxwoE,28548
32
- pygeodesy/fsums.py,sha256=GgHfZMCexk_q85m0kH4jhkeMnHnoPQ7X334Jzj3t8QM,101835
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=TSJueckcn6dQddZUhLR0Vf9XN-Whm85IYmSvhVZbB_s,22550
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=4aME8X-_9SS4VESootFOoK96aHjpwq3cKNTZ5u0q_nI,23342
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=5oqlXXsm_YNGEMkVyKfmyp3qdMRxm-gzlK9V0_EK9hE,42687
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.9.29.dist-info/METADATA,sha256=bw_d3WzsZrHR7el08s2UwYG_Irc0KKwlN3h_dGtgZDY,19888
116
- PyGeodesy-24.9.29.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
117
- PyGeodesy-24.9.29.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
118
- PyGeodesy-24.9.29.dist-info/RECORD,,
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.0rc2, Python 3.12.6 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
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.0 using Python 3.12.6,
148
- 3.11.5 and 3.10.8. The complete coverage report in HTML and a PDF summary are included in the distribution files.
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.0rc2, 3.12.6, 3.11.5 and 3.10.8 run on Apple M1 Silicon (C{arm64}), I{natively}. Python 2.7.18 runs on
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.6 (and U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0) on U{Debian
154
- 12<https://Cirrus-CI.com/github/mrJean1/PyGeodesy/master>} in 64-bit only, with Python 3.12.3 (and
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-4, 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
+ 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.09.29'
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_, _invalid_, \
20
- _keyword_, _LatLon_, _len_, _not_, _or_, _SPACE_, _specified_, \
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.09.26'
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
- return ((_xError(X, n[0], xs, **kwds) if n else
899
- _xError(X, xs=xs, **kwds)) if x is xs else
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