9 allow addition of arbitrary attributes to metadata profiles#10
Merged
pmslavin merged 16 commits intoMay 6, 2026
Merged
Conversation
… 9-allow-addition-of-arbitrary-attributes-to-metadata-profiles
There was a problem hiding this comment.
Pull request overview
This PR adds a new CLI option for attaching arbitrary JSON “context attributes” into the generated metadata profile, and introduces an MkDocs-based documentation site (including GitHub Pages deployment support).
Changes:
- Add
-a/--context-attributeto include a JSON object undermetadata.attributesin CLI output. - Add pytest coverage for CLI invocations using
--context-attribute. - Add MkDocs configuration/content, docs dependencies, and a GitHub Actions workflow for publishing docs.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
tests/test_context_attribute.py |
New CLI-focused tests for context attribute parsing/behavior. |
setup.py |
Adds docs extras with MkDocs-related dependencies. |
mkdocs.yml |
Adds MkDocs site configuration and navigation. |
dsprofile/utils/fileops.py |
Extends metadata generation to include parsed context attributes. |
dsprofile/main.py |
Adds new CLI flag and wires it into metadata generation; adds omit-metadata conflict check. |
dsprofile/lib/reader.py |
Tightens Reader subtype key validation (reject spaces) and adjusts docstring formatting. |
docs/stylesheets/extra.css |
Adds custom MkDocs Material styling. |
docs/reference/utils.md |
Adds mkdocstrings-based API reference page for utilities. |
docs/reference/reader.md |
Adds mkdocstrings-based API reference page for Reader. |
docs/reference/index.md |
Adds API reference section landing page. |
docs/install.md |
Adds installation instructions to docs site. |
docs/index.md |
Adds documentation home page. |
docs/extending/reader.md |
Adds developer guide for implementing new Readers. |
docs/extending/index.md |
Adds “Extending” section landing page. |
docs/examples/output-config.md |
Adds placeholder examples page. |
docs/examples/index.md |
Adds examples section landing page. |
docs/examples/advanced-install.md |
Adds advanced install/testing/docs build instructions. |
docs/context-attributes.md |
Adds documentation for the new context attributes feature and output format. |
docs/cli.md |
Adds CLI reference documentation including the new option. |
README.md |
Updates README usage snippets to include geopackage + context-attribute option and expands omit-digest info. |
.github/workflows/mkdocs-to-gh-pages.yml |
Adds a workflow intended to build/deploy docs to GitHub Pages. |
.github/workflows/ci.yml |
Renames workflow display name (“CI” → “Tests”). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR allows the addition of arbitrary json objects as "context attributes" with the
-a/--context-attributeoption and also merges in the documentation branch addingmkdocssupport.Tests are provided for command-line invocations using
--context-attributeand documentation is extended to include this.