Repository: matthiask/html-sanitizer (language: python)

Issue:
v2.4.0 did not fix `ImportError` raised by  `lxml`
Hello,

The changes made on v2.4.0 do not fix the original issue (#38). When installing `html_sanitizer` as a dependency (using `pip`) we still have the same ImportError :

```
ImportError: lxml.html.clean module is now a separate project lxml_html_clean.
Install lxml[html_clean] or lxml_html_clean directly.
```

During `pip install`, we receive this warning:

```
Collecting lxml[html-clean]>=5.2.0 (from html_sanitizer>=2.4.0->-r .\req-htmls.txt (line 1))
  Obtaining dependency information for lxml[html-clean]>=5.2.0 from https://files.pythonhosted.org/packages/a7/64/eedb4435eb693812b9b517c6ce0beac932c1e45c4031df33688484fd83ea/lxml-5.2.0-cp311-cp311-win_amd64.whl.metadata
  Using cached lxml-5.2.0-cp311-cp311-win_amd64.whl.metadata (4.0 kB)
WARNING: lxml 5.2.0 does not provide the extra 'html-clean'
```

There seems to be a ongoing issue with `pip` (https://github.com/pypa/pip/issues/11445) not properly resolving extras when they contain underscores.



Discussion / hints:

Fix patch:
diff --git a/pyproject.toml b/pyproject.toml
index 4564272..67d9904 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,7 +35,8 @@ dynamic = [
 ]
 dependencies = [
   "beautifulsoup4",
-  "lxml[html_clean]>=5.2.0",
+  "lxml>=5.2.0",
+  "lxml-html-clean>=0.1.0",
 ]
 [project.urls]
 Homepage = "https://github.com/matthiask/html-sanitizer/"
diff --git a/tox.ini b/tox.ini
index a1ab64d..6425151 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,7 +1,8 @@
 [testenv]
 deps =
     wheel
-    lxml[html_clean]
+    lxml
+    lxml-html-clean
     beautifulsoup4
     coverage
 changedir = {toxinidir}


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 4ee9c74..2790220 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -22,7 +22,7 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
-          python -m pip install beautifulsoup4 lxml[html_clean]
+          python -m pip install beautifulsoup4 lxml lxml-html-clean
           if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
       - name: Run tests
         run: |