Improve importlib backports-upstream integration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 36k
- PR merge metrics
- PR metrics pending
Description
The current status-quo when it comes to the development integration/synchronization between the importlib backports and the CPython upstream isn't optimal.
Before anything else, I must properly acknowledge @jaraco's monumental and tireless effort on maintaining the importlib backports, and handling the complex synchronization with the CPython upstream, not to mention the continued development of these modules. It has been instrumental to get things to the state they are today, and none of the issues discussed in this thread should reflect negatively on him, but rather our failure to ensure these projects got the resources they need — a far too common tale in open-source.
Here are some issues I think we should improve:
- Synchronization process — even though @jaraco has left comments in some PRs describing his workflow, there's no properly documented process
- Authorship stripping — the current way changes are synced in and from the backports strip commit authorship
- Documentation fragmentation, resulting in a sub-optimal documentation
- Eg.
importlib.metadata.Distribution, and other classes, do not document their attributes (I regularly have to resort to the source code)
- Eg.
- CLA enforcement — the backports do not enforce the CLA
- Segmented development workflow — issues and changes happen in both places
- Source history — the current way changes are synced in and from the backports strip commit history
cc @python/importlib-team
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.
Research direction
The issue names no files or tests. Start by reviewing the importlib backports and CPython upstream synchronization workflow, including authorship, source history, CLA enforcement, and documentation concerns. Done would require an agreed improvement to the integration process, but the issue does not define a specific implementation or acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience, documentation, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100