Open
Description
We have quite a bit of pain caused by a few compiled dependencies that don’t always build correctly on all environments or the latest Python versions:
- cChardet doesn't work with Python 3.11+ (yet?). I have been meaning to find replacements here for a while because it is holding us back, but there aren’t any great options: Replace cChardet with something compatible with current Python versions #165
- html5-parser has build issues on Windows.
- lxml I don’t think is causing issues, but also requires a build step.
All of these have drop in replacements (even though they are very slow). We could probably make this package easier to use by using the slower, pure-python versions by default, and allowing people to use the faster, compiled ones via extras, e.g. pip install web-monitoring-diff[c-extensions]
or something.
Some questions:
- Should these all be bundled in one extra (“give me the speedy-but-complicated deps”), or should each package be a separate extension (“give me just accelerated chardet, but not HTML parsing”)?
- Should the pure-Python versions be part of the base package (so
pip install web-monitoring-diff
get you something that just works, but you get a bloated set of dependencies you don’t use if you install the speedier extras), or should they also be an extra (i.e. install eitherweb-monitoring-diff[pure-python]
ORweb-monitoring-diff[c-extensions]
; just installingweb-monitoring-diff
won’t work).
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Backlog