Skip to content

CLI and entry points #339

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

Open
brandynlucca opened this issue Apr 17, 2025 · 1 comment
Open

CLI and entry points #339

brandynlucca opened this issue Apr 17, 2025 · 1 comment

Comments

@brandynlucca
Copy link
Collaborator

brandynlucca commented Apr 17, 2025

It may be helpful to add a CLI with appropriate entry points so users can run a pre-defined workflow/recipe/etc. via command line, such as:

survey --config workflow.yaml

where entry points can be stored in, say, pyproject.toml or a more appropriate entry. Visually, this would map out to something like:

      User types in shell:
      ┌────────────────────────┐
      │  echopop --config x    │
      └────────┬───────────────┘
               │
               ▼
      Entry Point (from pyproject.toml)
      ┌─────────────────────────────────────┐
      │  echopop = cli.main:main            │
      └────────────────┬────────────────────┘
                       │
                       ▼
            CLI code (Python)
            ┌────────────────────────────┐
            │ def main():                │
            │     parse args             │
            │     run Survey()           │
            └────────────────────────────┘

@leewujung
Copy link
Member

I would suggest focusing on modularizing the API and it's ok to not have a command line tool. I added something like this earlier on for echopype, but it's just one more thing to worry about and not much practical use, since notebooks or python scripts are more powerful when working with data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants