Skip to content

pds-data-dictionaries/ldd-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

{dictionary name} ({prefix:}) {"Discipline" or "Local"} Dictionary

The {dictionary name} dictionary provides classes and attributes for {brief functional description}

Steward

{steward name} ({steward GitHub handle}), {steward node}

Documentation

The User's Guide and detailed documentation for using this dictionary in label design and processing are located at https://pds-data-dictionaries.github.io/{repo id}.

Latest Release

About This Repository

In this repo you will find...

  • src/ - The directory containing the managed IngestLDD file that defines this namespace. This is where changes to the namespace itself are made.
  • build/ - This directory holds the files generated by the build processing, including the schema files used in designing and validating labels, JSON for inclusion in code, and report files from the LDDTool execution that created the files. There are separate subdirectories for development versions and releases.
  • test/ - This directory contains regression tests (in the form of documented labels) for this namespace.
  • logs/ - This directory contains the logs generated by the GitHub-automated build and test processes of LDDTool and Validate.
  • examples/ - This directory contains label samples for using this namespace.
  • .github/ - This (possibly hidden) directory contains internal files used to manage the automated build processes.

The main branch is where you should merge your final changes to documentation and LDD structure. The gh-pages branch is auto-generated and used to run the documentation site. DO NOT MAKE CHANGES HERE.

Contributing to this Dictionary

Suggest a Feature or Report a Bug

There is a common place to request enhancements and report problems for any PDS-curated dictionary - the PDS4 Issue Repo. Search for the [{repo id}] update request block and click the green "Get Started" button.

Contribute Code or documentation

If you'd like to actively contribute to development, begin with the feature/bug process described above. Then familiarize yourself with the LDD Update Process and contact the dictionary steward to coordinate development, testing, and release. And thanks!

General Support for Dictionary Developers

See the PDS Data Dictionaries pages for documentation and tutorials describing the procedures required to reserve a namespace, establish a new repo, and build your dictionary.

If you need help creating your IngestLDD file, contact the Dictionary Stewards Group. Documentation is in preparation.

For Dictionary Stewards

See the tutorial on updating and building an IngestLDD and the LDD Update Process for documentation of those procedures.

Building the dictionary

Each build is auto-generated using Github Actions, PDS4 LDDTool, and Validate Tool.

You can also download the IngestLDD file and build the dictionary locally. You will need to install [LDDTool] (https://nasa-pds.github.io/pds4-information-model/model-lddtool/index.html) on your system. Once you do, you can manually run LDDTool on the IngestLDD using the following command:

lddtool -lpsnJ {IngestLDD file name}.xml

Generating Namespace Documentation

The documentation website is managed by GitHub Pages. When changes are made on the main branch, GitHub will process those changes and update the gh-pages branch, which drives the website on pds-data-dictionaries.github.io.

If you would like to test your changes and generate the site on your own system:

  1. Clone the repository
  2. Install Python dependencies (preferably within a Python virtual environment1) using this command:
pip install -r requirements.txt
  1. Follow steps below

To Generate HTML

  1. Build the HTML documents
cd docs
make clean html

Note that in Windows environments you will need to run the "clean" and "html" operations as separate invocations of "make":

cd docs
make clean
make html
  1. Preview the HTML in your browser
open build/html/index.html

To Generate PDF

  1. Install some additional dependencies:

    On a Mac:

    brew install texlive
    

    On Linux:

    apt-get install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
    
  2. Make the PDF

cd docs
make latexpdf

The output PDF will be written into the docs/ directory. The output file name will depend on the value for the project variable in the docs/source/conf.py file.

Footnotes

  1. Python Virtual Environment How-To at docs.python.org