pygeodesy 24.5.6__py2.py3-none-any.whl → 24.5.15__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.
Files changed (51) hide show
  1. {PyGeodesy-24.5.6.dist-info → PyGeodesy-24.5.15.dist-info}/METADATA +4 -4
  2. {PyGeodesy-24.5.6.dist-info → PyGeodesy-24.5.15.dist-info}/RECORD +51 -50
  3. pygeodesy/__init__.py +18 -14
  4. pygeodesy/__main__.py +9 -10
  5. pygeodesy/albers.py +2 -2
  6. pygeodesy/auxilats/__main__.py +7 -10
  7. pygeodesy/auxilats/auxLat.py +2 -1
  8. pygeodesy/basics.py +161 -165
  9. pygeodesy/booleans.py +4 -4
  10. pygeodesy/constants.py +8 -6
  11. pygeodesy/datums.py +9 -8
  12. pygeodesy/ecef.py +5 -4
  13. pygeodesy/elevations.py +2 -2
  14. pygeodesy/ellipsoidalBaseDI.py +7 -5
  15. pygeodesy/elliptic.py +10 -7
  16. pygeodesy/errors.py +6 -6
  17. pygeodesy/etm.py +3 -2
  18. pygeodesy/fmath.py +14 -13
  19. pygeodesy/fstats.py +281 -219
  20. pygeodesy/fsums.py +133 -104
  21. pygeodesy/geodesicw.py +14 -14
  22. pygeodesy/geodesicx/__main__.py +4 -4
  23. pygeodesy/geodesicx/gxarea.py +4 -4
  24. pygeodesy/geodsolve.py +3 -2
  25. pygeodesy/geoids.py +6 -6
  26. pygeodesy/heights.py +4 -4
  27. pygeodesy/internals.py +571 -0
  28. pygeodesy/interns.py +5 -202
  29. pygeodesy/iters.py +3 -2
  30. pygeodesy/karney.py +4 -4
  31. pygeodesy/ktm.py +7 -7
  32. pygeodesy/lazily.py +139 -217
  33. pygeodesy/mgrs.py +3 -2
  34. pygeodesy/named.py +13 -10
  35. pygeodesy/nvectorBase.py +4 -3
  36. pygeodesy/osgr.py +14 -12
  37. pygeodesy/points.py +5 -5
  38. pygeodesy/props.py +7 -7
  39. pygeodesy/rhumb/bases.py +3 -2
  40. pygeodesy/rhumb/solve.py +2 -2
  41. pygeodesy/solveBase.py +3 -2
  42. pygeodesy/streprs.py +5 -4
  43. pygeodesy/trf.py +4 -4
  44. pygeodesy/units.py +15 -17
  45. pygeodesy/ups.py +7 -6
  46. pygeodesy/utily.py +4 -4
  47. pygeodesy/utm.py +5 -4
  48. pygeodesy/utmupsBase.py +4 -3
  49. pygeodesy/vector3dBase.py +2 -1
  50. {PyGeodesy-24.5.6.dist-info → PyGeodesy-24.5.15.dist-info}/WHEEL +0 -0
  51. {PyGeodesy-24.5.6.dist-info → PyGeodesy-24.5.15.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyGeodesy
3
- Version: 24.5.6
3
+ Version: 24.5.15
4
4
  Summary: Pure Python geodesy tools
5
5
  Home-page: https://GitHub.com/mrJean1/PyGeodesy
6
6
  Author: Jean M. Brouwers
@@ -114,7 +114,7 @@ line: ``epydoc --html --no-private --no-source --name=PyGeodesy --url=... -v pyg
114
114
  Tests
115
115
  =====
116
116
 
117
- The tests ran with Python 3.12.2 (with geographiclib_ 2.0), 3.11.5 (with geographiclib_ 2.0, numpy_
117
+ The tests ran with Python 3.12.3 (with geographiclib_ 2.0), 3.11.5 (with geographiclib_ 2.0, numpy_
118
118
  1.24.2 and scipy_ 1.10.1), Python 3.10.8 (with geographiclib_ 2.0, numpy_ 1.23.3, scipy_ 1.9.1,
119
119
  GeoConvert_ 2.2, GeodSolve_ 2.2 and RhumbSolve_ 2.2), Python 3.9.6 and Python 2.7.18 (with geographiclib_
120
120
  1.50, numpy_ 1.16.6, scipy_ 1.2.2, GeoConvert_ 2.2, GeodSolve_ 2.2 and RhumbSolve_ 2.2), all on macOS
@@ -137,7 +137,7 @@ Python 3.11.5, 3.10.10 and 2.7.18 (all with geographiclib_ 1.52) on `Windows 10`
137
137
  A single-File and single-Directory application with ``pygeodesy`` has been bundled using PyInstaller_
138
138
  3.4 and 64-bit Python 3.7.4 and 3.7.3 on macOS 10.13.6 High Sierra.
139
139
 
140
- Previously, the tests were run with Python 3.12.0-1, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, PyPy_
140
+ Previously, the tests were run with Python 3.12.0-2, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, PyPy_
141
141
  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,
142
142
  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)
143
143
  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,
@@ -158,7 +158,7 @@ and McCabe_ using Python 2.7.18 and with Flake8_ using Python 3.11.5, both in 64
158
158
 
159
159
  For a summary of all *Karney*-based functionality in ``pygeodesy``, see module karney_.
160
160
 
161
- *Last updated: May 06, 2024.*
161
+ *Last updated: May 15, 2024.*
162
162
 
163
163
  License
164
164
  =======
@@ -1,88 +1,89 @@
1
1
  pygeodesy/LICENSE,sha256=YfgAiyxOwY6P9Kkb1_5XN81nueTLrpb3Ffkv3EuPgFU,1144
2
- pygeodesy/__init__.py,sha256=5Q85uqE7EHB5oDhKSCKkujvjELK-sTT7tomCX4OfaKE,40733
3
- pygeodesy/__main__.py,sha256=qMFG3caY8ZXWu6uGiemzyT4OqTFZnsFtlxcGCAgkVJw,4637
4
- pygeodesy/albers.py,sha256=g2AVlpV8JO2AYFCthoIbRC2h1OJqjb9P3hpwF0C3TI8,30994
2
+ pygeodesy/__init__.py,sha256=RvfpiTljYzrr4QXHBQK8E-10-39sO0npEC5liSffwwk,41050
3
+ pygeodesy/__main__.py,sha256=UmTd6Qw20g_pgnQjdaHePm-xuOEBi1tUNRLO0eL0-rU,4593
4
+ pygeodesy/albers.py,sha256=1WTZglw_UtcrX86AhN4ICkUqJQoI-_xsQVMaqBaF2y0,30985
5
5
  pygeodesy/azimuthal.py,sha256=tc4JxgLi-0jzU08m4Bvi-t-kzHXYPeGuzL3j_tyVFUA,50125
6
- pygeodesy/basics.py,sha256=Mh70LwAH185gr8aYhdOhfqAa-SkHvAatlJEOFIH7N8Y,28162
7
- pygeodesy/booleans.py,sha256=HZbwoL-S7Ww9d4C2D1BVqXfmcuqqVpEVSU9_S0uyUyo,74204
6
+ pygeodesy/basics.py,sha256=sAN6gt5WzUTcp0Q8i8xvRDGv5E3YwAyppzgIFmRIuzM,28215
7
+ pygeodesy/booleans.py,sha256=77Kv-O2elfnU6D68cpkQrlvRFOP4uKcJ7vPXouAH_Rc,74201
8
8
  pygeodesy/cartesianBase.py,sha256=I3q29mRdBB3NCDmPoJsJ0QOFfLzkdMWc8X9zG4IwJyA,47264
9
9
  pygeodesy/clipy.py,sha256=VU3ynQ1IZ0v5hJlicqD48oW0imRgiL5_ZzRPrIjpfPw,27683
10
- pygeodesy/constants.py,sha256=RxO8dMe_3AEfmZyKaRIy_44QnOTdEpzgYwimN0_w9Qs,19113
10
+ pygeodesy/constants.py,sha256=-KhClvNhehL7UCnqPgZyEnS3cSyYf7EBDRF0Vgmcgks,19190
11
11
  pygeodesy/css.py,sha256=sKXsahUiyruDcUk-tGjA6mxq-xzwBoBKxKo9_b2uBmY,25394
12
- pygeodesy/datums.py,sha256=gJZPgV4bELZvZ8Sj2zE3MBysVtsLxqsN8zm0xjOKvpo,33851
12
+ pygeodesy/datums.py,sha256=_zkf6gMz10MPvbabycF7-BHg2lOTACqzmeiyYqsrU0Y,33875
13
13
  pygeodesy/dms.py,sha256=op3MU-59CoJQRdybnu21aVM9wtocd_-XFNAZFqmozSo,44439
14
- pygeodesy/ecef.py,sha256=47zX9rr7MdWY0K9shMqLbxGIb13MkNEUDDxtGigFwHE,59682
15
- pygeodesy/elevations.py,sha256=ZTxzLWHLUrghFI9Fkl0ZGHzdiLDe0y3ImGUsfxFg6Qc,10814
14
+ pygeodesy/ecef.py,sha256=z2x0EjJ4HrHQ6xH44xPkxg_5-ntDdhtIkcq4YuVUAzw,59694
15
+ pygeodesy/elevations.py,sha256=1qZM2w0rDF7jHunydpTEmdLwOwF81KUL9L6RALJC7K4,10807
16
16
  pygeodesy/ellipsoidalBase.py,sha256=dqEmBFguS_Q0K95VaBN7oZOVEaxHuicLCrqIuj1QM7w,56639
17
- pygeodesy/ellipsoidalBaseDI.py,sha256=MSuQI3PlJAHL7gtVy4t0qkm1QP3zeHqbkG4tnMDWDIg,38510
17
+ pygeodesy/ellipsoidalBaseDI.py,sha256=AlfDF2IMKv5POPAyJUHOlDF9PAvkTEvg_WSz2BTptxs,38606
18
18
  pygeodesy/ellipsoidalExact.py,sha256=a_2C6S6hGRumavy5giRoC9QAhnjqpujiXyu92od6nKo,16951
19
19
  pygeodesy/ellipsoidalGeodSolve.py,sha256=xfNcb70AuPbIiJUqhisIfg6pCQBqXyQffBNuESEGCfU,16833
20
20
  pygeodesy/ellipsoidalKarney.py,sha256=FoOsfNf96oHuGa9k4AB42y_UUBuOkh4xMW7PFGF63SA,19246
21
21
  pygeodesy/ellipsoidalNvector.py,sha256=vHVKSfR86LnIapGlwl5_uCaEuQGdm0e89mwE6Ay-394,30323
22
22
  pygeodesy/ellipsoidalVincenty.py,sha256=Uk93B8GFcMnWiwKUOA84TlLwbBlvzVnsAXAx0cU7cn4,26004
23
23
  pygeodesy/ellipsoids.py,sha256=SxMsivNnE9ibUjQGd0d24H0SzoSjh6jfhLWjasOWpao,119946
24
- pygeodesy/elliptic.py,sha256=XRVpmpdm3hbztM4P-qhWKQizbgsXDUxWujgmOrIpgiQ,42428
24
+ pygeodesy/elliptic.py,sha256=Vzk4e8oyEHFWMIORsyKciydjPQadVrw1UDJrxE7wovw,42494
25
25
  pygeodesy/epsg.py,sha256=ldHoLWqJWR4FUiBVnDTtrI_e7TNjjtr9OkxDlri1g5E,8165
26
- pygeodesy/errors.py,sha256=RHZ_f1zcOIyLQYProiQznaAOhojbDPDR4XbblXJMuS0,27232
27
- pygeodesy/etm.py,sha256=joEhU2lw9ehRv101nRpZvXq8hOYAEzdcYFpif9_obfk,44585
28
- pygeodesy/fmath.py,sha256=HCnndaXPwRIW8gGIVzbACftxIZZUUrRAiIAFfgVYLgw,33477
26
+ pygeodesy/errors.py,sha256=85zy2ssWLkALiAmWRBC0zRSWIFK3HZL2zuK4jt4frcU,27260
27
+ pygeodesy/etm.py,sha256=FE1959eLsOPMwvlO2lMukBSV70n7a5XcGlEdeBhyabw,44620
28
+ pygeodesy/fmath.py,sha256=rPZSpAXy8fjxWFMgsm1xNdSWnaGCnWKwYIrmsrG6vcI,33549
29
29
  pygeodesy/formy.py,sha256=Rces4Q5ecED0WVfuI9mQzeyHE54LDowYfI6faBHpyeA,74536
30
30
  pygeodesy/frechet.py,sha256=qgee-ISBtT7Ov3rJkcd_t-WeXTbeNoMSQuMa0j3MyQc,33512
31
- pygeodesy/fstats.py,sha256=UcaUuUpnQqaE8T7rqHCT6eptqa-IG23LsiCiOUh43U0,25681
32
- pygeodesy/fsums.py,sha256=VttiMEC02riVsWWh2SqhLD3rwo2af0RsAvxvpiNSqsw,77895
31
+ pygeodesy/fstats.py,sha256=jgFz6eQnE1QXPdKFfI6vP9rLuTN-xjuhSkw0qToVWX0,28408
32
+ pygeodesy/fsums.py,sha256=I8kkE34H5sq_Ib9trj__F2G9fX54VV9aqr2LKLoJ8BA,78810
33
33
  pygeodesy/gars.py,sha256=fCiWBJ4kOJxPfNOxadX-OzBGDXj7C9g02NuGHiZa_88,11342
34
- pygeodesy/geodesicw.py,sha256=5yjJ2rLekSsjT7e-Km6v592ZcFlA41flQP_E42jU9Sw,26901
35
- pygeodesy/geodsolve.py,sha256=3GLI2_4gglzTpZwKchNzAv-XhWFBzWRKjcWsjCC3dvI,21900
34
+ pygeodesy/geodesicw.py,sha256=zQ5IGtyvVF1GLE5fEWdTkXG6Eo2pDusilg7QdI85DcQ,26970
35
+ pygeodesy/geodsolve.py,sha256=uqHW-6c4dJ7W34_4rUzgz5dLJwq4pM7DjuLsB1EIogY,21958
36
36
  pygeodesy/geohash.py,sha256=HwukecfkWvyfz9LHKfoA-WddQHYot_mB04o0lyWrKyU,32382
37
- pygeodesy/geoids.py,sha256=EwZJ50qRXeZb1591N99hnamM_EC2NP6MIhLb5swVHf4,80605
37
+ pygeodesy/geoids.py,sha256=jjB_UwtGSfMp22SOg93lJKgv6ySVyFQOsnx_4N_vf78,80635
38
38
  pygeodesy/hausdorff.py,sha256=LJULGbDop4xqiWeRH5-Uayvk5WVCZQpxK4PCYu4kqSs,34192
39
- pygeodesy/heights.py,sha256=tjr-5eb8UXn2MAp6-157sb6qxPREFk5dtDjHtBgIgZ8,42528
40
- pygeodesy/interns.py,sha256=LzgIw5JEMLMc_56v0n3LxgpcQ0cpdRghkus8yorcuGQ,30188
41
- pygeodesy/iters.py,sha256=CfU365eE9F4oWZbBx0qTEvfodMhpa8rGOepLIv67xF8,20181
42
- pygeodesy/karney.py,sha256=lYdsSHis8xQJVS1V0F3cphx6Dhgd77xTlMOdVR8MN8I,34994
43
- pygeodesy/ktm.py,sha256=sCvbLvJItavlruilAyjeZ0sOZx2yJumzGe_UiIVbGi4,27315
39
+ pygeodesy/heights.py,sha256=Zlj5O6kdyNV076QDkmBrI61aV3fVXERKyvBHzCCWvdw,42555
40
+ pygeodesy/internals.py,sha256=GtxQzBq1mAGYXKOF5B_STrah5Chpawg1BAhALkmwPAI,19204
41
+ pygeodesy/interns.py,sha256=PIhwc05ObRnBiOxCXA8Kn4PF_4bGDCBSakUOka4mDw8,23749
42
+ pygeodesy/iters.py,sha256=bYpU_TLLFuKsAqMNux0hnF8gJuByf3pT4nrxlJEJ1rk,20242
43
+ pygeodesy/karney.py,sha256=NM2ahBugze9R-NGTBy_bo7IWBntsL8ymusvssKMBxgQ,35028
44
+ pygeodesy/ktm.py,sha256=GikJivtyDvLgv-FWQ4m9TSlVq9cm0Zp3Ga-BCIFHzJM,27301
44
45
  pygeodesy/latlonBase.py,sha256=LimCMj91J3Q4D_rTu7VN7c63cLL_KzxXagFQfedobmc,77730
45
- pygeodesy/lazily.py,sha256=YeOQQ2Tu0LTD-AMDABc0bemeLRKTteTEJXJDl3_7vZU,48645
46
+ pygeodesy/lazily.py,sha256=gtrUK_w8rtW7K5k1xvx3FNWL-Je5ZsZiiL1suNJ7erA,45474
46
47
  pygeodesy/lcc.py,sha256=yNpmAdOwv3HNh2ZLopF5QtvDokeQYCmnxSc8UFUPHO4,25737
47
48
  pygeodesy/ltp.py,sha256=8se8dYG7LG__Ru0FoK939DJBF9GCQGeJik_Un1Im8Xw,48609
48
49
  pygeodesy/ltpTuples.py,sha256=iKzvDfv33HfmEevjNISUS4c9KXIkiISEkVlQopyKgfY,55769
49
- pygeodesy/mgrs.py,sha256=GJ-vG54E2zSLtROyqJ_kj8fHH-8jWGf3kVe7gb8993o,28978
50
- pygeodesy/named.py,sha256=MzYSWAckYfwJKIdG7duN-6pt1byb9_ZZ7772czjma50,48269
50
+ pygeodesy/mgrs.py,sha256=FVq4cqD2Kr9az6YR5T5zu32abz0jB7M7rFbJYIYvCck,29038
51
+ pygeodesy/named.py,sha256=NJ9ORN_y3_DoI1K95NzQQJP2q_irc-rHbmdwMTzU6wc,48337
51
52
  pygeodesy/namedTuples.py,sha256=msEYvQKj4oCW35Kx80RpeQXY85A1G0O3GEqsysLaV2M,27288
52
- pygeodesy/nvectorBase.py,sha256=WJY5ylZ_HCeM1wGL7ryEecJphEYibp-EAWL0piKlMG8,28766
53
- pygeodesy/osgr.py,sha256=voC1rbOe4dnS_EjaDaRDRUQ4MoG7puMBEMV6lcAuIBI,31029
54
- pygeodesy/points.py,sha256=QNAAF0r7iqSXFr_6aQm-wW7f6vU3KusWVhXEMVeVo58,64442
55
- pygeodesy/props.py,sha256=rPVqHSnowuDeQR95zFKGwmY0356X2WGW-yRsL2fODCo,21500
53
+ pygeodesy/nvectorBase.py,sha256=jhx-ZE6Y9O6K_bfEd6anOMXImsuHIlFiRDJVpwrQZwI,28823
54
+ pygeodesy/osgr.py,sha256=s_-21bYhXUv37thzgIQjGmMmMdT46RlecOixHRufW4o,31044
55
+ pygeodesy/points.py,sha256=Bo4YwjlglBUoYW3PbR6GeRMo8plYdgxjwc0hwOQOe3Q,64450
56
+ pygeodesy/props.py,sha256=o6x5XDCtq3nW17dZtQnNsqlc6FVpf2xjy6JKbdZsbBw,21493
56
57
  pygeodesy/resections.py,sha256=nkfBxYrsEdyq2JqAbPrRWKplJBzFkIXLvEZGB4gPu_A,43550
57
58
  pygeodesy/simplify.py,sha256=FT3AzXiFjFfvwJ-X2q8iA9cQOUVdBT1vD_BIskM3gK8,25223
58
- pygeodesy/solveBase.py,sha256=cBe3QQWEaJlPWUlXoiYo1eFMh4z6GDZbQyt8ZiwMfos,16687
59
+ pygeodesy/solveBase.py,sha256=9t3sq7PN_6BMl-DfuPBvv9o449LylTGWL8kVp-_QdiE,16718
59
60
  pygeodesy/sphericalBase.py,sha256=sH2WwmY_RL0STyr1OhtCDKvGhO0Ks7o3V-MHLddpiHQ,31944
60
61
  pygeodesy/sphericalNvector.py,sha256=TBs_nid_DTcox7bBegh_Djv4zZRGRY4mH6dd1xIHGms,56963
61
62
  pygeodesy/sphericalTrigonometry.py,sha256=Q9qsqzIK43xBken2G8uP9snPXPuBoZ20pMHqbT_IjG0,64216
62
- pygeodesy/streprs.py,sha256=8t10NwrS3DmuX6Qig0TDIR7bEWRFmnQUwV1_ItL9zd0,23940
63
- pygeodesy/trf.py,sha256=4gVtF780EEZEqWwMBDe4x1AEkIz3hB8h4l0_0NXWM5U,118903
63
+ pygeodesy/streprs.py,sha256=97RYhbaKlzvviNRzWzRvP45IAr9vUiDM3njeLHfKVm8,24004
64
+ pygeodesy/trf.py,sha256=ctvCvs3mYM3u7ScTQqqJnjTrwL7KIrxhPvIJKUFquo4,118892
64
65
  pygeodesy/triaxials.py,sha256=nYFQcLimivcxpeXMj9a83iWuENDU1gI-2zNgCkZzL0U,61549
65
- pygeodesy/units.py,sha256=ofFTYc7mF9wOpfvpYHN83dGszMM18rTdsxfEXVzaIko,38705
66
+ pygeodesy/units.py,sha256=17YXkf86yyVIMobZOYGGM6BQBxCqafDsP1PoF7diZqY,38609
66
67
  pygeodesy/unitsBase.py,sha256=xRZlNlO7S47Mwy0FGBg_cefvB4fEtWFM5dAE-Nlw-NE,13111
67
- pygeodesy/ups.py,sha256=07AG-Rb1D4EvmN3g-xk3ZxKzyaNYvOzztcyYbx7t8jc,23229
68
- pygeodesy/utily.py,sha256=jP82RmCPCVghxTQv4ZRuIS89afmsD-roz2iafHfyHXA,36128
69
- pygeodesy/utm.py,sha256=0qF5Kjw8Wf9zxGWOaCF-LSweibat-EkHvvmy7dFO_KE,30981
68
+ pygeodesy/ups.py,sha256=Rw4cO7Q20w-y7DKEHiuX7BkansDZnm8uvQRApFJ-USo,23287
69
+ pygeodesy/utily.py,sha256=AOEHXi7H5QsTmgxcp0qOGC2qvIdqS01Mfu0Y8m3Bp6w,36141
70
+ pygeodesy/utm.py,sha256=GhJJ8bVJQsTY4xy5SCEQw_6_5NsO4m1yVhdz8nkXCR8,31044
70
71
  pygeodesy/utmups.py,sha256=u2hlWSnmZKwR-ApgKw16R9p75sW_yaqQAmbcBUE8Zfg,13007
71
- pygeodesy/utmupsBase.py,sha256=KetB8R0uRYU6X8nLG3JkBHUr1OfNlChKa0isgvm8Yq8,18807
72
+ pygeodesy/utmupsBase.py,sha256=dlnj7fX8gsbSNGFgWdMrSth-xoebFRx4PpPpj60jRxo,18864
72
73
  pygeodesy/vector2d.py,sha256=pSvfpFoSa5R37o9tSmRma7KsjNnN9GwTDG9rhFOEmfA,35004
73
74
  pygeodesy/vector3d.py,sha256=6ZLYLhZJoOM6UVJlbV8segkVXcFt38HA-SywCdWsynM,44972
74
- pygeodesy/vector3dBase.py,sha256=wJpEcgHlJ5Qu0Us7CKuNDepZQzo6a-RvqZbA2-O4-ko,35583
75
+ pygeodesy/vector3dBase.py,sha256=cSbGNgS_3wQztcIetFnuLM6M6ekKiepJ7LyHE318HnA,35657
75
76
  pygeodesy/webmercator.py,sha256=1IXiAHBXTm5kMCp5gEI67oBJeRXD7BiPVI7bcRRX1U4,14918
76
77
  pygeodesy/wgrs.py,sha256=AKUrYRCC67lOeJ6vUDAiGb_mY6R3ZwflXpOaP3wauOg,14774
77
78
  pygeodesy/auxilats/_CX_4.py,sha256=U41njj8Pu8cHMGuoUUVA20QIvRJAq-VGCnyoKJl0Ylo,8662
78
79
  pygeodesy/auxilats/_CX_6.py,sha256=x4hrHxunjqqkEsZbVW1dyn3R5mR8EWYOuX77RzDEyh4,14856
79
80
  pygeodesy/auxilats/_CX_8.py,sha256=t-OO48t4cCOsOgMi1FoyPw2DQqybVZFsgQMqAYP-jKY,25304
80
81
  pygeodesy/auxilats/__init__.py,sha256=yOa5RDYOOed9Z4dvcKlatH0JBgohAJ8ADXjU9mZGTfQ,2881
81
- pygeodesy/auxilats/__main__.py,sha256=TVN8evCKEzBKdANU5-Ucps8bZySqBTQmEGU4hy_U1cw,2980
82
+ pygeodesy/auxilats/__main__.py,sha256=BsNxHMo-VqXL0-kFTrpMUz5SFUO_K4udQLemXgvTxLE,2896
82
83
  pygeodesy/auxilats/auxAngle.py,sha256=LEa1GVR1EOYnTxR-mBLUj4mGoLO6jRrpsyG4v7N8W_0,16727
83
84
  pygeodesy/auxilats/auxDLat.py,sha256=U3BHF6AkW5--nrwH9whL5wZVIZLH_keRLfUz6c6KBx4,10950
84
85
  pygeodesy/auxilats/auxDST.py,sha256=bdNEh3TdABWH7qW6ngZx5SnzDM3B5rtPLvYhvCnFsKc,10497
85
- pygeodesy/auxilats/auxLat.py,sha256=U6thEwMEoUm4OFb2_JviEtEn2-nqyVjNbII7oyMf0hM,31282
86
+ pygeodesy/auxilats/auxLat.py,sha256=Xz1e64zmPuZL5s4AL2jR7w-HFeZzReXQS3bZjW1tu-I,31342
86
87
  pygeodesy/auxilats/auxily.py,sha256=ZiCFedYcr32O6TWQ_dcnwMrc9TgogyuhNSbR77WMDpg,8240
87
88
  pygeodesy/deprecated/__init__.py,sha256=ZRGqgwSdvtKSYZdw09-LPuGa_i0jMHWKIwrPG3r1hHs,2815
88
89
  pygeodesy/deprecated/bases.py,sha256=nxUtxscAg5cb7HEzTSmPJFafLc9Ad2SL5ovwkYaU5z8,1655
@@ -99,17 +100,17 @@ pygeodesy/geodesicx/_C4_24.py,sha256=kS4XMR9m7iBs01V8K0Oz9qTYmjN-icIQGpc_8iwVhig
99
100
  pygeodesy/geodesicx/_C4_27.py,sha256=bPbj2Ckrn9WJglm3SNTXyMkULNwANM0tCQ-LKxP1L58,134258
100
101
  pygeodesy/geodesicx/_C4_30.py,sha256=QZO8p971ztJwDGLOaJYgIhklztz9GlqbtS-xRP_E7o4,201964
101
102
  pygeodesy/geodesicx/__init__.py,sha256=GmuEpkVmz5GagH10fSHCH0QWdh9y-xojuGRmWJ6TKAw,2446
102
- pygeodesy/geodesicx/__main__.py,sha256=xn4URUZ8Dois3gp6_JaCThTfhVmBJBPx70LvWyZhSIQ,3168
103
+ pygeodesy/geodesicx/__main__.py,sha256=FVlmJft__Utk30zYwCbvrJpmAFi_jmyigzbm4An3Wws,3167
103
104
  pygeodesy/geodesicx/gx.py,sha256=E1WTVXsOC1jhc1xDmhCW-IEzqF0oOu74jAsIFt9YwRI,61304
104
- pygeodesy/geodesicx/gxarea.py,sha256=J-osK7YMZTMUQUtkf-sBMdGABOmLlxcnjTYkacFobkQ,19251
105
+ pygeodesy/geodesicx/gxarea.py,sha256=abjXoHKm9wcn75TM4_M4nRAdWFtKZY78dqlQhFdfcAc,19262
105
106
  pygeodesy/geodesicx/gxbases.py,sha256=vmqPnZGh_k7Fwev9oYoIzAZKdFFOydAXa372pHrzfMI,5279
106
107
  pygeodesy/geodesicx/gxline.py,sha256=gy0RT7DbcAvnSPqNl0FiqYpN00LBuJM-P9KcyasQvhU,27465
107
108
  pygeodesy/rhumb/__init__.py,sha256=MbwdmdduXd3fOWuS1mFdgyKBPBf7Ju1DzRf5D8w0Rok,2207
108
109
  pygeodesy/rhumb/aux_.py,sha256=W4HkgoHAQz_aWaysfsmOA5010nCGvBfUs2Q-bymnHYU,16660
109
- pygeodesy/rhumb/bases.py,sha256=kzU_Dgt4FNPMgTg5rqbw-HiNpflDPKpmq9jhPbQmR4U,53851
110
+ pygeodesy/rhumb/bases.py,sha256=ZK-t5BHf4LyGypSfH-yaIHol0N9uWioMzUYzp0GI03M,53882
110
111
  pygeodesy/rhumb/ekx.py,sha256=lF3tZ-ZY9fPJV8y1kgHW-7EOZCyb3gJr-kR-jj5Fbf8,23871
111
- pygeodesy/rhumb/solve.py,sha256=NZfwx7xv5UriQs7A0c7ZhoxxVUeAT15UwXK_jtwEXQw,27802
112
- PyGeodesy-24.5.6.dist-info/METADATA,sha256=5ijdMD-qHxonaJpVNVWA0GMecR-fjfEAVCcSvFwWfuc,19363
113
- PyGeodesy-24.5.6.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
114
- PyGeodesy-24.5.6.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
115
- PyGeodesy-24.5.6.dist-info/RECORD,,
112
+ pygeodesy/rhumb/solve.py,sha256=nih_QmAjOQNb5PNNXJGWkAZuGrXDTXtlxRKPZj8ZA7c,27795
113
+ PyGeodesy-24.5.15.dist-info/METADATA,sha256=vzVFd4N8TwuPfoeXqDjUgOk4L1ZbuLW9ueiev5nZXPM,19364
114
+ PyGeodesy-24.5.15.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
115
+ PyGeodesy-24.5.15.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
116
+ PyGeodesy-24.5.15.dist-info/RECORD,,
pygeodesy/__init__.py CHANGED
@@ -121,7 +121,7 @@ C{epydoc --html --no-private --no-source --name=PyGeodesy --url=... -v pygeodesy
121
121
  Tests
122
122
  =====
123
123
 
124
- The tests ran with Python 3.12.2 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
124
+ The tests ran with Python 3.12.3 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
125
125
  Python 3.11.5 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0, U{numpy
126
126
  <https://PyPI.org/project/numpy>} 1.24.2 and U{scipy<https://PyPI.org/project/scipy>} 1.10.1), Python
127
127
  3.10.8 (with U{geographiclib <https://PyPI.org/project/geographiclib>} 2.0, U{numpy
@@ -155,7 +155,7 @@ U{Debian 11<https://Cirrus-CI.com/github/mrJean1/PyGeodesy/master>} in 64-bit on
155
155
  A single-File and single-Directory application with C{pygeodesy} has been bundled using U{PyInstaller
156
156
  <https://PyPI.org/project/pyinstaller>} 3.4 and 64-bit Python 3.7.3 on macOS 10.13.6 High Sierra.
157
157
 
158
- Previously, the tests were run with Python 3.12.0-1, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, U{PyPy
158
+ Previously, the tests were run with Python 3.12.0-2, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, U{PyPy
159
159
  <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
160
160
  2.7.13) (and U{geographiclib <https://PyPI.org/project/geographiclib>} 1.52, U{numpy<https://PyPI.org/project/numpy>}
161
161
  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,
@@ -349,14 +349,14 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}
349
349
  @var version: Normalized C{PyGeodesy} version (C{str}).
350
350
  '''
351
351
 
352
- import os.path as _pth
352
+ import os.path as _os_path
353
353
  import sys as _sys
354
354
 
355
355
  _init__all__ = True
356
356
  # <https://PyInstaller.ReadTheDocs.io/en/stable/runtime-information.html>
357
357
  _isfrozen = getattr(_sys, 'frozen', False)
358
- pygeodesy_abspath = _pth.dirname(_pth.abspath(__file__)) # _sys._MEIPASS + '/pygeodesy'
359
- _pygeodesy_ = __package__ or _pth.basename(pygeodesy_abspath)
358
+ pygeodesy_abspath = _os_path.dirname(_os_path.abspath(__file__)) # _sys._MEIPASS + '/pygeodesy'
359
+ _pygeodesy_ = __package__ or _os_path.basename(pygeodesy_abspath)
360
360
 
361
361
  if _isfrozen: # avoid lazy import
362
362
  _lazy_import2 = None
@@ -420,6 +420,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
420
420
  import pygeodesy.geoids as geoids # PYCHOK exported
421
421
  import pygeodesy.hausdorff as hausdorff # PYCHOK exported
422
422
  import pygeodesy.heights as heights # PYCHOK exported
423
+ import pygeodesy.internals as internals # PYCHOK exported
423
424
  import pygeodesy.interns as interns # PYCHOK exported
424
425
  import pygeodesy.iters as iters # PYCHOK exported
425
426
  import pygeodesy.karney as karney # PYCHOK exported
@@ -504,6 +505,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
504
505
  from pygeodesy.geoids import * # PYCHOK __all__
505
506
  from pygeodesy.hausdorff import * # PYCHOK __all__
506
507
  from pygeodesy.heights import * # PYCHOK __all__
508
+ from pygeodesy.internals import * # PYCHOK __all__
507
509
  from pygeodesy.interns import * # PYCHOK __all__
508
510
  from pygeodesy.iters import * # PYCHOK __all__
509
511
  from pygeodesy.karney import * # PYCHOK __all__
@@ -544,8 +546,9 @@ if _init__all__ and not _lazy_import2: # import and set __all__
544
546
  from pygeodesy.wgrs import Georef, WGRSError # PYCHOK lazily
545
547
 
546
548
  def _all(globalocals):
547
- from pygeodesy.interns import NN as _NN, _attribute_, _COMMASPACE_, _DOT_, \
548
- _headof, _module_, _s_, _UNDER_ # PYCHOK expected
549
+ from pygeodesy.internals import _headof, _DOT_ # PYCHOK expected
550
+ from pygeodesy.interns import NN as _NN, _attribute_, _COMMASPACE_, \
551
+ _module_, _s_, _UNDER_ # PYCHOK expected
549
552
  from pygeodesy.streprs import Fmt as _Fmt # PYCHOK expected
550
553
  # collect all public module and attribute names and check
551
554
  # that modules are imported from this package, 'pygeodesy'
@@ -570,10 +573,10 @@ if _init__all__ and not _lazy_import2: # import and set __all__
570
573
  raise ImportError('missing %s%s: %s' % (_attribute_, s, t))
571
574
  ns.extend(attrs)
572
575
  # XXX if ps: # check that mod is a _pygeodesy_ module
573
- # XXX m = globalocals[mod] # assert(m.__name__ == mod)
574
- # XXX f = getattr(m, '__file__', _NN)
575
- # XXX d = _pth.dirname(_pth.abspath(f)) if f else pygeodesy_abspath
576
- # XXX p = getattr(m, '__package__', _NN) or _pygeodesy_
576
+ # XXX m = globalocals[mod] # assert(_dunder_nameof(m) == mod)
577
+ # XXX f = getattr(m, _dunder_file_, _NN)
578
+ # XXX d = _os_path.dirname(_os_path.abspath(f)) if f else pygeodesy_abspath
579
+ # XXX p = getattr(m, _dunder_package_, _NN) or _pygeodesy_
577
580
  # XXX if p not in ps or d != pygeodesy_abspath:
578
581
  # XXX t = '%s from %r' % (_DOT_(p, mod), f or p)
579
582
  # XXX raise ImportError('foreign %s: %s' % (_module_, t))
@@ -584,12 +587,13 @@ else:
584
587
  __all__ = ()
585
588
  _init__all__ = False
586
589
 
587
- from pygeodesy.interns import _DOT_, _version2 # PYCHOK import
588
- __version__ = '24.05.06'
590
+ from pygeodesy.internals import _version2, _DOT_ # PYCHOK import
591
+ # from pygeodesy.interns import _DOT_ # from .internals
592
+ __version__ = '24.05.15'
589
593
  # see setup.py for similar logic
590
594
  version = _DOT_(*_version2(__version__, n=3))
591
595
 
592
- del _DOT_, _lazy_import2, _pth, _sys, _version2
596
+ del _DOT_, _lazy_import2, _os_path, _sys, _version2
593
597
 
594
598
  # **) MIT License
595
599
  #
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__ = '23.11.24'
8
+ __version__ = '24.05.15'
9
9
 
10
10
  from os.path import basename, dirname
11
11
 
@@ -13,13 +13,13 @@ from os.path import basename, dirname
13
13
  def _main(): # PYCHOK no cover
14
14
 
15
15
  try:
16
- from pygeodesy import _isfrozen, pygeodesy_abspath, version
16
+ from pygeodesy import _isfrozen, printf, pygeodesy_abspath, version
17
17
  from pygeodesy.basics import _xgeographiclib, _xnumpy, _xscipy
18
18
  from pygeodesy.constants import _floats
19
+ from pygeodesy.internals import _name_version, _Pythonarchine, _usage
19
20
  from pygeodesy.interns import _COMMASPACE_, _DEPRECATED_, _pygeodesy_abspath_, \
20
- _pythonarchine, _SPACE_, _usage, _version_
21
- from pygeodesy.lazily import _a_l_l_, _all_deprecates, _all_imports, \
22
- isLazy, printf
21
+ _version_
22
+ from pygeodesy.lazily import isLazy, _dunder_all_, _all_deprecates, _all_imports
23
23
  from pygeodesy.streprs import Fmt
24
24
 
25
25
  def _p(name_value):
@@ -30,7 +30,7 @@ def _main(): # PYCHOK no cover
30
30
  ('isLazy', isLazy),
31
31
  ('_isfrozen', _isfrozen),
32
32
  ('_floats', len(_floats)),
33
- (_a_l_l_, len(_all_imports())),
33
+ (_dunder_all_, len(_all_imports())),
34
34
  (_DEPRECATED_, len(_all_deprecates())))]
35
35
 
36
36
  def _nv(_xpkg, v):
@@ -39,9 +39,9 @@ def _main(): # PYCHOK no cover
39
39
  except ImportError:
40
40
  pkg = None
41
41
  if pkg is not None:
42
- v.append(_SPACE_(pkg.__name__, pkg.__version__))
42
+ v.append(_name_version(pkg))
43
43
 
44
- v = _pythonarchine()
44
+ v = _Pythonarchine()
45
45
  _nv(_xgeographiclib, v)
46
46
  _nv(_xnumpy, v)
47
47
  _nv(_xscipy, v)
@@ -50,8 +50,7 @@ def _main(): # PYCHOK no cover
50
50
  printf('%s%s (%s)', x, _COMMASPACE_.join(p), _COMMASPACE_.join(v))
51
51
 
52
52
  except ImportError:
53
- from pygeodesy.interns import _usage
54
- from pygeodesy.lazily import printf
53
+ from pygeodesy.internals import printf, _usage
55
54
  printf(_usage(__file__))
56
55
 
57
56
 
pygeodesy/albers.py CHANGED
@@ -38,7 +38,7 @@ from pygeodesy.utily import atan1, atan1d, degrees360, sincos2, sincos2d, \
38
38
  from math import atan2, atanh, degrees, fabs, radians, sqrt
39
39
 
40
40
  __all__ = _ALL_LAZY.albers
41
- __version__ = '24.04.14'
41
+ __version__ = '24.05.14'
42
42
 
43
43
  _k1_ = 'k1'
44
44
  _NUMIT = 8 # XXX 4?
@@ -831,7 +831,7 @@ def _xlat(lat, f, where):
831
831
  '''(INTERNAL) check fixed C{lat}.
832
832
  '''
833
833
  if lat is not f and _Lat(lat=lat) != f:
834
- t = unstr(where.__name__, lat=lat)
834
+ t = unstr(where, lat=lat)
835
835
  raise AlbersError(t, txt=_not_(f))
836
836
 
837
837
 
@@ -5,7 +5,7 @@ u'''Print L{auxilats} version, etc. using C{python -m pygeodesy.auxilats}.
5
5
  '''
6
6
 
7
7
  __all__ = ()
8
- __version__ = '23.08.05'
8
+ __version__ = '24.05.15'
9
9
 
10
10
 
11
11
  def _CXstats(): # PYCHOK no cover
@@ -23,12 +23,12 @@ def _CXstats(): # PYCHOK no cover
23
23
 
24
24
  def _main(): # PYCHOK no cover
25
25
 
26
- import os.path as os_path
26
+ import os.path as _os_path
27
27
 
28
28
  try:
29
29
  from pygeodesy import auxilats, printf, pygeodesy_abspath
30
- from pygeodesy.interns import _COMMASPACE_, _DOT_, _pythonarchine, \
31
- _SPACE_, _usage, _version_
30
+ from pygeodesy.internals import _name_version, _Pythonarchine, _usage
31
+ from pygeodesy.interns import _COMMASPACE_, _DOT_, _version_
32
32
  from pygeodesy.streprs import Fmt
33
33
 
34
34
  def _dot_attr(name, value):
@@ -37,18 +37,15 @@ def _main(): # PYCHOK no cover
37
37
  s = tuple(sorted(_CXstats().items()))
38
38
  p = [_dot_attr(*t) for t in (((_version_, auxilats.__version__),) + s)]
39
39
 
40
- def _name_version(pkg):
41
- return _SPACE_(pkg.__name__, pkg.__version__)
42
-
43
- v = _pythonarchine()
40
+ v = _Pythonarchine()
44
41
  try:
45
42
  import geographiclib
46
43
  v.append(_name_version(geographiclib))
47
44
  except ImportError:
48
45
  pass
49
46
 
50
- a = auxilats.__name__
51
- x = os_path.basename(pygeodesy_abspath)
47
+ a = auxilats.__name__
48
+ x = _os_path.basename(pygeodesy_abspath)
52
49
  if not a.startswith(x):
53
50
  a = _DOT_(x, a)
54
51
  printf('%s%s (%s)', a, _COMMASPACE_.join(p), _COMMASPACE_.join(v))
@@ -18,7 +18,7 @@ from __future__ import division as _; del _ # PYCHOK semicolon
18
18
  from pygeodesy.auxilats.auxAngle import AuxAngle, AuxBeta, AuxChi, _AuxClass, \
19
19
  AuxMu, AuxPhi, AuxTheta, AuxXi
20
20
  from pygeodesy.auxilats.auxily import Aux, _sc, _sn, _Ufloats, atan1
21
- from pygeodesy.basics import _passarg, _reverange, _xinstanceof
21
+ from pygeodesy.basics import _reverange, _xinstanceof, _passarg
22
22
  from pygeodesy.constants import INF, MAX_EXP, MIN_EXP, NAN, PI_2, PI_4, _EPSqrt, \
23
23
  _0_0, _0_0s, _0_1, _0_25, _0_5, _1_0, _2_0, _3_0, \
24
24
  _360_0, isfinite, isinf, isnan, _log2, _over
@@ -29,6 +29,7 @@ from pygeodesy.errors import AuxError, _xkwds, _xkwds_get, _Xorder
29
29
  # from pygeodesy.fmath import cbrt # from .karney
30
30
  from pygeodesy.fsums import Fsum, _Fsumf_, _sum
31
31
  from pygeodesy.karney import _2cos2x, _polynomial, _ALL_DOCS, cbrt, _MODS
32
+ # from pygeodesy.internals import _passarg # from .basics
32
33
  from pygeodesy.interns import NN, _DOT_, _UNDER_ # _earth_
33
34
  # from pygeodesy.lazily import _ALL_DOCS, _ALL_MODS as _MODS # from .karney
34
35
  from pygeodesy.props import Property, Property_RO, _update_all