Skip to content
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

command line interface for pangeo-forge: here or in pangeo-smithy #43

Closed
rabernat opened this issue Jan 23, 2021 · 4 comments
Closed

command line interface for pangeo-forge: here or in pangeo-smithy #43

rabernat opened this issue Jan 23, 2021 · 4 comments
Labels
design question A question of the design of Pangeo Forge

Comments

@rabernat
Copy link
Contributor

For submitting recipes to bakeries from scripts, github workflows, etc., it will be useful to have a command line interface (CLI) for pangeo-forge. The CLI would work something like this:

$ pangeo smithy recipe validate recipe.py
- foo_recipe [ok]
- bar_recipe [ok]
$ pangeo smithy recipe submit recipe.py
- foo_recipe [submitted] http://status_url/foo/123
- bar_recipe [submitted] http://status_url/bar/456

Some questions:

@rabernat rabernat added the design question A question of the design of Pangeo Forge label Jan 23, 2021
@rabernat
Copy link
Contributor Author

Worth nothing that @TomAugspurger had a CLI already in the earlier version, which I removed in my big refactor:

https://github.com/pangeo-forge/pangeo-forge/blob/00306b38addaafa475c9f932c8eec58d4ffa047a/pangeo_forge/cli.py

@charlesbluca
Copy link
Member

charlesbluca commented Jan 25, 2021

From my perspective, the CLI for running/validating recipes should belong in this repo, as this is where the majority of Recipe, Pipeline, etc. implementation will be hosted. If I'm understanding the function of pangeo-smithy correctly, a CLI for that project should handle:

  • Generating a git repo from a YAML config file
  • Notifying a user what environment variables need to be configured (authentication, other CLI settings, etc.)
  • Reporting warnings or errors to help a user debug problems before/during making a PR to staged-recipes

I also feel like the processes of running recipes locally and submitting them to a bakery are distinct enough that they could be separate CLI tools, but I recognize why users would probably want to do both of those tasks within the context of this one project. In summary:

  • pangeo-forge - running and validation of recipes locally
  • pangeo-smithy - generation of recipes and validation of YAML configs
  • pangeo-bakery - submission of recipes to bakeries (optional and could probably go in pangeo-forge)

@TomAugspurger
Copy link
Contributor

TomAugspurger commented Jan 26, 2021 via email

@cisaacstern
Copy link
Member

This now exists in https://github.com/pangeo-forge/pangeo-forge-runner, with ongoing discussion of modularization vs. monorepo ongoing in #514, so closing this. Thanks all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design question A question of the design of Pangeo Forge
Projects
Development

No branches or pull requests

4 participants