jaraco / jaraco/skeleton

Projects that depend on lxml fail to build in newer Pythons

Open
#75 3 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.