Listparser

Latest version: v0.20

Safety actively analyzes 621363 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.20

Python support
--------------

* Support Python 3.11 and 3.12.
* Drop support for Python 3.7.

Added
-----

* Add a ``py.typed`` file so mypy can lint listparser use in dependent applications.
* Support lxml v5.0.0 while maintaining support for v4.6.2.

Changed
-------

* Support malformed XML documents by using lxml's HTML parsers.

Fixed
-----

* Fix the feed URL to the blog entries about listparser.

Documentation
-------------

* Add the OPML 1.0 and OPML 2.0 specifications to the listparser documentation for posterity.

Development
-----------

* Randomize the order of listparser's unit tests on each run
to help ensure there are no testing interdependencies.
* Add black, flake8, and isort as pre-commit hooks.
* Add mypy as a tox test environment.
* Add pyupgrade as a pre-commit hook and enforce Python 3.8+ syntax.
* Python warnings encountered during testing are now escalated to errors.
* Move tool dependencies into separate ``requirements.txt`` files.
* Add a tox label, ``update``, so it's easy to update tool dependencies.

0.19

*"Spring cleaning"*

Added
-----

* Add ``requests`` as an optional dependency.
* Add ``lxml`` as an optional dependency.
This is currently the only way to parse malformed XML files.
* Add support for Python 3.7 through Python 3.10.

Removed
-------

* Drop support for CPython 3.6 and lower.
* Drop support for IronPython.
* Drop support for Jython.
* Remove some ancient Jython compatibility code.
* HTML entities are no longer automatically injected into the DTD.

If ``lxml`` is installed and undeclared HTML entities are encountered,
they will be ignored.

If lxml is not installed and undeclared HTML entities are encountered,
Python's ``xml.sax`` parser will fail to parse the document.

Fixed
-----

* Fix some coverage messages that were output during testing.
* Fix the combined coverage HTML report's paths.

Changed
-------

* Migrate to a ``src/``-based directory structure.
* Migrate to Read the Docs for documentation hosting.
* ``parse()`` no longer accepts *etag*, *modified*, or *agent* arguments.
* HTTP response information is no longer available in the return dictionary.
* The unit tests no longer launch an HTTP server.
* Coverage data is now erased before the unit tests begin.
* ``bozo`` is now ``True`` or ``False``, not ``1`` or ``0``.
* ``bozo_exception`` is guaranteed to exist in the return dict.
* The RFC 822 parser now returns timezone-aware ``datetime`` objects
instead of converting to UTC and losing timezone info.
* Move and split ``lptest.py`` into the ``tests/`` subdirectory
and into specific ``test_*`` files.
* Increased test coverage reporting to include test runners.
* Decreased the number of ``tox`` environments where listparser must be built and installed.
* Internally rely on ``dict`` key-based lookups instead of ``SuperDict`` attribute-based lookups.
* Cache XML parsing method lookup results to avoid excessive string formatting.
* Change the name of the ``ListError`` to ``ListparserError``.
* Split the codebase into multiple files.
* Use ``tox`` to automate testing across multiple interpreters and versions.
* Migrate to ``pytest`` for unit testing.
* Remove dependence on the ``six`` package.
* Add type annotations.
* Remove compatibility code.
* Migrate to Poetry and ``pyproject.toml`` for project configuration.
* Change the license from LGPLv3 to MIT.
* Use scriv to manage the CHANGELOG.

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.