-
Notifications
You must be signed in to change notification settings - Fork 175
Move commandline interface to typer #2751
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: main
Are you sure you want to change the base?
Conversation
ace7dab to
fb35cbd
Compare
|
@Conan-Kudo I'm mostly interested in getting the open questions from the checklist answered, so no need to do an in-depth review of the code changes as it's time consuming. Thanks much |
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
|
We can't drop Python 3.9 support since that's required for CentOS/RHEL 9. |
I found a fix to make it work on 3.9 too |
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
In addition to docopt also support the typer commandline interface. This is relevant for kiwi versions that has moved to typer. OSInside/kiwi#2751
|
@Conan-Kudo I finished the Cli change and also updated the plugins. The plugins continues to support both docopt and typer such that they can continue to work also with older versions of kiwi. The upstream kiwi should change to typer and the interface is a drop-in-replacement such that there should be no difference in the former caller semantic. The only open question is if the typer python module is available in all distros we support. I did a short test on Virtualization:Appliances:Staging/python-kiwi and it would build the package for all targets that exists there except for ALP which is an issue that I need to resolve prior merge Also I appreciate your feedback with regards to the other OS'es Thanks |
|
And there is also the question on the min version of typer in the pyproject.toml to be ok or not |
6ca82a6 to
ea0e919
Compare
134d296 to
f8234e1
Compare
cce4d97 to
e1a723e
Compare
e1a723e to
1594575
Compare
1594575 to
8ecf59b
Compare
8ecf59b to
80c2814
Compare
80c2814 to
551dad4
Compare
|
dfcf2c5 to
655873b
Compare
This commit moves the kiwi commandline and plugin interface to typer and drops the use of docopt. Typer is based on python type hints and allows for a more modern way to define Cli interfaces and auto completion, even for plugins. Also docopt is split into an old and a next generation variant and allows us to get rid of spec file hacks as well as documentation rendering hacks.
See in code comment for the reason
This commit moves the kiwi commandline and plugin interface to
typerand drops the use ofdocopt. Typer is based on python type hints and allows for a more modern way to define Cli interfaces and auto completion, even for plugins. Also docopt is split into an old and a next generation variant and allows us to get rid of spec file hacks as well as documentation rendering hacks.