registry

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.

https://github.com/nasa-pds/registry

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

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.

Basic Info
Statistics
  • Stars: 3
  • Watchers: 10
  • Forks: 2
  • Open Issues: 97
  • Releases: 31
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Codeowners Security Zenodo

README.md

🪐 NASA PDS Registry repository

DOI 🤪 Unstable integration & delivery 😌 Stable integration & delivery

This 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:

  • registry-loader: tools to load PDD4 producs to the registry
  • opensearch: the famoua data store and search engine which performaces we praise.s
  • registry-sweepers: suite of script consolidating the PDS4 product descriptions in OpenSearch.
  • registry-api: the PDS Search API service.
  • registry-ref-data: some reference datsets that we use for our application integration tests.

Users and administrator should use the documentation published on http://nasa-pds.github.io/registry

This repository specifically contains these PDS registry application resources:

  • the source for the user/administrator documentation, see docs folder
  • 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.

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.

Utilities

  • Treks

    • To deploy the package run one of these commands from the root directory: pip install . for users pip install -e '.[dev]' for developers
      • This package is also hosted on the "cheeseshop" and can be installed with pip install pds.registry
    • The Treks utilities can be used to create pds4 labels for the layers given in the Treks API
    • Run the command: create-treks-pds4
  • GeoSTAC - Lola

    • To deploy the package run one of these commands from the root directory: pip install . for users pip install -e '.[dev]' for developers
      • This package is also hosted on the "cheeseshop" and can be installed with pip install pds.registry
    • The GeoSTAC utilities can be used to create pds4 labels for the Lola point clouds they host
    • This command needs LOLA GDR data to be loaded in the registry in order to connect the lid references
    • Run the command: create-lola-pds4

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.

Installation

Install in editable mode and with extra developer dependencies into your virtual environment of choice:

pip install --editable '.[dev]'

Make a baseline for any secrets (email addresses, passwords, API keys, etc.) in the repository:

detect-secrets scan . \
    --all-files \
    --disable-plugin AbsolutePathDetectorExperimental \
    --exclude-files '\.secrets..*' \
    --exclude-files '\.git.*' \
    --exclude-files '\.mypy_cache' \
    --exclude-files '\.pytest_cache' \
    --exclude-files '\.tox' \
    --exclude-files '\.venv' \
    --exclude-files 'venv' \
    --exclude-files 'dist' \
    --exclude-files 'build' \
    --exclude-files '.*\.egg-info' > .secrets.baseline

Review the secrets to determine which should be allowed and which are false positives:

detect-secrets audit .secrets.baseline

Please remove any secrets that should not be seen by the public. You can then add the baseline file to the commit:

git add .secrets.baseline

Then, configure the pre-commit hooks:

pre-commit install
pre-commit install -t pre-push
pre-commit install -t prepare-commit-msg
pre-commit install -t commit-msg

These hooks then will check for any future commits that might contain secrets. They also check code formatting, PEP8 compliance, type hints, etc.

👉 Note: A one time setup is required both to support detect-secrets and in your global Git configuration. See the wiki entry on Secrets to learn how.

Documentation

The project uses Sphinx to build its documentation. PDS' documentation template is already configured as part of the default build. You can build your projects docs with:

cd docs
make html

The generated documnentation can be found in directory docs/build/html

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

Owner

  • Name: NASA Planetary Data System Software
  • Login: NASA-PDS
  • Kind: organization
  • Email: pds-operator@jpl.nasa.gov

GitHub Events

Total
  • Create event: 45
  • Release event: 18
  • Issues event: 88
  • Watch event: 2
  • Delete event: 36
  • Issue comment event: 276
  • Push event: 80
  • Gollum event: 28
  • Pull request event: 49
  • Pull request review event: 10
  • Pull request review comment event: 1
  • Fork event: 1
Last Year
  • Create event: 45
  • Release event: 18
  • Issues event: 88
  • Watch event: 2
  • Delete event: 36
  • Issue comment event: 276
  • Push event: 80
  • Gollum event: 28
  • Pull request event: 49
  • Pull request review event: 10
  • Pull request review comment event: 1
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 230
  • Total pull requests: 101
  • Average time to close issues: 4 months
  • Average time to close pull requests: 20 days
  • Total issue authors: 15
  • Total pull request authors: 8
  • Average comments per issue: 2.92
  • Average comments per pull request: 1.02
  • Merged pull requests: 70
  • Bot issues: 0
  • Bot pull requests: 37
Past Year
  • Issues: 60
  • Pull requests: 50
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 29 days
  • Issue authors: 8
  • Pull request authors: 4
  • Average comments per issue: 2.4
  • Average comments per pull request: 1.4
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 27
Top Authors
Issue Authors
  • jordanpadams (103)
  • tloubrieu-jpl (71)
  • sjoshi-jpl (17)
  • nutjob4life (6)
  • mdrum (4)
  • mattanikiej (4)
  • plawton-umd (4)
  • alexdunnjpl (4)
  • c-suh (4)
  • scholes-ds (3)
  • tdddblog (2)
  • gxtchen (2)
  • rgdeen (1)
  • rchenatjpl (1)
  • anilnatha (1)
Pull Request Authors
  • dependabot[bot] (42)
  • tloubrieu-jpl (40)
  • alexdunnjpl (14)
  • jordanpadams (10)
  • mattanikiej (8)
  • nutjob4life (7)
  • miguelp1986 (3)
  • sjoshi-jpl (1)
Top Labels
Issue Labels
i&t.skip (154) task (108) requirement (41) sprint-backlog (40) bug (37) B14.1 (35) B15.0 (35) p.must-have (33) Epic (31) icebox (29) B13.1 (29) B14.0 (29) theme (28) p.should-have (25) B15.1 (23) B13.0 (23) needs:triage (22) B16 (18) enhancement (14) p.could-have (10) s.high (10) gis (9) B12.1 (8) duplicate (8) s.medium (7) s.critical (7) i&t.done (5) open.v1.3.1 (4) proj.registry+api (4) i&t.issue (3)
Pull Request Labels
python (31) needs:dependency (27) dependencies (15) github_actions (11)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 32 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 35
  • Total maintainers: 6
pypi.org: pds.registry

PDS Registry is a service and application for tracking, searching, auditing, locating, and managing artifacts within the system—data and label files, schemas, dictionaries, services, and more.

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 32 Last month
Rankings
Dependent packages count: 6.6%
Average: 29.2%
Forks count: 30.5%
Dependent repos count: 30.6%
Stargazers count: 39.1%
Downloads: 39.1%
Last synced: 6 months ago
repo1.maven.org: gov.nasa.pds:registry-crawler-service

A web service to crawl a file system for PDS4 labels.

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Forks count: 39.8%
Average: 40.7%
Stargazers count: 42.3%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: gov.nasa.pds:registry-harvest-service

A scalable web service version of a standalone Harvest tool.

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Forks count: 39.8%
Average: 40.7%
Stargazers count: 42.3%
Dependent packages count: 48.9%
Last synced: 6 months ago
repo1.maven.org: gov.nasa.pds:registry-harvest-cli

A command-line client to submit jobs / commands to Harvest and Crawler web services.

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Forks count: 39.8%
Average: 40.7%
Stargazers count: 42.3%
Dependent packages count: 48.9%
Last synced: 6 months ago

Dependencies

.github/workflows/branch-cicd.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v1 composite
.github/workflows/stable-cicd.yaml actions
  • NASA-PDS/roundup-action stable composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
.github/workflows/unstable-cicd.yaml actions
  • NASA-PDS/roundup-action stable composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
docker/docker-compose.yml docker
  • ${ES_IMAGE} latest
  • ${POSTMAN_NEWMAN_IMAGE} latest
  • ${PROXYCRYPT_IMAGE} latest
  • ${REGISTRY_CRAWLER_SERVICE_IMAGE} latest
  • ${REGISTRY_HARVEST_CLI_IMAGE} latest
  • ${REGISTRY_HARVEST_SERVICE_IMAGE} latest
  • ${REG_API_IMAGE} latest
  • ${REG_LOADER_IMAGE} latest
  • nginx latest
  • rabbitmq 3.9-management
pyproject.toml pypi
setup.py pypi