https://github.com/nasa-pds/nucleus
Nucleus is a software platform used to create workflows for the Planetary Data (PDS).
https://github.com/nasa-pds/nucleus
data ingestion pds planetary workflow
Last synced: about 2 months ago
JSON representation
Nucleus is a software platform used to create workflows for the Planetary Data (PDS).
- Host: GitHub
- URL: https://github.com/nasa-pds/nucleus
- Owner: NASA-PDS
- License: apache-2.0
- Created: 2021-10-20T14:35:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-12T05:16:19.000Z (2 months ago)
- Last Synced: 2025-02-12T06:38:17.722Z (2 months ago)
- Topics: data, ingestion, pds, planetary, workflow
- Language: HCL
- Homepage: https://nasa-pds.github.io/nucleus
- Size: 15.7 MB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Nucleus
[](https://doi.org/10.5281/zenodo.7996080)
PDS Nucleus is a software platform used to create workflows for managing data archives.
## User Documentation
Please visit the documentation at: https://nasa-pds.github.io/doi-service/
## Developers
## Prerequisites
- Python 3.9 or above
- Access to Planetary Data Cloud## Test
TBD
## Deploy
See in this repository:
https://github.com/NASA-PDS/nucleus/tree/main/terraform
## Documentation Management
Documentation about the documentation is described in this section.
### Design
See in this repository:
https://github.com/NASA-PDS/nucleus/tree/main/docs
or the `docs` directory in the source package.
### User Documentation
User documentation is managed with Sphinx, which is also installed in your Python virtual environment when you run `pip install --editable .[dev]`:
python3 -m venv venv
source venv/bin/activate
pip install -e '.[dev]'
sphinx-build -b html docs/source docs/build/htmlPublish the pages on gh-pages branch
## Secret Detection
The following commands can be used to detect secrets in the code.
1) Setup a pythion virtual environment.
```shell
mkdir ~/Tools
python3 -m venv ~/Tools/detect-secrets
source ~/Tools/detect-secrets/bin/activate
pip install git+https://github.com/NASA-AMMOS/slim-detect-secrets.git@exp
```2) Execute the following command in Nucleus root directory to scan the code for secrets.
```shell
detect-secrets scan --disable-plugin AbsolutePathDetectorExperimental \
--exclude-files '\.secrets\..*' \
--exclude-files '\.git.*' \
--exclude-files '\.pre-commit-config\.yaml' \
--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' \
--exclude-files '.*\.tfstate' \
--exclude-files '.*\.tfvars' \
> .secrets.baseline
```3) Execute the following command in Nucleus root directory to audit the possible secrets detected.
```shell
detect-secrets audit .secrets.baseline
```This will create a `.secrets.baseline` in Nucleus root directory. Commit and push that file, in order to pass the checks in GitHub during a pull request.