pds-api


Namepds-api JSON
Version 14.0.0 PyPI version JSON
download
home_pagehttps://github.com/NASA-PDS/pds-api
SummaryA short description, about 100-120 characters, suitable for search summaries
upload_time2024-02-26 22:08:08
maintainer
docs_urlNone
authorPDS
requires_python>=3.9
licenseapache-2.0
keywords pds planetary data api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NASA PDS Federated API

[![DOI](https://zenodo.org/badge/258831504.svg)](https://zenodo.org/doi/10.5281/zenodo.6314172)

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](https://www.openapis.org/) 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:

1. Copy the OpenAPI Specification under the `specs` directory following the above filename convention.
2. Add a new entry for this file in `docs/source/specifications.rst`
3. In the file `docs/source/conf.py` add a section for the new specification in the `redoc` object.
4. Generate a PDF of the documentation.
   
    ```
    cd docs/
    make latexpdf
    cp build/latex/pdsapis.pdf build/html/_static
    ```

6. 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](https://github.com/NASA-PDS/.github/blob/main/CODE_OF_CONDUCT.md). 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](https://www.jetbrains.com/pycharm/).


### Contributing

For 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).


## 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](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).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/NASA-PDS/pds-api",
    "name": "pds-api",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "pds,planetary data,api",
    "author": "PDS",
    "author_email": "pds_operator@jpl.nasa.gov",
    "download_url": "https://github.com/NASA-PDS/pds-api/releases/",
    "platform": null,
    "description": "# 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` (\u00b1 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](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",
    "bugtrack_url": null,
    "license": "apache-2.0",
    "summary": "A short description, about 100-120 characters, suitable for search summaries",
    "version": "14.0.0",
    "project_urls": {
        "Download": "https://github.com/NASA-PDS/pds-api/releases/",
        "Homepage": "https://github.com/NASA-PDS/pds-api"
    },
    "split_keywords": [
        "pds",
        "planetary data",
        "api"
    ],
    "urls": [
        {
            "comment_text": "\ud83e\udd20 Yee-haw! This here ar-tee-fact got done uploaded by the Roundup!",
            "digests": {
                "blake2b_256": "fde7f2090366582d20d3d0bcb4b4a95f8855b307be17b7d62304d197bc6f5031",
                "md5": "5f710f57635ca5db72a2234ac73b93ae",
                "sha256": "97732eb1980fc00e1d1b0fab804bfcdd957478aa74d6331c9581afedadead212"
            },
            "downloads": -1,
            "filename": "pds_api-14.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5f710f57635ca5db72a2234ac73b93ae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 9581,
            "upload_time": "2024-02-26T22:08:08",
            "upload_time_iso_8601": "2024-02-26T22:08:08.826625Z",
            "url": "https://files.pythonhosted.org/packages/fd/e7/f2090366582d20d3d0bcb4b4a95f8855b307be17b7d62304d197bc6f5031/pds_api-14.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-26 22:08:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NASA-PDS",
    "github_project": "pds-api",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "pds-api"
}
        
PDS
Elapsed time: 0.24706s