NASA PDS Federated API
PDS strives to develop REST-ful web APIs for all online web applications, including data search and DOI management.
This repository is the entry point for the NASA PDS Federated API specifications (e.g. following OpenAPI standard) and their documentation.
Please visit our website at https://nasa-pds.github.io/pds-api/ for user documentation.
Prerequisites
-
Python 3
-
For PDF generation, basiclatex and accompanying libraries are needed
brew install basictex sudo /Library/TeX/texbin/tlmgr update --self sudo /Library/TeX/texbin/tlmgr install latexmk sudo /Library/TeX/texbin/tlmgr install tex-gyre sudo /Library/TeX/texbin/tlmgr install fncychap sudo /Library/TeX/texbin/tlmgr install wrapfig sudo /Library/TeX/texbin/tlmgr install capt-of sudo /Library/TeX/texbin/tlmgr install framed sudo /Library/TeX/texbin/tlmgr install needspace sudo /Library/TeX/texbin/tlmgr install tabulary sudo /Library/TeX/texbin/tlmgr install varwidth sudo /Library/TeX/texbin/tlmgr install titlesec
Generate the user's documentation
Set the overall version (e.g. build number) in docs/source/conf.py
The OpenAPI yaml unresolved specifications are stored in the specs directory.
The naming of the specification are: PDS_APIs-{application}-{version}-swagger.yaml
For example: PDS_APIs-registry-1.0.0-swagger.yaml
To add a new specification or a new version of a specification:
-
Copy the OpenAPI Specification under the
specsdirectory following the above filename convention. -
Add a new entry for this file in
docs/source/specifications.rst -
In the file
docs/source/conf.pyadd a section for the new specification in theredocobject. -
Generate a PDF of the documentation.
cd docs/ make latexpdf cp build/latex/pdsapis.pdf build/html/_static -
Generate the Sphinx documentation:
pip install -e '.[dev]' sphinx-build -b html docs/source docs/build/html
Code of Conduct
All users and developers of the NASA-PDS software are expected to abide by our Code of Conduct. Please read this to ensure you understand the expectations of our community.
Development
To develop this project, use your favorite text editor, or an integrated development environment with Python support, such as PyCharm.
Contributing
For information on how to contribute to NASA-PDS codebases please take a look at our Contributing guidelines.
CI/CD
The template repository comes with our two "standard" CI/CD workflows, stable-cicd and unstable-cicd. The unstable build runs on any push to main (± ignoring changes to specific files) and the stable build runs on push of a release branch of the form release/<release version>. Both of these make use of our GitHub actions build step, Roundup. The unstable-cicd will generate (and constantly update) a SNAPSHOT release. If you haven't done a formal software release you will end up with a v0.0.0-SNAPSHOT release (see NASA-PDS/roundup-action#56 for specifics).
Metadata
Release files for pds-api 15.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pds_api-15.1.0-py3-none-any.whl | Python 3 | none | any | Details for pds_api-15.1.0-py3-none-any.whl |
Release files / pds_api-15.1.0-py3-none-any.whl
| Download URL | pds_api-15.1.0-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d583308346732dd60b8ba950f87dfcd0b595fd0dba316d007b2539bc1cb456e
|
|
BLAKE2b-256 checksum How to use checksums |
5d0fbc33538da522ad1990bcd9eb9a30010fa68f2e87d22b2ed5cac5a46d8ac4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.9.16
|
Security for pds-api 15.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.