PDS4 products consist of a one or more data objects (arrays and tables, in ASCII or binary) and a label describing these data.
Python
Python has a good set of tools for creating PDS4 products. A few libraries which are commonly in use, include:
- lxml - a more powerful library than python's own xml module for manipulating labels
- lxml can read templates,. modify parts of the label, and perform schema validation
- bitstring - a library which can unpack binary data (e.g. telemetry packets) very easily
- pandas - a data handling library, which can be used to collate data from various sources and filter/process before outputting to a data product
- astropy.io.fits - writes FITS files, which under certain constrained can be lablled as a PDS4 product
- spacepy / pycdf - reads/writes CDF files, which under certain constrained can be lablled as a PDS4 product
There are also several projects that have implement PDS4 writers:
- easypsd4writer (proof of concept)