https://github.com/nasa-pds/ldd-manager
tools and software needed for managing PDS4 Sub-Models (formerly known as Data Dictionaries)
https://github.com/nasa-pds/ldd-manager
Last synced: 3 months ago
JSON representation
tools and software needed for managing PDS4 Sub-Models (formerly known as Data Dictionaries)
- Host: GitHub
- URL: https://github.com/nasa-pds/ldd-manager
- Owner: NASA-PDS
- License: other
- Created: 2021-11-01T15:30:56.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-11-05T00:46:59.000Z (9 months ago)
- Last Synced: 2026-03-03T13:54:00.809Z (5 months ago)
- Language: Python
- Homepage:
- Size: 6.26 MB
- Stars: 0
- Watchers: 7
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Notice: NOTICE.txt
Awesome Lists containing this project
README
# PDS4 Local Data Dictionary Management
This repo contains tools and software needed for managing PDS4 Local Data Dictionaries
## Prerequisites
Python 3.13.
## User Quickstart
Install with:
pip install pds.ldd-manager
To execute, run:
ldd-generate --help
ldd-validate --help
ldd-release --help
## 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).
### Documentation
Your project should use [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:
sphinx-build -b html docs/source docs/build
You can access the build files in the following directory relative to the project root:
docs/build/index.html
## Build
pip install build
python3 -m build .
## Publication
NASA PDS packages can publish automatically using the [Roundup Action](https://github.com/NASA-PDS/roundup-action), which leverages GitHub Actions to perform automated continuous integration and continuous delivery. A default workflow that includes the Roundup is provided in the `.github/workflows/unstable-cicd.yaml` file. (Unstable here means an interim release.)
### Manual Publication
Create the package:
pip install build
python3 -m build .
Publish it as a Github release.
Publish on PyPI (you need a PyPI account and configure `$HOME/.pypirc`):
pip install twine
twine upload dist/*
Or publish on the Test PyPI (you need a Test PyPI account and configure `$HOME/.pypirc`):
pip install twine
twine upload --repository testpypi dist/*
## 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/`. 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).