Sitelet https://web.archive.org/web/20210726194307/https://github.com/nidhaloff/igel/issues/63
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

re-write the cli using click (or maybe typer?) #63

Open
nidhaloff opened this issue Jun 13, 2021 · 6 comments
Open

re-write the cli using click (or maybe typer?) #63

nidhaloff opened this issue Jun 13, 2021 · 6 comments

Comments

@nidhaloff
Copy link
Owner

@nidhaloff nidhaloff commented Jun 13, 2021

Description

I'm the creator and only maintainer of the project at the moment. I'm working on adding new features and thus I would like to let this issue open for newcomers who want to contribute to the project.

Basically, I wrote the cli using argparse since it is part of the standard language already. However, I'm starting to rethink this choice because it has some issues that the click library already overcome.

With that said, it would be great to re-write the cli in click or even in typer, which also uses click under the hood but adds more features.

If someone wants to work on this, please feel free to start directly, you don't need to ask for permission.

PS: Feel free to suggest other libraries. I just suggested click since I'm familiar with it

I hope not but If this issue stayed open for a long time, then I will start working on it myself

@rmallof
Copy link

@rmallof rmallof commented Jun 13, 2021

Hi. Adding my 2 cents: maybe https://github.com/google/python-fire can help speed up the process :)

@nidhaloff nidhaloff pinned this issue Jun 13, 2021
@RackReaver
Copy link

@RackReaver RackReaver commented Jun 20, 2021

I use docopt for most of my projects now as click is usually overkill for what I need.

Based on what I see I think click is probably going to be your best option for your project as it has great modularity.

@nidhaloff
Copy link
Owner Author

@nidhaloff nidhaloff commented Jun 21, 2021

@rmallof @RackReaver I'm not familiar with the two packages but thanks for the suggestion.

Yes I think click is a good choice for igel. Maybe typer would be even better but I'm not sure. I must check it out but it is also based on click and has similar syntax so that's the advantage

@RackReaver
Copy link

@RackReaver RackReaver commented Jun 21, 2021

I'm not super familiar with ML but I'd be willing to give converting this a whirl. Do you have existing tests for the cli to ensure nothing is missed?

@nidhaloff
Copy link
Owner Author

@nidhaloff nidhaloff commented Jun 21, 2021 •

@RackReaver At the moment there are no tests for the cli, but even then, it must be updated/adapted to the click syntax. I implemented the first simple version using argparse, which had limitations and this is exactly one of the reasons why I want to switch to click.

If you want to give it a try, I would happily review and eventually update your PR. You don't have to be familiar with ML, the cli code has nothing to do with ML, it's just python.

@shubham3174
Copy link

@shubham3174 shubham3174 commented Jun 30, 2021

Hi @nidhaloff, I am new to open source and would like to start working on it. I would try to replace argparse with click in cli.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants