Projects that depend on lxml fail to build in newer Pythons
- Dominant language
- No language data
- Stars
- 150
- Forks
- 38
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
I support a number of projects that depend on lxml (svg.charts, openpack, jaraco.site, ...). Every time a new Python is released, lxml lags in supplying binary artifacts for that Python, meaning that builds will fail unless those platforms are excluded from the build matrix, requiring a per-project disablement of new platforms and then a later re-enablement. Furthermore, the rollout of binary artifacts for lxml is irregular, often landing on some platforms before others. I've tried building my own lxml artifacts, but found that the process isn't readily replicable and is often broken. It wouldn't be so bad if these projects could be configured with a PyPI mirror that had advance builds of lxml available, but supporting that is infeasible.
Maybe there's some way that the builds can be configured to fail quietly when lxml isn't available. It would need to be a tox plugin or wrapper, as the failure occurs before the test suite is run. Ideally, this step would be cheap enough that it could be run in all projects and not just the ones that depend on lxml.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are identified. Start by examining the tox/build step where lxml installation fails before the test suite runs, then determine how a reusable tox plugin or wrapper could make that failure non-fatal. Done means the approach is cheap enough for all projects and allows builds to continue when lxml is unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100