Re: kci command line poll: Click or Typer?

Guillaume Tucker <[email protected]>
Newsgroups dev.linux.lists.kernelci
Message-ID <[email protected]>
On 21/09/2023 10:59, Guillaume Tucker wrote:
> Alongside the new KernelCI API we're also working on the new
> command-line tool "kci".  One of the key decisions to make is the
> framework to use for its implementation.  The legacy KernelCI
> tools use the standard argparse, now we may consider using Click
> or Typer as they are popular Python alternatives.
> 
> Here's a small poll with extra context to help people make up
> their mind and vote for their favourite choice:
> 
>   https://github.com/kernelci/kernelci-project/discussions/258
> 
> If you don't have a GitHub account, you can also reply to this
> email to vote instead.  Feel free to also bring up any discussion
> topics here or with GitHub comments of course.
> 
> We'll look at the results at the end of the month so there's a
> bit more than a week left to answer the poll.

The results are in, basically all 3 options received the same
number of votes!  However, there have been very constructive
discussions around it and a fair amount of engagement from the
community which is very encouraging.

Here's a summary with collected pros/cons for each option:

  https://github.com/kernelci/kernelci-project/discussions/258#discussioncomment-7172705

an a proposal going forward:

  https://github.com/kernelci/kernelci-project/discussions/258#discussioncomment-7172800

I'm including a copy of the proposal from the GitHub comment here
for the benefit of the mailing list:

> What I would propose is to start with Click using the version
> currently in Debian Stable (v8.1.3) as it has so many
> advantages over argparse.  Then if users find the Click
> dependencies too cumbersome, we may consider bundling it
> directly with the kernelci package, probably with a Git
> submodule or directly added to the repository under
> kernelci.click.
>
> As a fallback, if we later find that adopting Click in the
> community still requires a larger effort than maintaining an
> implementation based on argparse we might be able to convert
> the tool to argparse then.  This scenario seems very unlikely
> as there aren't any actual signs that Click is more difficult
> to adopt than the existing dependencies (see requirements.txt
> in kernelci-core repository).  So the risk seems very low, and
> if we did hit this kind of problem we would still have a way to
> mitigate it.

Like many important technical decision, it's a compromise between
diverging requirements.  Please raise any concerns you may have
now if anyone believes there are going to be blockers with using
Click as the kci command line framework.  We need to have a
stable implementation by the end of November to meet the next
KernelCI API milestone, as such the implementation of the new kci
tool will probably start next week.  Also, please let us know if
you want to contribute ;)

Thanks,
Guillaume


PS: We should bundle CloudEvents with the kernelci package...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.