-
-
Notifications
You must be signed in to change notification settings - Fork 434
Support metadata for pyinfra plugins. #1457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 3.x
Are you sure you want to change the base?
Conversation
6578bd7
to
baa30b1
Compare
* Add pyinfra-metadata-schema-1.0.0.json. * Add pyinfra-metadata.toml with current plugins. * Add Jinja2 templating to sphinx build. * Extended build-public-docs.sh to build local docs. * Added generated index for facts and operations.
baa30b1
to
b4e02c5
Compare
Love this! I would move the Maybe we want to create a plugin registry with API (think Ansible Galaxy) |
Those both sound reasonable. That template folder is actually from an old implementation. I forgot to delete it. Whoops |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is awesome stuff @rod7760! Couple of bits to cleanup Daan already pointed out and good to go I think.
Community context: this is the precursor work that will enable us to generate other pyinfra projects docs inline on docs.pyinfra.com avoiding a disjointed mess of documentation websites.
@@ -0,0 +1,550 @@ | |||
"$schema" = "./pyinfra-metadata-schema-1.0.0.json" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be nice to have a script to regenerate this file in-repo since there's so many entries (probably only relevant to pyinfra core itself).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eh, might need to put the tags into machine readable format in the docstrings to do that though 🤔
Resolved the open comments. I moved Additionally, I now only render the We could also explicitly exclude files, but the jinja2 templating felt niche enough to include files explicitly. |
Remove old template dir Drop system-ops and system-facts Add pydantic to docs/metadata.py Move docs/metadata to pyinfra.api.metadata need to fix docs generation error for missing jinja2 vars Fix linting and only render subset of docs as jinja2 Update python3 -m http.server command in build-public-docs.sh
65e6ae8
to
fc7edac
Compare
Changes
Bench Test
Screenshot of Change
3.x
at this time)scripts/dev-test.sh
)scripts/dev-lint.sh
)