From 3dc5c9d291d14efa7866920cab2d03c640ec29b8 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Mon, 5 Oct 2026 21:58:22 +0000 Subject: [PATCH] Fix the module name of HtmlOptions and XmlOptions HtmlOptions and XmlOptions declared their module as "markupselect._rustlib", so their __module__ and repr named a module that doesn't exist. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Anders Kaseorg --- python/tests/test_rustlib.py | 8 ++++++++ src/parser.rs | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/python/tests/test_rustlib.py b/python/tests/test_rustlib.py index 6545e6e..645ec4d 100644 --- a/python/tests/test_rustlib.py +++ b/python/tests/test_rustlib.py @@ -624,3 +624,11 @@ def test_serialize(): assert rl.serialize(dom.root(), 0) == b"Ali" assert rl.serialize(dom.root(), 0, is_html=False) == b"Ali" + + +def test_class_modules(): + classes = [value for value in vars(rl).values() if isinstance(value, type)] + assert rl.HtmlOptions in classes + + for cls in classes: + assert cls.__module__ == "markupever._rustlib", cls diff --git a/src/parser.rs b/src/parser.rs index f563b18..5ff53d0 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -2,7 +2,7 @@ /// /// # Note /// this type is immutable. -#[pyo3::pyclass(name = "HtmlOptions", module = "markupselect._rustlib", frozen)] +#[pyo3::pyclass(name = "HtmlOptions", module = "markupever._rustlib", frozen)] pub struct PyHtmlOptions { exact_errors: bool, discard_bom: bool, @@ -139,7 +139,7 @@ impl PyHtmlOptions { } } -#[pyo3::pyclass(name = "XmlOptions", module = "markupselect._rustlib", frozen)] +#[pyo3::pyclass(name = "XmlOptions", module = "markupever._rustlib", frozen)] pub struct PyXmlOptions { exact_errors: bool, discard_bom: bool,