{"id":19292140,"url":"https://github.com/nasa-pds/registry-client","last_synced_at":"2026-05-26T20:01:19.210Z","repository":{"id":247648843,"uuid":"811097743","full_name":"NASA-PDS/registry-client","owner":"NASA-PDS","description":"A simple PDS Registry Client which authenticates users with PDS SSO and signs requests to the serverless OpenSearch (AOSS) hosting the Registry database.","archived":false,"fork":false,"pushed_at":"2025-12-15T17:51:53.000Z","size":6207,"stargazers_count":0,"open_issues_count":10,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-24T18:41:05.071Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nasa-pds.github.io/registry-client","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","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,"zenodo":null,"notice":"NOTICE.txt","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-05T23:39:10.000Z","updated_at":"2025-12-15T17:51:54.000Z","dependencies_parsed_at":"2025-04-22T06:47:25.627Z","dependency_job_id":"8a46e519-0acd-490d-9024-2cc43fad4eb4","html_url":"https://github.com/NASA-PDS/registry-client","commit_stats":null,"previous_names":["nasa-pds/registry-client"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/NASA-PDS/registry-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NASA-PDS","download_url":"https://codeload.github.com/NASA-PDS/registry-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33536659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"ssl_error","status_checked_at":"2026-05-26T15:22:15.568Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-09T22:29:26.444Z","updated_at":"2026-05-26T20:01:18.856Z","avatar_url":"https://github.com/NASA-PDS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# PDS Registry Client\n\nThis is a prototype implementation of a request-signing utility for use with serverless OpenSearch (AOSS).  It is\n(currently) intended to provide a curl-like interface for querying PDS Registry's AOSS instance using a Cognito user\nidentity.\n\nAdditional functionality may be built out in the future.\n\n## Prerequisites\n\n- Personal user/pass credentials for a Cognito user authorized for Registry AOSS\n- Python \u003e=3.12\n- Environment variables (contact developer for values)\n  ```bash\n    export REQUEST_SIGNER_AWS_ACCOUNT=''\n    export REQUEST_SIGNER_AWS_REGION=''\n    export REQUEST_SIGNER_CLIENT_ID=''\n    export REQUEST_SIGNER_USER_POOL_ID=''\n    export REQUEST_SIGNER_IDENTITY_POOL_ID=''\n    export REQUEST_SIGNER_AOSS_ENDPOINT=''\n    export REQUEST_SIGNER_COGNITO_USER=''\n    export REQUEST_SIGNER_COGNITO_PASSWORD=''\n  ```\n\n## Developer Quickstart\n\n1. Clone the repository\n    ```\n   git clone https://github.com/NASA-PDS/registry-client.git\n   cd registry-client\n    ```\n\n\n2. Create a virtual environment\n    ```\n    python -m venv venv\n    source ./venv/bin/activate\n    ```\n\n3. Install the tool to the virtual environment\n    ```\n    pip install --editable '.[dev]'\n    ```\n\n4. Run the tool directly\n    ```\n    pds-registry-client --help\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### Installation\n\nInstall in editable mode and with extra developer dependencies into your virtual environment of choice:\n\n    pip install --editable '.[dev]'\n\nMake a baseline for any secrets (email addresses, passwords, API keys, etc.) in the repository:\n\n    detect-secrets scan . \\\n        --all-files \\\n        --disable-plugin AbsolutePathDetectorExperimental \\\n        --exclude-files '\\.secrets..*' \\\n        --exclude-files '\\.git.*' \\\n        --exclude-files '\\.mypy_cache' \\\n        --exclude-files '\\.pytest_cache' \\\n        --exclude-files '\\.tox' \\\n        --exclude-files '\\.venv' \\\n        --exclude-files 'venv' \\\n        --exclude-files 'dist' \\\n        --exclude-files 'build' \\\n        --exclude-files '.*\\.egg-info' \u003e .secrets.baseline\n\nReview the secrets to determine which should be allowed and which are false positives:\n\n    detect-secrets audit .secrets.baseline\n\nPlease remove any secrets that should not be seen by the public. You can then add the baseline file to the commit:\n\n    git add .secrets.baseline\n\nThen, configure the `pre-commit` hooks:\n\n    pre-commit install\n    pre-commit install -t pre-push\n    pre-commit install -t prepare-commit-msg\n    pre-commit install -t commit-msg\n\nThese hooks then will check for any future commits that might contain secrets. They also check code formatting, PEP8 compliance, type hints, etc.\n\n👉 **Note:** A one time setup is required both to support `detect-secrets` and in your global Git configuration. See [the wiki entry on Secrets](https://github.com/NASA-PDS/nasa-pds.github.io/wiki/Git-and-Github-Guide#detect-secrets) to learn how.\n\n\n### Packaging\n\nTo isolate and be able to re-produce the environment for this package, you should use a [Python Virtual Environment](https://docs.python.org/3/tutorial/venv.html). To do so, run:\n\n    python -m venv venv\n\nThen activate the environment (as shown above) which will set your shell's `$PATH` so that `python3` and `pip` are run out of it rather than the system's Python.\n\nIf you have `tox` installed and would like it to create your environment and install dependencies for you run:\n\n    tox --devenv \u003cname you'd like for env\u003e -e dev\n\nOr simply:\n\n    tox\n\nDependencies for development are specified as the `dev` `extras_require` in `setup.cfg`. For the packaging details, see https://packaging.python.org/tutorials/packaging-projects/ as a reference.\n\n\n### Tooling\n\nThe `dev` `extras_require` included in the template repo installs `flake8` (plus some plugins) and `mypy` along with default configuration for all of them. You can run all of these (and more!) with:\n\n    tox -e lint\n\n\n### Code Style\n\nSo that your code is readable, you should comply with the [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/). Our code style is automatically enforced in via [black](https://pypi.org/project/black/) and [flake8](https://flake8.pycqa.org/en/latest/). See the [Tooling section](#-tooling) for information on invoking the linting pipeline.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Fregistry-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasa-pds%2Fregistry-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Fregistry-client/lists"}