diff --git a/CHANGELOG.md b/CHANGELOG.md index 431180c..e407fa9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -## v0.1.0 (2025-08-25) +## v0.1.0 (2025-08-26) **Initial Release** diff --git a/README.md b/README.md index 14d161b..b6f7a34 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ it ignores formatting differences and focuses on semantic equivalence. - **Secure parsing**: Uses secure XML parsing practices by default - **Test-friendly**: Perfect for `pytest`, `unittest`, and other testing frameworks -## Installation (IN PROGRESS) +## Installation ```bash pip install xmlassert @@ -24,7 +24,7 @@ pip install xmlassert ``` python from xmlassert import assert_xml_equal -# These will pass (formatting differences ignored) +# These will pass (formatting differences are ignored) assert_xml_equal("text", "\n text\n") # This will fail with a clean diff @@ -45,7 +45,7 @@ except AssertionError as e: ``` python from xmlassert import assert_xml_equal -# Passes - formatting differences ignored +# Passes - formatting differences are ignored xml1 = "value" xml2 = """ @@ -108,3 +108,36 @@ Instead of the unreadable: ``` AssertionError: XML mismatch: expected value != actual value ``` + +## Troubleshooting + +### Namespace Handling +XML namespaces are compared strictly. +Ensure your XML uses consistent namespace declarations. + +### Large XML Documents +For very large documents, consider using dedicated XML diff tools. +`xmlassert` is optimized for test-sized XML snippets. + +### Encoding Issues +Ensure both XML strings use the same encoding (UTF-8 recommended). + + +## Why xmlassert? + +Compared to other XML testing approaches: + +| Feature | `xmlassert` | `xml.etree` | `xmlunit` | string compare | +|---------|-----------|-------------|-----------|----------------| +| Human-readable diffs | Yes | No | Partial | No | +| Formatting-agnostic | Yes | No | Yes | No | +| Easy to use | Yes | Partial | Partial | Yes | +| Secure parsing | Yes | Partial | Yes | No | + + +## Links + +- [PyPI Package](https://pypi.org/project/xmlassert/) +- [Source Code](https://github.com/ivanovmg/xmlassert) +- [Issue Tracker](https://github.com/ivanovmg/xmlassert/issues) +- [Changelog](CHANGELOG.md) diff --git a/pyproject.toml b/pyproject.toml index af0170d..34e17ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta' [project] name = 'xmlassert' -version = '0.1.0rc4' +version = '0.1.0' description = 'Human-readable XML comparison for testing with clean diff output' readme = 'README.md' requires-python = '>=3.8' @@ -23,6 +23,7 @@ classifiers = [ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Topic :: Software Development :: Testing', 'Topic :: Text Processing :: Markup :: XML', ]