Click future direction #3147
Replies: 4 comments 9 replies
-
If it would be on me I would be even more bolder about that by having them explicitly prefixed by an underscore
We can even plan both a 9.x and a 10.x in a short time frame (like less than a year), to have a major release dedicated to parser rewrite, and one to data/interface contracts. Integers are cheap and it is a strong signal for maintainers to look twice at the changelog before blindly upgrading Click. See for instance how Graphviz was stagnant for a decade then went from Other random ideas to review/re-evaluate for a major release:
|
Beta Was this translation helpful? Give feedback.
-
|
I would caution against pushing out a major release that contains a lot of pent up breaking changes. Frankly the merits and risks of each change should be discussed and released separately |
Beta Was this translation helpful? Give feedback.
-
|
Based on input so far I think the tentative plan is split 1, 2, and 3 up. Anyone from the community is welcome to weigh in if they disagree. |
Beta Was this translation helpful? Give feedback.
-
|
The latest stuff with defaults, most recently fixed in #3224, is revealing a huge amount of internal mess. The problem is that the processing pipeline is split up into a ton of publicly documented methods on publicly documented classes. Since everything's considered public API, it could all be called by user code or overridden. We need to do internal bookkeeping across these various methods, but their public nature makes it hard to even anticipate what could happen. Aside from the complexity of the problem, we're all also very occupied with other stuff in our lives right now. This has meant that we haven't been positioned to respond to recent issues quickly. While fixing the spaghetti of it all won't be an easy task, ideally it will make future maintenance easier. I'd also like to get @tiangolo in on this, I did see that he was thinking about the direction of Typer recently and I'm sure Click's recent releases have been part of that. It would be great to schedule some meetings for us maintainers to map out what we need. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
In the last few years of working on Click, despite @kdeldycke adding many hundreds of tests, there has been a lot of breakage, specifically with 8.2 and 8.3. And 8.2 and 8.3 were mostly focused around fixing long standing bugs. Growing the test suite, has helped, but at this point it feels like the API is just too open, meaning there are many methods which are public. It feels like it is time for 9.0, where we actually fix the problem. In my mind 9.0 would try to:
However, I am sensitive to how much breakage this is likely to cause. 1. and 2. are mostly for the maintainers which I does not sell the breakage at all for people upgrading. 3. Is a strong reason to upgrade, but I am not convinced it will be enough right away. I think the solution is to land 9.0 with 1,2, and 3. Plan for lots of bug fix patches(9.0.1, 9.0.2...) And then try to land some much desire features in 9.1, maybe option groups, option ordering, ? However, those features should be planned in concert with 1.
I would also like to provide a clear upgrade path to users by:
@untitaker @davidism @kdeldycke Does this sound right, or am I off base. I am very open to feedback since I have no experience with this sort of thing.
Beta Was this translation helpful? Give feedback.
All reactions