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:
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 either web-monitoring-diff[pure-python] OR web-monitoring-diff[c-extensions]; just installing web-monitoring-diff won’t work).
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:
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:
pip install web-monitoring-diffget 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-diffwon’t work).