Click Processing Pipeline Rewrite
Open
@davidism is already working on this.
Since Jun 17, 2022.
parsing
- Dominant language
- Python
- Stars
- 17.7k
- Forks
- 2.3k
- Avg merge
- 1d 30m
- Merged PRs (30d)
- 18
Description
Click evolved unfortunately really badly the last two releases because the internal logic just grew too complex and it's totally not sound. This needs to be cleaned up but I'm not yet sure how.
Click needs to somehow become a pipeline that is clearly separated to be able to work better. Starting with parsing, handling of value callbacks and then invoking the callbacks. Maybe we need to split this pipeline into more steps where we can have args that are not yet processed by callbacks somehow?
Some effects of the current broken handling:
- https://github.com/pallets/flask/issues/1124 (auto help does not invoke callbacks)
- chain is broken. There is a failing testcase in the repo
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.