Skip to content

Make cChardet and html5-parser (and lxml?) optional #196

@Mr0grog

Description

@Mr0grog

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Prioritized

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions