lunar-toolkit 0.1.0.dev2__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 (55) hide show
  1. lunar_toolkit/__init__.py +6 -0
  2. lunar_toolkit/asp.py +432 -0
  3. lunar_toolkit/cli/__init__.py +88 -0
  4. lunar_toolkit/cli/_jobs.py +437 -0
  5. lunar_toolkit/cli/_status.py +368 -0
  6. lunar_toolkit/cli/_utils.py +128 -0
  7. lunar_toolkit/cli/app.py +205 -0
  8. lunar_toolkit/cli/build_db.py +130 -0
  9. lunar_toolkit/cli/download.py +111 -0
  10. lunar_toolkit/cli/kaguya.py +253 -0
  11. lunar_toolkit/cli/ode_search.py +144 -0
  12. lunar_toolkit/cli/pairs.py +236 -0
  13. lunar_toolkit/cli/process.py +138 -0
  14. lunar_toolkit/cli/query.py +70 -0
  15. lunar_toolkit/cli/reference.py +233 -0
  16. lunar_toolkit/cli/search.py +90 -0
  17. lunar_toolkit/cli/serve.py +706 -0
  18. lunar_toolkit/cli/sfs.py +344 -0
  19. lunar_toolkit/cli/sfs_report.py +148 -0
  20. lunar_toolkit/cli/shadowcam.py +246 -0
  21. lunar_toolkit/cli/stereo.py +85 -0
  22. lunar_toolkit/cli/workspace.py +84 -0
  23. lunar_toolkit/config.py +345 -0
  24. lunar_toolkit/constants.py +217 -0
  25. lunar_toolkit/csm.py +340 -0
  26. lunar_toolkit/downloader.py +447 -0
  27. lunar_toolkit/geometry.py +556 -0
  28. lunar_toolkit/isis.py +222 -0
  29. lunar_toolkit/kaguya/__init__.py +45 -0
  30. lunar_toolkit/kaguya/mi.py +274 -0
  31. lunar_toolkit/kaguya/tc.py +370 -0
  32. lunar_toolkit/lroc/__init__.py +6 -0
  33. lunar_toolkit/lroc/cumindex.py +1197 -0
  34. lunar_toolkit/lroc/nac.py +702 -0
  35. lunar_toolkit/observation.py +127 -0
  36. lunar_toolkit/ode.py +485 -0
  37. lunar_toolkit/provenance.py +312 -0
  38. lunar_toolkit/reference.py +1111 -0
  39. lunar_toolkit/selection.py +714 -0
  40. lunar_toolkit/sfs.py +1534 -0
  41. lunar_toolkit/sfs_products.py +676 -0
  42. lunar_toolkit/sfs_report.py +1328 -0
  43. lunar_toolkit/shadowcam/__init__.py +29 -0
  44. lunar_toolkit/shadowcam/sc.py +392 -0
  45. lunar_toolkit/static/index.html +3259 -0
  46. lunar_toolkit/stereo.py +519 -0
  47. lunar_toolkit/stereo_dem.py +145 -0
  48. lunar_toolkit/tools.py +264 -0
  49. lunar_toolkit/workspace.py +1173 -0
  50. lunar_toolkit-0.1.0.dev2.dist-info/METADATA +177 -0
  51. lunar_toolkit-0.1.0.dev2.dist-info/RECORD +55 -0
  52. lunar_toolkit-0.1.0.dev2.dist-info/WHEEL +5 -0
  53. lunar_toolkit-0.1.0.dev2.dist-info/entry_points.txt +2 -0
  54. lunar_toolkit-0.1.0.dev2.dist-info/licenses/LICENSE +28 -0
  55. lunar_toolkit-0.1.0.dev2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,177 @@
1
+ Metadata-Version: 2.4
2
+ Name: lunar-toolkit
3
+ Version: 0.1.0.dev2
4
+ Summary: Find, download and process lunar orbital imagery (LROC, ShadowCam, Kaguya TC) and build stereo and shape-from-shading DEMs with ISIS + ASP
5
+ License-Expression: BSD-3-Clause
6
+ Keywords: moon,lroc,shadowcam,kaguya,isis,ames-stereo-pipeline,shape-from-shading,dem
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: Intended Audience :: Science/Research
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3 :: Only
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Topic :: Scientific/Engineering :: Astronomy
18
+ Classifier: Topic :: Scientific/Engineering :: GIS
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: numpy>=1.24
23
+ Requires-Dist: pandas>=2.0
24
+ Requires-Dist: pyarrow>=14
25
+ Requires-Dist: pywebview>=5
26
+ Requires-Dist: duckdb>=1.0
27
+ Requires-Dist: matplotlib>=3.7
28
+ Requires-Dist: tqdm>=4.65
29
+ Requires-Dist: platformdirs>=3
30
+ Requires-Dist: pyyaml>=6
31
+ Requires-Dist: rasterio>=1.3
32
+ Requires-Dist: shapely>=2.0
33
+ Provides-Extra: app
34
+ Requires-Dist: pywebview[qt]>=5; sys_platform == "linux" and extra == "app"
35
+ Provides-Extra: dev
36
+ Requires-Dist: pytest>=7; extra == "dev"
37
+ Requires-Dist: pytest-cov>=6.1; extra == "dev"
38
+ Requires-Dist: mypy>=2; extra == "dev"
39
+ Requires-Dist: pandas-stubs; extra == "dev"
40
+ Requires-Dist: types-tqdm; extra == "dev"
41
+ Requires-Dist: types-PyYAML; extra == "dev"
42
+ Requires-Dist: pre-commit; extra == "dev"
43
+ Requires-Dist: ruff; extra == "dev"
44
+ Provides-Extra: docs
45
+ Requires-Dist: mkdocs-material; extra == "docs"
46
+ Requires-Dist: mkdocs-gen-files; extra == "docs"
47
+ Requires-Dist: mkdocstrings[python]; extra == "docs"
48
+ Dynamic: license-file
49
+
50
+ [![pipeline](https://img.shields.io/github/actions/workflow/status/alexmaietta/lunar-toolkit/ci.yml?branch=main&label=pipeline)](https://github.com/alexmaietta/lunar-toolkit/actions/workflows/ci.yml)
51
+ [![coverage](https://img.shields.io/endpoint?url=https://alexmaietta.github.io/lunar-toolkit/coverage/badge.json)](https://alexmaietta.github.io/lunar-toolkit/coverage/)
52
+ [![pypi](https://img.shields.io/pypi/v/lunar-toolkit)](https://pypi.org/project/lunar-toolkit/)
53
+ [![license](https://img.shields.io/badge/license-BSD_3--Clause-blue)](LICENSE)
54
+
55
+ # Lunar Toolkit
56
+
57
+ Lunar Toolkit finds, downloads and processes lunar orbital imagery and turns it into DEMs.
58
+
59
+ It builds a searchable index of LROC images whose footprint search also works near the poles, finds ShadowCam, LROC and Kaguya products through the PDS Orbital Data Explorer, imports images into [ISIS](https://isis.astrogeology.usgs.gov/), and builds stereo and shape-from-shading (SfS) DEMs with the [Ames Stereo Pipeline](https://stereopipeline.readthedocs.io/) through configurable, reproducible pipelines. A desktop app browses the index, ODE, footprints and full-resolution images.
60
+
61
+ See our [latest documentation](https://alexmaietta.github.io/lunar-toolkit/) for guides, the CLI reference and the API.
62
+
63
+ ## Install
64
+
65
+ ```bash
66
+ pip install lunar-toolkit
67
+ ```
68
+
69
+ Python 3.10+. DEM and image-processing commands also need ISIS and the Ames Stereo Pipeline ([setup](https://alexmaietta.github.io/lunar-toolkit/dems/#setup)), or use the all-in-one Docker image (`docker build -t lunar-toolkit .`, see [Install](https://alexmaietta.github.io/lunar-toolkit/install/)).
70
+
71
+ ## Quick start
72
+
73
+ ```bash
74
+ lunar build-db edr # local LROC EDR index (~3.8 GB download)
75
+ lunar search --point -85.98 -0.26 --radius-km 2 --nac-only
76
+ lunar download M165993756LE --output-dir raw
77
+ lunar app # desktop app with search, footprints, images and settings
78
+ ```
79
+
80
+ ## Commands
81
+
82
+ | Command | Description |
83
+ |---|---|
84
+ | `build-db` | Build or update the local LROC index (EDR, CDR, RDR) |
85
+ | `search` | Footprint search of the index by box, point + radius or AOI polygon |
86
+ | `query` | Print metadata for product IDs |
87
+ | `download` | Download LROC EDR / CDR images |
88
+ | `ode-search` | Search ShadowCam, LROC and Kaguya products on ODE |
89
+ | `pairs` | Rank NAC stereo pairs or pick illumination-diverse SfS images |
90
+ | `process` | Calibrate and map-project NAC images with ISIS |
91
+ | `kaguya` | Import Kaguya TC / MI images into ISIS with CSM cameras |
92
+ | `shadowcam` | Prepare ShadowCam cubes with SPICE and CSM cameras |
93
+ | `stereo` | DEM from a NAC stereo pair |
94
+ | `sfs` | Shape-from-shading DEM from a YAML config or flags |
95
+ | `sfs-report` | Metrics, figures and an HTML report for an SfS run |
96
+ | `workspace` | SQL over a run's DuckDB workspace (footprints, bundle-adjust stats) |
97
+ | `reference` | Artemis III regions, PGDA LOLA DEMs and published SfS DEMs |
98
+ | `app` / `serve` | The desktop app, or the same page served to a browser |
99
+
100
+ Every option is in the [CLI reference](https://alexmaietta.github.io/lunar-toolkit/cli/).
101
+
102
+ ## Python
103
+
104
+ ```python
105
+ from lunar_toolkit import CumIndex, NacImage
106
+
107
+ ci = CumIndex() # the local EDR index
108
+ df = ci.search(point=(-85.98, -0.26), radius_km=2, nac_only=True)
109
+ print(len(df), "NAC images within 2 km of Malapert")
110
+
111
+ img = NacImage(df.iloc[0]["PRODUCT_ID"])
112
+ print(img.product_id, img.start_time, img.pixel_scale, img.incidence_angle, img.sub_solar_azimuth)
113
+ print(img.edr_url)
114
+ ```
115
+
116
+ More in the [API reference](https://alexmaietta.github.io/lunar-toolkit/api/cumindex/).
117
+
118
+ ## Development
119
+
120
+ ```bash
121
+ pip install -e ".[dev]"
122
+ pre-commit install
123
+ pytest
124
+ ```
125
+
126
+ ## Acknowledgements
127
+
128
+ This toolkit only wraps and indexes the work of others.
129
+
130
+ | What | Provided by |
131
+ |---|---|
132
+ | LROC NAC and WAC images | [Lunar Reconnaissance Orbiter Camera](https://www.lroc.asu.edu/) team, Arizona State University |
133
+ | ShadowCam images | [ShadowCam](https://www.shadowcam.asu.edu/) team (Arizona State University and Malin Space Science Systems), a NASA instrument on KARI's Korea Pathfinder Lunar Orbiter (Danuri) |
134
+ | Kaguya Terrain Camera and Multiband Imager images | JAXA [SELENE (Kaguya)](https://www.selene.jaxa.jp/) teams, distributed through JAXA's [DARTS](https://darts.isas.jaxa.jp/) archive |
135
+ | Data archives and search | NASA Planetary Data System [Imaging Node](https://pds-imaging.jpl.nasa.gov/), and the Geosciences Node's [Orbital Data Explorer](https://ode.rsl.wustl.edu/moon/) |
136
+ | LOLA 5 m site DEMs | LOLA team, NASA GSFC [Planetary Geodesy Data Archive](https://pgda.gsfc.nasa.gov/products/78) |
137
+ | Published SfS DEMs and the SfS workflow | Bertone et al. and the NASA GSFC LuNaMaps / Artemis III work, on [Zenodo](https://doi.org/10.5281/zenodo.17954508) |
138
+ | [ISIS](https://isis.astrogeology.usgs.gov/) and [ALE](https://github.com/DOI-USGS/ale) | USGS Astrogeology Science Center |
139
+ | [Ames Stereo Pipeline](https://stereopipeline.readthedocs.io/) | NASA Ames Research Center |
140
+ | [SPICE](https://naif.jpl.nasa.gov/) | NASA Navigation and Ancillary Information Facility (NAIF) |
141
+ | [GDAL](https://gdal.org/) and [DuckDB](https://duckdb.org/) | their open-source communities |
142
+
143
+ Please cite the instruments, data sets and software below when you publish results made with them.
144
+
145
+ ## References
146
+
147
+ ### Software
148
+
149
+ - Beyer, R. A., Alexandrov, O., & McMichael, S. (2018). The Ames Stereo Pipeline: NASA's open source software for deriving and processing terrain data. *Earth and Space Science*, 5, 537-548. [doi:10.1029/2018EA000409](https://doi.org/10.1029/2018EA000409)
150
+ - Alexandrov, O., & Beyer, R. A. (2018). Multiview shape-from-shading for planetary images. *Earth and Space Science*, 5, 652-666. [doi:10.1029/2018EA000390](https://doi.org/10.1029/2018EA000390)
151
+ - Alexandrov, O., McMichael, S., Broxton, M., et al. (2024). NeoGeographyToolkit/StereoPipeline: ASP 3.4.0. Zenodo. [doi:10.5281/zenodo.12176190](https://doi.org/10.5281/zenodo.12176190) (cite the version you use)
152
+ - Laura, J., Acosta, A., Addair, T., et al. (2023). Integrated Software for Imagers and Spectrometers (ISIS) 7.2.0. Zenodo. [doi:10.5281/zenodo.7644616](https://doi.org/10.5281/zenodo.7644616) (cite the version you use)
153
+ - Acton, C. H. (1996). Ancillary data services of NASA's Navigation and Ancillary Information Facility. *Planetary and Space Science*, 44, 65-70. [doi:10.1016/0032-0633(95)00107-7](<https://doi.org/10.1016/0032-0633(95)00107-7>)
154
+ - Rouault, E., Warmerdam, F., Schwehr, K., et al. (2025). GDAL. Zenodo. [doi:10.5281/zenodo.5884351](https://doi.org/10.5281/zenodo.5884351)
155
+ - Raasveldt, M., & Muhleisen, H. (2019). DuckDB: an embeddable analytical database. *SIGMOD '19*, 1981-1984. [doi:10.1145/3299869.3320212](https://doi.org/10.1145/3299869.3320212)
156
+
157
+ ### Instruments and missions
158
+
159
+ - Vondrak, R., Keller, J., Chin, G., & Garvin, J. (2010). Lunar Reconnaissance Orbiter (LRO): observations for lunar exploration and science. *Space Science Reviews*, 150, 7-22. [doi:10.1007/s11214-010-9631-5](https://doi.org/10.1007/s11214-010-9631-5)
160
+ - Robinson, M. S., Brylow, S. M., Tschimmel, M., et al. (2010). Lunar Reconnaissance Orbiter Camera (LROC) instrument overview. *Space Science Reviews*, 150, 81-124. [doi:10.1007/s11214-010-9634-2](https://doi.org/10.1007/s11214-010-9634-2)
161
+ - Humm, D. C., Tschimmel, M., Brylow, S. M., et al. (2016). Flight calibration of the LROC Narrow Angle Camera. *Space Science Reviews*, 200, 431-473. [doi:10.1007/s11214-015-0201-8](https://doi.org/10.1007/s11214-015-0201-8)
162
+ - Smith, D. E., Zuber, M. T., Jackson, G. B., et al. (2010). The Lunar Orbiter Laser Altimeter investigation on the Lunar Reconnaissance Orbiter mission. *Space Science Reviews*, 150, 209-241. [doi:10.1007/s11214-009-9512-y](https://doi.org/10.1007/s11214-009-9512-y)
163
+ - Robinson, M. S., Brylow, S. M., Caplinger, M. A., et al. (2023). ShadowCam instrument and investigation overview. *Journal of Astronomy and Space Sciences*, 40(4), 149-171. [doi:10.5140/JASS.2023.40.4.149](https://doi.org/10.5140/JASS.2023.40.4.149)
164
+ - Kato, M., Sasaki, S., Takizawa, Y., & the Kaguya project team (2010). The Kaguya mission overview. *Space Science Reviews*, 154, 3-19. [doi:10.1007/s11214-010-9678-3](https://doi.org/10.1007/s11214-010-9678-3)
165
+ - Haruyama, J., Matsunaga, T., Ohtake, M., et al. (2008). Global lunar-surface mapping experiment using the Lunar Imager/Spectrometer on SELENE. *Earth, Planets and Space*, 60, 243-255. [doi:10.1186/BF03352788](https://doi.org/10.1186/BF03352788)
166
+ - Ohtake, M., Haruyama, J., Matsunaga, T., et al. (2008). Performance and scientific objectives of the SELENE (KAGUYA) Multiband Imager. *Earth, Planets and Space*, 60, 257-264. [doi:10.1186/BF03352789](https://doi.org/10.1186/BF03352789)
167
+
168
+ ### Topography
169
+
170
+ - Mazarico, E., Neumann, G. A., Smith, D. E., Zuber, M. T., & Torrence, M. H. (2011). Illumination conditions of the lunar polar regions using LOLA topography. *Icarus*, 211, 1066-1081. [doi:10.1016/j.icarus.2010.10.030](https://doi.org/10.1016/j.icarus.2010.10.030) (PGDA site numbering)
171
+ - Barker, M. K., Mazarico, E., Neumann, G. A., et al. (2021). Improved LOLA elevation maps for south pole landing sites: error estimates and their impact on illumination conditions. *Planetary and Space Science*, 203, 105119. [doi:10.1016/j.pss.2020.105119](https://doi.org/10.1016/j.pss.2020.105119)
172
+ - Henriksen, M. R., Manheim, M. R., Burns, K. N., et al. (2017). Extracting accurate and precise topography from LROC narrow angle camera stereo observations. *Icarus*, 283, 122-137. [doi:10.1016/j.icarus.2016.05.012](https://doi.org/10.1016/j.icarus.2016.05.012)
173
+ - Bertone, S., Barker, M., Mazarico, E., McKenna, T., & Petro, N. (2026). Enhanced topography models for selected lunar south pole regions with shape-from-shading. *The Planetary Science Journal*, 7, 118. [doi:10.3847/PSJ/ae5b70](https://doi.org/10.3847/PSJ/ae5b70). Data: [doi:10.5281/zenodo.17954508](https://doi.org/10.5281/zenodo.17954508)
174
+
175
+ ## License
176
+
177
+ BSD 3-Clause. See [LICENSE](LICENSE).
@@ -0,0 +1,55 @@
1
+ lunar_toolkit/__init__.py,sha256=ViyqKQUOHQ_4uaSszQkdFIuJGIzylK4ErLAi7Ks4uIY,288
2
+ lunar_toolkit/asp.py,sha256=jSAYfw6mG_AAK-bZ_DRtFKCuI4MeZ0G8Uh2hoCRk19k,14084
3
+ lunar_toolkit/config.py,sha256=X2cJvgMsfyPQedaAMQilH4AM8D6_CPnQLOZDmfOOxR0,13775
4
+ lunar_toolkit/constants.py,sha256=xwelL2uElTeh6fmeOS_5TOy9LzuqfW56OYIybDHbwgA,8222
5
+ lunar_toolkit/csm.py,sha256=xrjQVoJQWs4AoNPx2P37_VJM2eetdppMfbRFhEfzYdg,12804
6
+ lunar_toolkit/downloader.py,sha256=miUxfeEVkTMJXSQb8XjXUm_KotZ5Ev5UcNTGIXeSLsg,16203
7
+ lunar_toolkit/geometry.py,sha256=9tj4N3lzfA801_6qFp92_BWjG_C3HMudThpzLPdGDts,22020
8
+ lunar_toolkit/isis.py,sha256=uPvyNPf1pb74xWZrcZ7rgZzz5m3Lbkk2pkLSv-TcHVM,7516
9
+ lunar_toolkit/observation.py,sha256=D9SAcdGQfnVZYZKl0-8u1N3GKrmxXeNa_XeWNBpGjPU,4417
10
+ lunar_toolkit/ode.py,sha256=vI2nEtReta6EUDrSENY92hKr46ggwR7cOT0joRldM2k,18365
11
+ lunar_toolkit/provenance.py,sha256=G1Xoh4NqP6MmaabLeXgPg5_ZOMKDim7FhlzYEiyqYb4,11112
12
+ lunar_toolkit/reference.py,sha256=IHWJXP5C_GnJbYTwrEQUxr9cHe0spMU_6nX8n9XFdcU,44324
13
+ lunar_toolkit/selection.py,sha256=AFT9XW2z-anAtksrOJTW7ZuiD5sADLwRHtIL3kQ_yPc,27874
14
+ lunar_toolkit/sfs.py,sha256=XbEpfD3luyil908_CrqWM_wQl9m-D7uxe-VIIcy6zIQ,64746
15
+ lunar_toolkit/sfs_products.py,sha256=-8ZflTjJwCv88X17YsCFFjduKt4w6EtUnqq_Cc-aCXE,24049
16
+ lunar_toolkit/sfs_report.py,sha256=gslwbeilK9DmI5uzbu-7O9d5V1Ng5ClH4fazebD1c3g,54113
17
+ lunar_toolkit/stereo.py,sha256=mieL3ARbFm3V85NzjqwMxUysnvFFhLoWgKpwljMWv-E,20781
18
+ lunar_toolkit/stereo_dem.py,sha256=eGEYW2_ZyaDWs4vgqXvLJxKIMN-fHmOLYh4dY9cPrAo,5091
19
+ lunar_toolkit/tools.py,sha256=FURNWu-7h5QpQAO7ykwGFSpWI1gv1R98lkurEnsfJqo,8703
20
+ lunar_toolkit/workspace.py,sha256=zVTA_saKSfVErjHJaBhhmU-YJoyiwBAw5L7bz4HVFGo,52519
21
+ lunar_toolkit/cli/__init__.py,sha256=AY7FMldKvE_sv-5grlBhzRNKqi7nxWNSsWZIjlB7UkM,1854
22
+ lunar_toolkit/cli/_jobs.py,sha256=h-yfYH0qA4oYCh9yCowBacxQVZJybcfucVtQ4VTveds,17624
23
+ lunar_toolkit/cli/_status.py,sha256=LgzWIQzH1Zbzho7B-oByazSkDsi-XHCIpOZUvDCjVUE,13024
24
+ lunar_toolkit/cli/_utils.py,sha256=wxeVXVn9OJNC4k7S1yxDM3bAxDydYIsGCXaXHpgL3Pc,4430
25
+ lunar_toolkit/cli/app.py,sha256=1vz2amRo-sWTR-ScjUmsBGD2Bfc0BSUa3RlY6TStvNs,6776
26
+ lunar_toolkit/cli/build_db.py,sha256=W0RN9wllUqFHTR3fZw-AUgTazotry5uUEi72DaGNIpY,3914
27
+ lunar_toolkit/cli/download.py,sha256=I2IkEoTt7B2-syG8uuQ3k8ezM9ZxosNvVb7Frw0Z4dI,3858
28
+ lunar_toolkit/cli/kaguya.py,sha256=T95YQgALaP6oseB-1y7NxjuJvD5NjIftpmyI12SxlCI,9622
29
+ lunar_toolkit/cli/ode_search.py,sha256=vx8pkAjLcUOBaznKoF3ojmtSQkkCJ0GsYI-8h_rh5EM,5189
30
+ lunar_toolkit/cli/pairs.py,sha256=BPQnvWw8LYqUUcyuviH42ar2YocBNT5V-fqAgnsOe-o,8835
31
+ lunar_toolkit/cli/process.py,sha256=fSxtjTbnzbM6po1tz7kZyxtafAUMulp7gaJbZNpVQqY,4507
32
+ lunar_toolkit/cli/query.py,sha256=sA9W4gTGbhTJYsNh_hFKTkJG6bKpoaAY0itvcqCyexk,1941
33
+ lunar_toolkit/cli/reference.py,sha256=cN8UvWqQOvfU1gCYNlet8XNmdEuqYpFKZqD1NR513S8,9383
34
+ lunar_toolkit/cli/search.py,sha256=Sp3I3QBUns9kVUdxAtOSJEZCj77GtcK-w72FwS8zi1g,3657
35
+ lunar_toolkit/cli/serve.py,sha256=6PWJrpJ7NMC05NbDY7GnMuCujoN-dEZqYYaf5DT3kjA,26410
36
+ lunar_toolkit/cli/sfs.py,sha256=TixDjH2IzkfthAvfP2cIFK8dnJ6bzfsZKn4PgS4YgKk,13690
37
+ lunar_toolkit/cli/sfs_report.py,sha256=FM2MRFPjOUIRlB0ea7xKq3e-Uw3_r7bgsJI0N-AWNJM,5908
38
+ lunar_toolkit/cli/shadowcam.py,sha256=IgOv9Kdmtn05MP12hca_RCY8XgXJ1urFb_foVgvoo1U,9104
39
+ lunar_toolkit/cli/stereo.py,sha256=aXdooxFAOeksdtlqxT_7QUGddPJ7QmE3dFs5D5Uoyoo,3305
40
+ lunar_toolkit/cli/workspace.py,sha256=qMLBzUT3sc4yckKlIU4wNZKyhpPct52s9iWAXEy4wsY,3749
41
+ lunar_toolkit/kaguya/__init__.py,sha256=cNjTnkcsnJODqjGjo1VxHrLo5SQjIhp0JZEBAbwDcYk,848
42
+ lunar_toolkit/kaguya/mi.py,sha256=dVGKxIl7ZrHj_Nd_E5YBe8JF_0IR8SbcJcCnO2nedws,10271
43
+ lunar_toolkit/kaguya/tc.py,sha256=ZFIR85cgeZX5ig2xW-ReREkEXaWBu_6avQn2PX0A3_M,13531
44
+ lunar_toolkit/lroc/__init__.py,sha256=1EwjSIbb8-hOG6G0ijWvVTO25D6T9f-gGZGS09AxsiI,224
45
+ lunar_toolkit/lroc/cumindex.py,sha256=3pLTGp_Dtc2O6Dy3irbhtCsJHFZ3DFa14pktUVantQg,45269
46
+ lunar_toolkit/lroc/nac.py,sha256=QtFperYVga2_UfGzQTJU88yhjEy4W12WhWCJm1iMPjU,27548
47
+ lunar_toolkit/shadowcam/__init__.py,sha256=mo34AySwaa4tV0KZF98-ThB2xg-LONGZQ0UDj-gXU7Q,520
48
+ lunar_toolkit/shadowcam/sc.py,sha256=vGebTjSAMx4kA_guIYhTnljmE8OjCXt37X_9MbCsvzk,14675
49
+ lunar_toolkit/static/index.html,sha256=Jx4iZuGHM0nMPQie6s8jXAuaBdabIWVTRFYvZhB44u0,167255
50
+ lunar_toolkit-0.1.0.dev2.dist-info/licenses/LICENSE,sha256=4jFi8jVCn78sQDcbOsqRnIC_9xxBe-8HkFx53YHmbCI,1499
51
+ lunar_toolkit-0.1.0.dev2.dist-info/METADATA,sha256=fY0kt2g-mHcdpctmmQ1OJY2QYibVJ6dOjld0tx9EhDE,11876
52
+ lunar_toolkit-0.1.0.dev2.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
53
+ lunar_toolkit-0.1.0.dev2.dist-info/entry_points.txt,sha256=RG6d-8zCmtXXKzAfQ0oa7B-UdHJ6uw3C_1DsZb1Dym0,49
54
+ lunar_toolkit-0.1.0.dev2.dist-info/top_level.txt,sha256=_dNUXlwcSZLCnSpa55ospfOWXTCmVpJUZsD6r7Jr3s0,14
55
+ lunar_toolkit-0.1.0.dev2.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ lunar = lunar_toolkit.cli:main
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, Alex Maietta
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1 @@
1
+ lunar_toolkit