This document can get you up to speed with the Python client to the PDS API.
Python 3 (tested with 3.9).
Issues with SSL certificate verification seen with python 3.9.
If it occurs to you, try:
pip install --upgrade certifi
However, we have not been able to solve that with conda python 3.9.
To install the latest stable version of this package, run:
pip install pds.api-client
The package releases match with the Search API specification, as follows:
pds.api-client | pds search api specification |
---|---|
1.6.X | 1.5 |
1.5.X | 1.4 |
1.4.X | 1.3 |
1.3.X | 1.1.1 |
1.2.X | 1.1.Y |
1.1.X | 1.0 |
0.8.Y | 0.4 |
To install a specific version of this package, run, for example:
pip install pds.api-client==1.4.0
You can also include it as a dependency in another package, for example, in
your install_requires
.
Warning
If you use this package as a dependency, you cannot use
pds
as a top-level namespace package in your own software. Just use
pds2
or anything else. This is a documented bug.
from __future__ import print_function
from pds.api_client.rest import ApiException
from pds.api_client import Configuration
from pds.api_client import ApiClient
# create an instance of the API class
configuration = Configuration()
configuration.host = 'https://pds.nasa.gov/api/search/1'
api_client = ApiClient(configuration)
There are multiple API end points which accessible through modules defined in :doc:`/api/pds.api_client.api`
For Collections for example:
from pds.api_client.api.by_product_classes_api import ByProductClassesApi
from pprint import pprint
classes = ByProductClassesApi(api_client)
api_response = classes.class_list(
'collection',
start=0,
limit=20,
fields=['ops:Label_File_Info.ops:file_ref']
)
pprint(api_response.summary.to_dict())
See client_api