README.md
This tool provides a single command---read(‘/path/to/file’)
---for ingesting
all common planetary data types. It reads almost all "primary observational
data" products currently archived in the PDS (under PDS3 or PDS4), and the
fraction of products it does not read is continuously shrinking.
Currently-supported datasets are listed here.
If the software fails while attempting to read from datasets that we have listed as supported, please submit an issue with a link to the file and information about the error (if applicable). There might also be datasets that work but are not listed. We would like to hear about those too. If a dataset is not yet supported that you would like us to consider prioritizing, please fill out this request form.
If you use pdr in your work, please cite us using our JOSS Paper: . A BibTex style citation is available in CITATION.cff.
pdr is now on conda
and pip
. We recommend (and only officially support)
installation into a conda
environment. You can do this like so:
conda create --name pdrenv
conda activate pdrenv
conda install -c conda-forge pdr
The minimum supported version of Python is 3.9.
Using the conda install will install some optional dependencies in the environment.yml
file for pdr including: astropy
and pillow
. If you'd prefer to forego those
optional dependencies, please use minimal_environment.yml in your
installation. This is not supported through a direct conda install as
described above and will require additional steps. Optional dependencies
and the added functionality they support are listed below:
pvl
: allowsData.load("LABEL", as_pvl=True)
, which will load PDS3 labels aspvl
objects rather than plain textastropy
: adds support for FITS filesjupyter
: allows usage of the Example Jupyter Notebook (and other jupyter notebooks you create)pillow
: adds support for reading a variety of 'desktop' image formats (TIFF, JPEG, etc.) and for browse image renderingLevenshtein
: allows use ofmetaget_fuzzy
, a fuzzy-matching metadata parsing function
For pip users, no optional dependencies will be packaged with pdr. The extras tags are:
pvl
: installspvl
fits
: installsastropy
notebooks
: installsjupyter
pillow
: installspillow
fuzzy
: installsLevenshtein
Example syntax for using pip to install syntax with astropy
and pillow
optional
dependencies:
pip install pdr[fits, pillow]
NOTE: pdr
is not currently compatible with python 3.13 when installed with pip
, it can be used with python 3.13 through conda
You can check out our example Notebook on a JupyterLite server for a quick interactive demo of functionality:
Additional information on usage including examples, output data types, notes and caveats, tests, etc. can now be accessed in our documentation on readthedocs at: https://pdr.readthedocs.io
Thank you for wanting to contribute to pdr
and improving efforts to make
planetary science data accessible. Please review our code of conduct before
contributing.
If you have found a bug, a dataset that we claim to support that's not opening properly, or you have a feature request, please file an issue. We will also review pull requests, but would probably prefer you start the conversation with us first, so we can expect your contributions and make sure they will be within scope.
If you need general support you can find us on OpenPlanetary Slack or feel free to email the team.
This work is supported by NASA grant No. 80NSSC21K0885.