{"id":19292155,"url":"https://github.com/nasa-pds/pds-api","last_synced_at":"2025-04-22T06:32:06.632Z","repository":{"id":37750611,"uuid":"258831504","full_name":"NASA-PDS/pds-api","owner":"NASA-PDS","description":"PDS web APIs specifications and user's manual","archived":false,"fork":false,"pushed_at":"2025-03-10T17:56:33.000Z","size":22110,"stargazers_count":6,"open_issues_count":35,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-16T01:23:38.427Z","etag":null,"topics":["pds"],"latest_commit_sha":null,"homepage":"http://nasa-pds.github.io/pds-api","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NASA-PDS.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-25T17:15:28.000Z","updated_at":"2025-03-10T17:56:36.000Z","dependencies_parsed_at":"2024-02-20T17:45:43.072Z","dependency_job_id":"0f62912e-329b-43af-8dd3-3a0b58cc27a5","html_url":"https://github.com/NASA-PDS/pds-api","commit_stats":{"total_commits":294,"total_committers":14,"mean_commits":21.0,"dds":0.6938775510204082,"last_synced_commit":"9afa5b3c8fa60bd6b4b312720b586045836e3d16"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":"NASA-PDS/template-repo-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fpds-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fpds-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fpds-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fpds-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NASA-PDS","download_url":"https://codeload.github.com/NASA-PDS/pds-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250183291,"owners_count":21388687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pds"],"created_at":"2024-11-09T22:29:27.388Z","updated_at":"2025-04-22T06:32:03.845Z","avatar_url":"https://github.com/NASA-PDS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NASA PDS Federated API\n\n[![DOI](https://zenodo.org/badge/258831504.svg)](https://zenodo.org/doi/10.5281/zenodo.6314172)\n\nPDS strives to develop REST-ful web APIs for all online web applications, including data search and DOI management.\n\nThis repository is the entry point for the NASA PDS Federated API specifications (e.g. following [OpenAPI](https://www.openapis.org/) standard) and their documentation.\n\nPlease visit our website at https://nasa-pds.github.io/pds-api/ for user documentation.\n\n\n\n\n\n## Prerequisites\n\n* Python 3\n* For PDF generation, basiclatex and accompanying libraries are needed\n\n    ```\n    brew install basictex\n    sudo /Library/TeX/texbin/tlmgr update --self\n    sudo /Library/TeX/texbin/tlmgr install latexmk\n    sudo /Library/TeX/texbin/tlmgr install tex-gyre\n    sudo /Library/TeX/texbin/tlmgr install fncychap\n    sudo /Library/TeX/texbin/tlmgr install wrapfig\n    sudo /Library/TeX/texbin/tlmgr install capt-of\n    sudo /Library/TeX/texbin/tlmgr install framed\n    sudo /Library/TeX/texbin/tlmgr install needspace\n    sudo /Library/TeX/texbin/tlmgr install tabulary\n    sudo /Library/TeX/texbin/tlmgr install varwidth\n    sudo /Library/TeX/texbin/tlmgr install titlesec\n    ```\n\n\n## Generate the user's documentation\n\nSet the overall version (e.g. build number) in `docs/source/conf.py`\n\nThe OpenAPI yaml unresolved specifications are stored in the `specs` directory.\n\nThe naming of the specification are:\n    PDS_APIs-{application}-{version}-swagger.yaml\n\nFor example:\n    PDS_APIs-registry-1.0.0-swagger.yaml\n    \nTo add a new specification or a new version of a specification:\n\n1. Copy the OpenAPI Specification under the `specs` directory following the above filename convention.\n2. Add a new entry for this file in `docs/source/specifications.rst`\n3. In the file `docs/source/conf.py` add a section for the new specification in the `redoc` object.\n4. Generate a PDF of the documentation.\n   \n    ```\n    cd docs/\n    make latexpdf\n    cp build/latex/pdsapis.pdf build/html/_static\n    ```\n\n6. Generate the Sphinx documentation:\n    \n    ```\n    pip install -e '.[dev]'\n   \n    sphinx-build -b html docs/source docs/build/html\n    ```\n\n## Code of Conduct\n\nAll users and developers of the NASA-PDS software are expected to abide by our [Code of Conduct](https://github.com/NASA-PDS/.github/blob/main/CODE_OF_CONDUCT.md). Please read this to ensure you understand the expectations of our community.\n\n\n## Development\n\nTo develop this project, use your favorite text editor, or an integrated development environment with Python support, such as [PyCharm](https://www.jetbrains.com/pycharm/).\n\n\n### Contributing\n\nFor information on how to contribute to NASA-PDS codebases please take a look at our [Contributing guidelines](https://github.com/NASA-PDS/.github/blob/main/CONTRIBUTING.md).\n\n\n## CI/CD\n\nThe 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/\u003crelease version\u003e`. Both of these make use of our GitHub actions build step, [Roundup](https://github.com/NASA-PDS/roundup-action). 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).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Fpds-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasa-pds%2Fpds-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Fpds-api/lists"}