{"id":19292199,"url":"https://github.com/nasa-pds/registry","last_synced_at":"2026-01-08T03:20:12.839Z","repository":{"id":37790668,"uuid":"419869439","full_name":"NASA-PDS/registry","owner":"NASA-PDS","description":"PDS Registry provides service and software application necessary for tracking, searching, auditing, locating, and maintaining artifacts within the system. These artifacts can range from data files and label files, schemas, dictionary definitions for objects and elements, services, etc.","archived":false,"fork":false,"pushed_at":"2024-03-07T17:47:59.000Z","size":10180,"stargazers_count":0,"open_issues_count":70,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-03-16T13:45:23.174Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nasa-pds.github.io/registry","language":"Shell","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}},"created_at":"2021-10-21T20:35:41.000Z","updated_at":"2024-06-27T23:36:58.944Z","dependencies_parsed_at":"2023-10-30T08:28:57.127Z","dependency_job_id":"e4f9dce4-a5d3-4e43-971e-a5cdc7a90894","html_url":"https://github.com/NASA-PDS/registry","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":"NASA-PDS/template-repo-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Fregistry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NASA-PDS","download_url":"https://codeload.github.com/NASA-PDS/registry/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240395803,"owners_count":19794579,"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":[],"created_at":"2024-11-09T22:29:37.031Z","updated_at":"2026-01-08T03:20:12.830Z","avatar_url":"https://github.com/NASA-PDS.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🪐 NASA PDS Registry repository\n\n[![DOI](https://zenodo.org/badge/419869439.svg)](https://zenodo.org/doi/10.5281/zenodo.6724814) [![🤪 Unstable integration \u0026 delivery](https://github.com/NASA-PDS/registry/actions/workflows/unstable-cicd.yaml/badge.svg)](https://github.com/NASA-PDS/registry/actions/workflows/unstable-cicd.yaml) [![😌 Stable integration \u0026 delivery](https://github.com/NASA-PDS/registry/actions/workflows/stable-cicd.yaml/badge.svg)](https://github.com/NASA-PDS/registry/actions/workflows/stable-cicd.yaml)\n\nThis repository is an umbrella for the PDS registry application. The application is composed of multiple sub-components, each of them managed in their own repository and integrated here:\n\n- registry-loader: tools to load PDD4 producs to the registry\n- opensearch: the famoua data store and search engine which performaces we praise.s\n- registry-sweepers: suite of script consolidating the PDS4 product descriptions in OpenSearch.\n- registry-api: the PDS Search API service.\n- registry-ref-data: some reference datsets that we use for our application integration tests.\n\n\nUsers and administrator should use the documentation published on http://nasa-pds.github.io/registry\n\nThis repository specifically contains these PDS registry application resources:\n\n- the source for the user/administrator documentation, see `docs` folder\n- docker compose script to start/test the full application with its required components, see https://github.com/NASA-PDS/registry/blob/main/docker/README.md for details. This also includes integration tests (in `docker/postman`). The integration test datasets are maintained in NASA-PDS/registry-ref-data repository.\n- **For developers:** See [Integration Testing Guide](https://nasa-pds.github.io/registry/developer/integration-testing.html) for instructions on adding and running integration tests.\n- utility scripts for registry management and reporting, see `scripts` folder\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## Scripts\n\n### Registry Status Report Generator\n\nGenerate CSV reports for missing and staged products in the PDS Registry:\n\n```bash\n# Generate reports and commit/push to GitHub (default)\n./scripts/generate_registry_status_reports.py\n\n# Generate reports only, without committing\n./scripts/generate_registry_status_reports.py --no-commit\n```\n\n**Purpose:** Generates reports for missing and staged products in the registry.\n\n**Output:** Creates four CSV files in `docs/status/`:\n- `missing_bundles_in_registry.csv` - Missing Product_Bundle records\n- `missing_collections_in_registry.csv` - Missing Product_Collection records\n- `staged_bundles_in_registry.csv` - Staged Product_Bundle records\n- `staged_collections_in_registry.csv` - Staged Product_Collection records\n\nBy default, the script commits and pushes these files to GitHub. Use `--no-commit` to disable this.\n\n**Requirements:**\n- Python 3.12 or higher\n- `pds-registry-client` and PDS Registry credentials\n- See `scripts/README.md` for full configuration details\n\n## Utilities\n* Treks\n    * To deploy the package run one of these commands from the root directory:\n        ```pip install .``` for users\n        ```pip install -e '.[dev]'``` for developers\n        * This package is also hosted on the \"cheeseshop\" and can be installed with\n            ```pip install pds.registry```\n    * The Treks utilities can be used to create pds4 labels for the layers given in the Treks API\n    * Run the command:\n        ```create-treks-pds4```\n\n* GeoSTAC - Lola\n    * To deploy the package run one of these commands from the root directory:\n        ```pip install .``` for users\n        ```pip install -e '.[dev]'``` for developers\n        * This package is also hosted on the \"cheeseshop\" and can be installed with\n            ```pip install pds.registry```\n    * The GeoSTAC utilities can be used to create pds4 labels for the Lola point clouds they host\n    * This command needs LOLA GDR data to be loaded in the registry in order to connect the lid references\n        * This data can be found here: [https://pds-geosciences.wustl.edu/lro/lro-l-lola-3-rdr-v1/lrolol_1xxx/data/lola_gdr/cylindrical/float_img/](https://pds-geosciences.wustl.edu/lro/lro-l-lola-3-rdr-v1/lrolol_1xxx/data/lola_gdr/cylindrical/float_img/)\n    * Run the command:\n        ```create-lola-pds4```\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### Documentation\n\nThe project uses [Sphinx](https://www.sphinx-doc.org/en/master/) to build its documentation. PDS' documentation template is already configured as part of the default build. You can build your projects docs with:\n\n\n    cd docs\n    make html\n\nThe generated documnentation can be found in directory docs/build/html\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%2Fregistry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasa-pds%2Fregistry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Fregistry/lists"}