pygeodesy 24.6.24__py2.py3-none-any.whl → 24.7.7__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.6.24.dist-info → PyGeodesy-24.7.7.dist-info}/METADATA +2 -2
- {PyGeodesy-24.6.24.dist-info → PyGeodesy-24.7.7.dist-info}/RECORD +23 -23
- pygeodesy/__init__.py +7 -1
- pygeodesy/__main__.py +6 -1
- pygeodesy/basics.py +8 -4
- pygeodesy/deprecated/__init__.py +1 -1
- pygeodesy/deprecated/classes.py +10 -3
- pygeodesy/errors.py +10 -1
- pygeodesy/geodesici.py +1111 -324
- pygeodesy/geodesicw.py +5 -3
- pygeodesy/geodesicx/__init__.py +1 -1
- pygeodesy/geodesicx/gx.py +19 -30
- pygeodesy/geodesicx/gxline.py +83 -72
- pygeodesy/geodsolve.py +36 -57
- pygeodesy/internals.py +40 -13
- pygeodesy/karney.py +63 -16
- pygeodesy/lazily.py +23 -21
- pygeodesy/ltpTuples.py +4 -4
- pygeodesy/rhumb/solve.py +21 -22
- pygeodesy/solveBase.py +177 -123
- pygeodesy/units.py +5 -5
- {PyGeodesy-24.6.24.dist-info → PyGeodesy-24.7.7.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.6.24.dist-info → PyGeodesy-24.7.7.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.7.7
|
|
4
4
|
Summary: Pure Python geodesy tools
|
|
5
5
|
Home-page: https://GitHub.com/mrJean1/PyGeodesy
|
|
6
6
|
Author: Jean M. Brouwers
|
|
@@ -159,7 +159,7 @@ and McCabe_ using Python 2.7.18 and with Flake8_ using Python 3.11.5, both in 64
|
|
|
159
159
|
|
|
160
160
|
For a summary of all *Karney*-based functionality in ``pygeodesy``, see module karney_.
|
|
161
161
|
|
|
162
|
-
*Last updated:
|
|
162
|
+
*Last updated: July 07, 2024.*
|
|
163
163
|
|
|
164
164
|
License
|
|
165
165
|
=======
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
pygeodesy/LICENSE,sha256=YfgAiyxOwY6P9Kkb1_5XN81nueTLrpb3Ffkv3EuPgFU,1144
|
|
2
|
-
pygeodesy/__init__.py,sha256=
|
|
3
|
-
pygeodesy/__main__.py,sha256=
|
|
2
|
+
pygeodesy/__init__.py,sha256=Ig2DWbIX8WlxpVNviEhbft-iQ2xgVWvnOmbGWrpvV8c,41787
|
|
3
|
+
pygeodesy/__main__.py,sha256=VWxepzxGqR5wsHYyIHFSsRMlZ27keX3xyEhBuGDRXxk,4727
|
|
4
4
|
pygeodesy/albers.py,sha256=JXqeWAteV2N601e5R-D7bCsa8qAYv3oWm7M3R4uszXM,31078
|
|
5
5
|
pygeodesy/azimuthal.py,sha256=5tMMKlzKyfGnreOHChrquBi241ZvIOBTUn_pbZCIJWc,50231
|
|
6
|
-
pygeodesy/basics.py,sha256=
|
|
6
|
+
pygeodesy/basics.py,sha256=mSim8pSrRLMFYTnTrJDvkthfrw2MWBmMya3hOHWX4co,29785
|
|
7
7
|
pygeodesy/booleans.py,sha256=5IeA6QWihiPWSv2JnCbMT53ey1WYIU7od5VQ1YUFqX8,73529
|
|
8
8
|
pygeodesy/cartesianBase.py,sha256=WaAod_-nwgX8MjNhu4rr_V9PmEaI0F8gKPCUH4-Olyc,46968
|
|
9
9
|
pygeodesy/clipy.py,sha256=3ysIEWQ89HjvLnSlZm0nZAt9EN5AQxIs1sLLM8yF9zM,27675
|
|
@@ -23,7 +23,7 @@ pygeodesy/ellipsoidalVincenty.py,sha256=gsUFMKgqMZKT02jDm7TEJ_jSHX8d-KJCz91iCfku
|
|
|
23
23
|
pygeodesy/ellipsoids.py,sha256=fraKj3NPStXablvzejt-LgQsghcp-MgMUvU6nh4L2YI,108034
|
|
24
24
|
pygeodesy/elliptic.py,sha256=-80MbZvRPk-TeA_ggkfXhjuPv07MzsB4HxNF7gbdhB4,42501
|
|
25
25
|
pygeodesy/epsg.py,sha256=oWHX_QVChE5roktAyXUmPmX49XHiryYmXTHxQzrAprE,8222
|
|
26
|
-
pygeodesy/errors.py,sha256
|
|
26
|
+
pygeodesy/errors.py,sha256=-UnQ1GhkiTR6uBd0z0vd_pFEmjWXlOESRDwMdxY_JD0,30605
|
|
27
27
|
pygeodesy/etm.py,sha256=y3dAqS-iWnbWzmsu4zB7kryAp_I17XEdzNRRk0klTww,44696
|
|
28
28
|
pygeodesy/fmath.py,sha256=EOHD0uZ8VULZtXAk8tVeuPaSTozPDCN8GJcemCo-jqg,33709
|
|
29
29
|
pygeodesy/formy.py,sha256=ZpPaQBQvaFiA-UcrgaiiV_iGxlfTqNdlR1Ngx-1oinY,75032
|
|
@@ -31,23 +31,23 @@ pygeodesy/frechet.py,sha256=F6TYbOEYSOFcll6nvp4GhqafUWXh1umAKb1QaMYQtuM,34372
|
|
|
31
31
|
pygeodesy/fstats.py,sha256=4eIhzSCMnn-2nVP3Q-5cCWCI-rvH0CE-zkk9hp3Pvn8,28642
|
|
32
32
|
pygeodesy/fsums.py,sha256=LzsPQHY3bByOFFXPSo7E8lbYKWy5cif02WJk2JfnMvA,80455
|
|
33
33
|
pygeodesy/gars.py,sha256=gJKZuGPKw8rlRLx1hywZrpGucpHXLvMe8fr8izgSW2s,11370
|
|
34
|
-
pygeodesy/geodesici.py,sha256=
|
|
35
|
-
pygeodesy/geodesicw.py,sha256=
|
|
36
|
-
pygeodesy/geodsolve.py,sha256=
|
|
34
|
+
pygeodesy/geodesici.py,sha256=SiC7GX1d3rswXL24kuxs6acxMx95lxgIZkhCJ_W0MKA,69988
|
|
35
|
+
pygeodesy/geodesicw.py,sha256=apDkq2MwLCuEccRx39_P2vSqkW8aFaHX-aigj3fbU8Q,27186
|
|
36
|
+
pygeodesy/geodsolve.py,sha256=luJCtc5pfNoSSKZ-OgXIMUjgRH2jo8skskvsy2sAJRA,23171
|
|
37
37
|
pygeodesy/geohash.py,sha256=rOOGOHcTnxIPX2p5ieA1gQ_ZcRlUxjIcroPHa7a85ak,31876
|
|
38
38
|
pygeodesy/geoids.py,sha256=oxn0MSgbvwBkrwyg1vS7PhhYZ_zbjLxC50W-8FTIxeU,80680
|
|
39
39
|
pygeodesy/hausdorff.py,sha256=-aKtRbMefDSoIk4V3wCvNrXPZ7Bqk1P6-XuGuI7o8Zc,34770
|
|
40
40
|
pygeodesy/heights.py,sha256=9kvyJj0-D3syZMdHNDXIfZT3MyhHH2fcqW_y-u7Tn2M,43197
|
|
41
|
-
pygeodesy/internals.py,sha256=
|
|
41
|
+
pygeodesy/internals.py,sha256=YUcf9wWXT7XztviEBN2uBww8Bt7gnqks2sAZt7k_j3w,20426
|
|
42
42
|
pygeodesy/interns.py,sha256=kReVkCWA_rw8GyaYFVRI9dfdXu7MF9nD1MgoXsdsK7I,23273
|
|
43
43
|
pygeodesy/iters.py,sha256=xPH0ytomvJeKHu717Fjzi3QbRrEikO6n7vqkY_IDz1k,20311
|
|
44
|
-
pygeodesy/karney.py,sha256=
|
|
44
|
+
pygeodesy/karney.py,sha256=e11p40pfXocdmFpVROjv4NTowxjAmL4bNeNTDmF095I,37745
|
|
45
45
|
pygeodesy/ktm.py,sha256=u0xjvqhG2k18jg7bNclRr3D9umiZXKXQGRjmL_VX4yY,27437
|
|
46
46
|
pygeodesy/latlonBase.py,sha256=M-Xe4KK8aOnQUxNJkODlTa5ApzhqXCggc_d8HlMdnIc,78987
|
|
47
|
-
pygeodesy/lazily.py,sha256=
|
|
47
|
+
pygeodesy/lazily.py,sha256=HCrqdp_ZT_aTREO47nmlOch5kNHyL0IOfij40HL5hig,46842
|
|
48
48
|
pygeodesy/lcc.py,sha256=oDooTzFHnqsMtSKmmmfEbypHpdlPltfo7Mt0pAO4-_A,25669
|
|
49
49
|
pygeodesy/ltp.py,sha256=gQLZwcSIiXJrbRlaWnxAX8AK2VzH9l3jDqoNb3jcVD4,50773
|
|
50
|
-
pygeodesy/ltpTuples.py,sha256=
|
|
50
|
+
pygeodesy/ltpTuples.py,sha256=r3uHMBCxr31IsCMp_OtpevQPmULJhucn8JZ2bGjuiVI,58338
|
|
51
51
|
pygeodesy/mgrs.py,sha256=w50bvM3qDtHDBDBRQ_EgZnPn7vxVXgoFnleeZgefkVk,29679
|
|
52
52
|
pygeodesy/named.py,sha256=_2zgvL0cPg2JL3JpyWMZ7cc9e_I0y_4XPVYb2e7zEZg,52243
|
|
53
53
|
pygeodesy/namedTuples.py,sha256=UDmL4kCihvf8tIUVXzGzRLzL_1BLuyqm04pite6YUuk,28495
|
|
@@ -57,14 +57,14 @@ pygeodesy/points.py,sha256=GirmbiqjD7Q0Z4SDySQO__Jgun-i8vMdJ81U2Kz8V0w,64408
|
|
|
57
57
|
pygeodesy/props.py,sha256=8dGmTpdEABnLbBngmaOIpM0h4NYiBteMOHc_r4iNpAg,21988
|
|
58
58
|
pygeodesy/resections.py,sha256=nkfBxYrsEdyq2JqAbPrRWKplJBzFkIXLvEZGB4gPu_A,43550
|
|
59
59
|
pygeodesy/simplify.py,sha256=NybC-pfze0ObEm4ZCz6ZQrjJlQ-QyA83E6mSJqCuKq4,25223
|
|
60
|
-
pygeodesy/solveBase.py,sha256=
|
|
60
|
+
pygeodesy/solveBase.py,sha256=SRxXd7M3e3VCe9om5XEYuIJ_AoDlP26AnRzDuDbIgUs,18726
|
|
61
61
|
pygeodesy/sphericalBase.py,sha256=YvjMZmmfy9pZeKHbY-ca0oi-Jy-OxsG9dhefy5LTjRA,32237
|
|
62
62
|
pygeodesy/sphericalNvector.py,sha256=MiWcCy5CdvXsCa3963GeUMEnSYGhBiXzkoAEX_tGX4Q,56952
|
|
63
63
|
pygeodesy/sphericalTrigonometry.py,sha256=Jf3FUUYEWXbNkiagr0HyMJ6E-cNghnTjcdgntTm28RE,64076
|
|
64
64
|
pygeodesy/streprs.py,sha256=xudQ6zi5jFT_CmstSPysjxpZKyLBQNkUk1ETh0uvQ04,23030
|
|
65
65
|
pygeodesy/trf.py,sha256=CRFHmu0lFNtc41fddXavEkHmgnTFWEqR4RTFodcFKsw,119022
|
|
66
66
|
pygeodesy/triaxials.py,sha256=SLAlzdpOa8kFSkpP-lhL-swzsZkuqufZET_gJtoA_54,62750
|
|
67
|
-
pygeodesy/units.py,sha256=
|
|
67
|
+
pygeodesy/units.py,sha256=mTn0APS0SW9fKn3IYf5usV63Xaw2B9DzkwefPNVu-Es,34607
|
|
68
68
|
pygeodesy/unitsBase.py,sha256=yT7dgfwxtd1hHEn02NwPAdStsVWDfPH-Qdfrhvje7Yw,14057
|
|
69
69
|
pygeodesy/ups.py,sha256=zapIvzoVuj_FDGC6sr8O8ynPhfqXwUg-EFCVnJdM9Eo,23329
|
|
70
70
|
pygeodesy/utily.py,sha256=Zb6L9unzHHhp67znmQLLdizvyX6p4eczR1PDtcyWH-s,36189
|
|
@@ -86,9 +86,9 @@ pygeodesy/auxilats/auxDLat.py,sha256=3sq7Wc-ykpVbldNh10IZ3tIlJ7DcQFDlmZ4nOhJEgo0
|
|
|
86
86
|
pygeodesy/auxilats/auxDST.py,sha256=bdNEh3TdABWH7qW6ngZx5SnzDM3B5rtPLvYhvCnFsKc,10497
|
|
87
87
|
pygeodesy/auxilats/auxLat.py,sha256=QeTx8dqov1NwNSEam9VC_wq36nRCUpbJpY4hH1NvyNg,32493
|
|
88
88
|
pygeodesy/auxilats/auxily.py,sha256=spSRS9beouT-qH98QhqMk9sm2qKubW8kwNYVWkFu3iU,8234
|
|
89
|
-
pygeodesy/deprecated/__init__.py,sha256=
|
|
89
|
+
pygeodesy/deprecated/__init__.py,sha256=cBYqbh5Njkd5SnaJDaMUP6PL66HfLWii_JoLjnKfnP4,2815
|
|
90
90
|
pygeodesy/deprecated/bases.py,sha256=nxUtxscAg5cb7HEzTSmPJFafLc9Ad2SL5ovwkYaU5z8,1655
|
|
91
|
-
pygeodesy/deprecated/classes.py,sha256=
|
|
91
|
+
pygeodesy/deprecated/classes.py,sha256=gktUr5qYXCm8ztH6lfzFgaHKqMiw1tHc1Vw6i6DEvNA,12377
|
|
92
92
|
pygeodesy/deprecated/consterns.py,sha256=W-rQiw443_zCFEUzjCGykGND-i5P_ghEIyJUSGg7-Nc,1908
|
|
93
93
|
pygeodesy/deprecated/datum.py,sha256=s8Hke053RucP5ACvg3gdX8weQfGM0x59pQyHpY11eOs,1875
|
|
94
94
|
pygeodesy/deprecated/functions.py,sha256=EZMZe9WGkcbwmLDoWO2xKJyFlUkWAAMxmlbtCLa28lM,13866
|
|
@@ -100,18 +100,18 @@ pygeodesy/deprecated/rhumbx.py,sha256=OS0p_meaoVrpZe5UhK6qZljjlrGpL0pCHWw8gofw7k
|
|
|
100
100
|
pygeodesy/geodesicx/_C4_24.py,sha256=kS4XMR9m7iBs01V8K0Oz9qTYmjN-icIQGpc_8iwVhig,90750
|
|
101
101
|
pygeodesy/geodesicx/_C4_27.py,sha256=bPbj2Ckrn9WJglm3SNTXyMkULNwANM0tCQ-LKxP1L58,134258
|
|
102
102
|
pygeodesy/geodesicx/_C4_30.py,sha256=QZO8p971ztJwDGLOaJYgIhklztz9GlqbtS-xRP_E7o4,201964
|
|
103
|
-
pygeodesy/geodesicx/__init__.py,sha256=
|
|
103
|
+
pygeodesy/geodesicx/__init__.py,sha256=4qAIrE-cnOvi1B38iK-52PB2BpB1zxsVYEryHm4QTJk,2478
|
|
104
104
|
pygeodesy/geodesicx/__main__.py,sha256=JnKrYmg1q9J5wRRqUy-dQ9abj2-2jpWtrolMMaFfWiY,3176
|
|
105
|
-
pygeodesy/geodesicx/gx.py,sha256=
|
|
105
|
+
pygeodesy/geodesicx/gx.py,sha256=0ohLWR_xllBfHyMzcwHTSgKE8FW4IH22IEXo3uAI-eI,60585
|
|
106
106
|
pygeodesy/geodesicx/gxarea.py,sha256=-Kwe6spe2MSQbeLFDd6UN2NOi4JOjYhHAEzonOU3u4A,19409
|
|
107
107
|
pygeodesy/geodesicx/gxbases.py,sha256=Awt9zc1lyPS0vp4df2u4H_rhMeFu1pJaZPhb1iMoc-Q,5693
|
|
108
|
-
pygeodesy/geodesicx/gxline.py,sha256=
|
|
108
|
+
pygeodesy/geodesicx/gxline.py,sha256=ZmRIO08IY4s0xJnCRrx2rF3z6XZ9_joUom77P_TsRaA,27514
|
|
109
109
|
pygeodesy/rhumb/__init__.py,sha256=kTuNSKiiQyXvQdYc5KUd5admuKJ2QmDCWQwkIobnM-w,2207
|
|
110
110
|
pygeodesy/rhumb/aux_.py,sha256=lOjpEU3Pe2I5DwC933UCf-SW73l5NMuDACeZhbVs3lE,16657
|
|
111
111
|
pygeodesy/rhumb/bases.py,sha256=awpP60K6EOzS753oXM-h9S6paS6FwoCnco8Zt8n81jY,54162
|
|
112
112
|
pygeodesy/rhumb/ekx.py,sha256=JsmdCatWKqsffF8jCh4HDu5IKt_kHq1qUdmP1LMuofY,24044
|
|
113
|
-
pygeodesy/rhumb/solve.py,sha256=
|
|
114
|
-
PyGeodesy-24.
|
|
115
|
-
PyGeodesy-24.
|
|
116
|
-
PyGeodesy-24.
|
|
117
|
-
PyGeodesy-24.
|
|
113
|
+
pygeodesy/rhumb/solve.py,sha256=bnmoPZUUw6sPhZ2HDigvPaE-L5M7ddEPf3ZdWvfBX5k,24043
|
|
114
|
+
PyGeodesy-24.7.7.dist-info/METADATA,sha256=22FKDjrVIiF_zPFqvlpXLoJ4QTv58ARwic_X9u639as,19411
|
|
115
|
+
PyGeodesy-24.7.7.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
|
116
|
+
PyGeodesy-24.7.7.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
|
|
117
|
+
PyGeodesy-24.7.7.dist-info/RECORD,,
|
pygeodesy/__init__.py
CHANGED
|
@@ -101,6 +101,11 @@ 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
|
+
Class L{Intersectool} and module L{geodesici} need I{Karney}'s C++ utility U{IntersectTool
|
|
105
|
+
<https://GeographicLib.SourceForge.io/C++/doc/IntersectTool.1.html>} to be executable and set with
|
|
106
|
+
env variable C{PYGEODESY_INTERSECTTOOL}.
|
|
107
|
+
|
|
108
|
+
|
|
104
109
|
To compare C{MGRS} results from modules L{mgrs} and C{testMgrs} with I{Karney}'s C++ utility
|
|
105
110
|
U{GeoConvert<https://GeographicLib.SourceForge.io/C++/doc/GeoConvert.1.html>}, the latter must
|
|
106
111
|
be executable and set with env variable C{PYGEODESY_GEOCONVERT}.
|
|
@@ -197,6 +202,7 @@ The following environment variables are observed by C{PyGeodesy}:
|
|
|
197
202
|
- C{PYGEODESY_FSUM_RESIDUAL} - see module L{fsums<pygeodesy.fsums>} and class L{Fsum<pygeodesy.Fsum>}.
|
|
198
203
|
- C{PYGEODESY_GEOCONVERT} - see module L{mgrs<pygeodesy.mgrs>}.
|
|
199
204
|
- C{PYGEODESY_GEODSOLVE} - see module L{geodsolve<pygeodesy.geodsolve>}.
|
|
205
|
+
- C{PYGEODESY_INTERSECTTOOL} - see modules L{geodesici<pygeodesy.geodesici>}.
|
|
200
206
|
- C{PYGEODESY_LAZY_IMPORT} - see module L{lazily<pygeodesy.lazily>} and variable L{isLazy<pygeodesy.isLazy>}.
|
|
201
207
|
- C{PYGEODESY_NOTIMPLEMENTED} - C{__special__} methods return C{NotImplemented} if set to "std".
|
|
202
208
|
- C{PYGEODESY_RHUMBSOLVE} - see module L{rhumb.solve<pygeodesy.rhumb.solve>}.
|
|
@@ -590,7 +596,7 @@ else:
|
|
|
590
596
|
|
|
591
597
|
from pygeodesy.internals import _version2, _DOT_ # PYCHOK import
|
|
592
598
|
# from pygeodesy.interns import _DOT_ # from .internals
|
|
593
|
-
__version__ = '24.
|
|
599
|
+
__version__ = '24.07.07'
|
|
594
600
|
# see setup.py for similar logic
|
|
595
601
|
version = _DOT_(*_version2(__version__, n=3))
|
|
596
602
|
|
pygeodesy/__main__.py
CHANGED
|
@@ -5,7 +5,7 @@ u'''Print L{pygeodesy} version, etc. using C{python -m pygeodesy}.
|
|
|
5
5
|
'''
|
|
6
6
|
|
|
7
7
|
__all__ = ()
|
|
8
|
-
__version__ = '24.
|
|
8
|
+
__version__ = '24.07.07'
|
|
9
9
|
|
|
10
10
|
from os.path import basename, dirname
|
|
11
11
|
|
|
@@ -42,6 +42,11 @@ def _main(): # PYCHOK no cover
|
|
|
42
42
|
v.append(_name_version(pkg))
|
|
43
43
|
|
|
44
44
|
v = _Pythonarchine()
|
|
45
|
+
try:
|
|
46
|
+
import coverage as pkg
|
|
47
|
+
v.append(_name_version(pkg))
|
|
48
|
+
except ImportError:
|
|
49
|
+
pass
|
|
45
50
|
_nv(_xgeographiclib, v)
|
|
46
51
|
_nv(_xnumpy, v)
|
|
47
52
|
_nv(_xscipy, v)
|
pygeodesy/basics.py
CHANGED
|
@@ -37,7 +37,7 @@ from math import copysign as _copysign
|
|
|
37
37
|
import inspect as _inspect
|
|
38
38
|
|
|
39
39
|
__all__ = _ALL_LAZY.basics
|
|
40
|
-
__version__ = '24.06
|
|
40
|
+
__version__ = '24.07.06'
|
|
41
41
|
|
|
42
42
|
_below_ = 'below'
|
|
43
43
|
_list_tuple_types = (list, tuple)
|
|
@@ -160,19 +160,23 @@ def _args_kwds_names(func, splast=False):
|
|
|
160
160
|
return tuple(args_kwds)
|
|
161
161
|
|
|
162
162
|
|
|
163
|
-
def clips(sb, limit=50, white=NN):
|
|
163
|
+
def clips(sb, limit=50, white=NN, length=False):
|
|
164
164
|
'''Clip a string to the given length limit.
|
|
165
165
|
|
|
166
166
|
@arg sb: String (C{str} or C{bytes}).
|
|
167
167
|
@kwarg limit: Length limit (C{int}).
|
|
168
168
|
@kwarg white: Optionally, replace all whitespace (C{str}).
|
|
169
|
+
@kwarg len: IF C{True} append the original I{[length]} (C{bool}).
|
|
169
170
|
|
|
170
171
|
@return: The clipped or unclipped B{C{sb}}.
|
|
171
172
|
'''
|
|
172
|
-
T = type(sb)
|
|
173
|
-
if
|
|
173
|
+
T, n = type(sb), len(sb)
|
|
174
|
+
if n > limit > 8:
|
|
174
175
|
h = limit // 2
|
|
175
176
|
sb = T(_ELLIPSIS4_).join((sb[:h], sb[-h:]))
|
|
177
|
+
if length:
|
|
178
|
+
n = _MODS.streprs.Fmt.SQUARE(n)
|
|
179
|
+
sb = T(NN).join((sb, n))
|
|
176
180
|
if white: # replace whitespace
|
|
177
181
|
sb = T(white).join(sb.split())
|
|
178
182
|
return sb
|
pygeodesy/deprecated/__init__.py
CHANGED
|
@@ -27,7 +27,7 @@ __all__ = (_ALL_DEPRECATED.deprecated_bases +
|
|
|
27
27
|
_ALL_DEPRECATED.deprecated_classes +
|
|
28
28
|
_ALL_DEPRECATED.deprecated_consterns +
|
|
29
29
|
_ALL_DEPRECATED.deprecated_functions)
|
|
30
|
-
__version__ = '24.
|
|
30
|
+
__version__ = '24.07.02'
|
|
31
31
|
|
|
32
32
|
if _unLazy0:
|
|
33
33
|
from pygeodesy.deprecated import bases, datum, nvector, rhumbBase, \
|
pygeodesy/deprecated/classes.py
CHANGED
|
@@ -9,10 +9,10 @@ from pygeodesy.constants import NAN, _float
|
|
|
9
9
|
from pygeodesy.interns import NN, _a12_, _area_, _band_, _convergence_, \
|
|
10
10
|
_distance_, _gamma_, _i_, _lat_, _lon_, _ltp_
|
|
11
11
|
from pygeodesy.deprecated.consterns import _Deprecated_Str
|
|
12
|
-
from pygeodesy.karney import _GTuple, Rhumb8Tuple as _Rhumb8Tuple
|
|
12
|
+
from pygeodesy.karney import _GTuple, Rhumb8Tuple as _Rhumb8Tuple, ADict
|
|
13
13
|
from pygeodesy.lazily import _ALL_DEPRECATED, _ALL_DOCS, _ALL_MODS as _MODS
|
|
14
14
|
from pygeodesy.ltpTuples import Ned4Tuple as _Ned4Tuple
|
|
15
|
-
# from pygeodesy.named import _NamedTuple # from .namedTuples
|
|
15
|
+
# from pygeodesy.named import ADict, _NamedTuple # from .karney, .namedTuples
|
|
16
16
|
from pygeodesy.namedTuples import Forward4Tuple as _Forward4Tuple, \
|
|
17
17
|
Reverse4Tuple as _Reverse4Tuple, \
|
|
18
18
|
UtmUps5Tuple as _UtmUps5Tuple, _NamedTuple
|
|
@@ -22,7 +22,7 @@ from pygeodesy.trf import TRFXform7Tuple as _TRFXform7Tuple
|
|
|
22
22
|
from pygeodesy.units import Bearing, Int, Lamd, Lat, Lon, Meter, Phid
|
|
23
23
|
|
|
24
24
|
__all__ = _ALL_DEPRECATED.deprecated_classes
|
|
25
|
-
__version__ = '24.
|
|
25
|
+
__version__ = '24.07.02'
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
class _Deprecated_NamedTuple(_NamedTuple):
|
|
@@ -264,6 +264,13 @@ class UtmUps4Tuple(_Deprecated_NamedTuple): # PYCHOK no cover
|
|
|
264
264
|
_Units_ = (_Deprecated_Str,) + _UtmUps5Tuple._Units_[1:4]
|
|
265
265
|
|
|
266
266
|
|
|
267
|
+
class XDist(ADict):
|
|
268
|
+
'''DEPRECATED on 2024.07.02, use class L{XDict}.'''
|
|
269
|
+
def __init__(self, *args, **kwds): # PYCHOK signature
|
|
270
|
+
deprecated_class(self.__class__)
|
|
271
|
+
ADict.__init__(self, *args, **kwds)
|
|
272
|
+
|
|
273
|
+
|
|
267
274
|
__all__ += _ALL_DOCS(_Deprecated_NamedTuple)
|
|
268
275
|
|
|
269
276
|
# **) MIT License
|
pygeodesy/errors.py
CHANGED
|
@@ -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.07.07'
|
|
31
31
|
|
|
32
32
|
_argument_ = 'argument'
|
|
33
33
|
_box_ = 'box'
|
|
@@ -827,6 +827,15 @@ def _xkwds_item2(kwds):
|
|
|
827
827
|
raise _xAssertionError(_xkwds_item2, kwds)
|
|
828
828
|
|
|
829
829
|
|
|
830
|
+
def _xkwds_kwds(kwds, **names_defaults):
|
|
831
|
+
'''(INTERNAL) Return a C{dict} of C{named_defaults} items replaced with C{kwds}.
|
|
832
|
+
'''
|
|
833
|
+
if not isinstance(kwds, dict):
|
|
834
|
+
raise _xAssertionError(_xkwds_get_, kwds)
|
|
835
|
+
_g = kwds.get
|
|
836
|
+
return dict((n, _g(n, v)) for n, v in names_defaults.items())
|
|
837
|
+
|
|
838
|
+
|
|
830
839
|
def _xkwds_not(*args, **kwds):
|
|
831
840
|
'''(INTERNAL) Return C{kwds} with a value not in C{args}.
|
|
832
841
|
'''
|