The aim of Planetary Fetch is to download data from PDS based on a part of the PDS ID.
Planetary Fetch requires Python 3.11 or later.
The recommended way is to install the planetary_fetch command in its own
environment with uv, from a release listed on the releases page
(replace <version> with a release number, for example 2.0.0):
$ uv tool install git+https://github.com/pdssp/planetary_fetch@<version>or with pip:
$ pip install git+https://github.com/pdssp/planetary_fetch@<version>Without @<version>, the latest development version of the main branch
is installed.
The sources for Planetary Fetch can be downloaded from the GitHub repo.
You can either clone the public repository:
$ git clone https://github.com/pdssp/planetary_fetchOr download the tarball:
$ curl -OJL https://github.com/pdssp/planetary_fetch/tarball/mainOnce you have a copy of the source, you can install it with:
$ uv tool install .The development environment is managed with uv:
$ git clone https://github.com/pdssp/planetary_fetch
$ cd planetary_fetch
$ make install-devmake install-dev installs the project and the development tools
(uv sync), the pre-commit hooks and the commit message template.
Commit messages follow Conventional Commits: they decide the next release
version. See the contributing guide for details.
To get help:
$ planetary_fetch -hBasic download (quote the IDs so that the shell does not expand *):
$ planetary_fetch --ids 'HRL0000CA5C*' --output_dir /tmpBasic download with silent mode:
$ planetary_fetch --ids 'HRL0000CA5C*' --output_dir /tmp --level CRITICALBasic download with silent mode without progress bar:
For a complete CRISM targeted observation, use the observation ID followed by a wildcard. ODE product queries return 100 products by default. Planetary Fetch retrieves all result pages before downloading. For example:
planetary_fetch --ids 'HRL000040FF*' --output_dir /tmp/crism
After downloading, the program prints a view-by-view DATA/DDR table. A cell is
OK only when both the IMG and LBL files are present. The final status is
INCOMPLETE if any expected view/channel pair is missing. Views are inferred
from the observation's CRISM science products; the report does not assume that
every observation has the same view numbers. The CLI exits with code 2 for an
incomplete observation.
To add one UB calibration pair for each S and L channel:
planetary_fetch --ids 'HRL000040FF*' --output_dir /tmp/crism --with_ub
The UB selection uses the view 07 IF/TRR3 label (or the earliest IF/TRR3 view
when 07 is absent). It considers the UB IDs listed in SOURCE_PRODUCT_ID
and chooses the closest spacecraft clock count for each channel. The selected
UB must also match the label's frame rate, pixel binning, exposure parameter,
and wavelength filter when those fields are present. The IMG/LBL pairs are
stored in HRL40/HRL40FF/UB. --with_ub requires a
single complete CRISM observation ID. A failed download or missing UB reference
causes an error instead of reporting success.
The numeric fields in CDR4 UB names (frame rate, pixel binning, exposure and wavelength filter) follow the ODE CRISM CDR product description, which links to the CRISM Data Product SIS.
$ make tests👤 Jean-Christophe Malapert
Contributions, issues and feature requests are welcome! Feel free to check the issues page. You can also take a look at the contributing guide.
This project is licensed under the GNU General Public License v3.