Delb

Latest version: v0.4

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

Scan your dependencies

0.4

----------------

News
~~~~

- *delb* now uses its own XPath implementation, please investigate
:mod:`_delb.xpath` for details.
- ⚠️Many of the nodes' methods that relate to relative nodes have been renamed.
Watch out for :py:class:`DeprecationWarning`\s!
- ⚠️The method :meth:`delb.NodeBase.iterate_descendants` is added as a
replacement for the former :meth:`delb.NodeBase.child_nodes` invoked with the
now deprecated argument ``recurse``.
- ⚠️The ``https-loader`` extensions is now required for loading documents via
plain and secured HTTP connections.
- Under the hood httpx_ is now employed as HTTP/S client.
- ⚠️The contributed loader for FTP connections is marked as deprecated.
- ⚠️The ``parser`` argument to :class:`delb.Document` and
:meth:`delb.TagNode.parse` is deprecated and replaced by ``parser_options``.
- ⚠ :meth:`delb.Document.xslt` is marked as deprecated.
- ⚠️Evoked exceptions changed in various places.
- ⚠️Document mixin extensions are now facilitated by subclassing
:class:`_delb.plugins.DocumentMixinBase`. It replaces
:class:`_delb.plugins.DocumentExtensionHooks` and
:meth:`_delb.plugins.PluginManager.register_document_mixin` without a
backward-compatible mechanic.
- Support for the very good Python 3.10 and the even better 3.11 is added.
- The code repository is now part of an umbrella namespace for related projects:
https://github.com/delb-xml/
- A ``CITATTION.cff`` is available in the repository and shipped with source
distributions for researchers that are citing_ their employed software.

.. _citing: https://citation-file-format.github.io/
.. _httpx: https://www.python-httpx.org/

0.3

----------------

News
~~~~

- Adds the :meth:`delb.TagNode.fetch_or_create_by_xpath` method.
- ⚠️Because of that a pre-mature parser of XPath expressions has been
implemented and you can expect some expressions to cause failures, e.g.
with functions that take more than one argument.
- Subclasses of :class:`delb.Document` can claim to be the default class based
on the evaluation of a document's content and configuration by implementing
``__class_test__``.
- ⚠️ :meth:`_delb.plugins.PluginManager._register_document_extension` is renamed
to :meth:`_delb.plugins.PluginManager._register_document_mixin`.
- ⚠️ :meth:`_delb.plugins.DocumentExtensionHooks` is renamed to
:meth:`_delb.plugins.DocumentMixinHooks`.
- ⚠️ :meth:`_delb.plugins.DocumentMixinHooks._init_config` is now a
:func:`classmethod` and now also takes the config namespace as first argument.
- Adds :meth:`delb.Document.collapse_whitespace` and the initialization option
for :class:`delb.Document` instances with the same name.
- Adds the ``retain_child_nodes`` argument to :meth:`delb.NodeBase.detach`.
- Adds the :attr:`delb.NodeBase.last_descendant` property.
- Adds the :attr:`delb.TagNode.id` property.
- Adds the :meth:`delb.TagNode.parse` method.
- ⚠️ :meth:`TagNode.qualified_name` is marked deprecated and the same property
is now available as :meth:`TagNode.universal_name`.
- Adds support for Python 3.9 & 3.10.
- ⚠️ Drops support for Python 3.6
- Uses GitHub actions for CI checks.

Fixes
~~~~~

- Detached :class:`delb.TagNode` s now drop references to :class:`delb.TextNode`
siblings.
- Ensures that :attr:`delb.TagNode.location_path` always consists of indexed
steps (``/*[i]``) only.
- Avoids hitting the interpreter's recursion limit when iterating in stream
dimension.

0.2

----------------

News
~~~~

- Adds a logo. Gracious thanks to sm!
- Adds :doc:`plugin mechanics <extending>`. Graciae ad infinitum, TC!
- CSS and XPath query results are wrapped in :class:`delb.QueryResults`.
- Adds :attr:`delb.Document.head_nodes` and :attr:`delb.Document.tail_nodes`
that allow access to the siblings of a root node.
- Adds the :attr:`delb.Document.source_url` property.
- Adds :func:`delb.get_traverser` and two traverser implementations that yield
nodes related to a root node according to their defined order.
- Document loaders report back the reason why they would or could not load a
document from the given object.
- Various documentation improvements, including table of contents for class
members.

.. _fastcache: https://pypi.org/project/fastcache/

0.1.2

------------------

There's nothing super-exciting to report here. It's just getting better.

0.1.1

------------------

This was quiet boring, it serves updated dependencies for what it's worth.

0.1

----------------

The initial release with a set and sound data model and API.

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.