Htmltools

Latest version: v0.6.0

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

Scan your dependencies

Page 1 of 3

0.6.0

Breaking changes

* `HTML` no longer inherits from `str`. It now inherits from `collections.UserString`. This was done to avoid confusion between `str` and `HTML` objects. (86)

* `TagList` no longer inherits from `list`. It now inherits from `collections.UserList`. This was done to avoid confusion between `list` and `TagList` objects. (97)

* `Tag` and `TagList`'s method `.get_html_string()` now both return `str` instead of `HTML`. (86)

* Strings added to `HTML` objects, now return `HTML` objects. E.g. `HTML_value + str_value` and `str_value + HTML_value` both return `HTML` objects. To maintain a `str` result, call `str()` on your `HTML` objects before adding them to other strings values. (86)

* Items added to `TagList` objects, now return `TagList` objects. E.g. `TagList_value + arr_value` and `arr_value + TagList_value` both return new `TagList` objects. To maintain a `list` result, call `list()` on your `TagList` objects before combining them to other list objects. (97)

New features

* Exported `ReprHtml` protocol class. If an object has a `_repr_html_` method, then it is of instance `ReprHtml`. (86)

* Exported `is_tag_node()` and `is_tag_child()` functions that utilize `typing.TypeIs` to narrow `TagNode` and `TagChild` type variables, respectively. (86)

* Exported `consolidate_attrs(*args, **kwargs)` function. This function will combine the `TagAttrs` (supplied in `*args`) with `TagAttrValues` (supplied in `**kwargs`) into a single `TagAttrs` object. In addition, it will also return all `*args` that are not dictionary as a list of unaltered `TagChild` objects. (86)

* The `Tag` method `.add_style(style=)` added support for `HTML` objects in addition to `str` values. (86)

Bug fixes

* Fixed an issue with `HTMLTextDocument()` returning extracted `HTMLDependency()`s in a non-determistic order. (95)

0.5.3

* HTML tags in docstrings are now escaped. (90)

0.5.2

* The `HTMLDependency.copy()` method can now correctly copy folders in depenendencies that both include directories and have `all_files=True`. (87)

0.5.1

* `Tag` objects can now be used as context managers, as in `with tags.div():`. When used this way, then inside the `with` block, `sys.displayhook` is replaced with a function which adds items as children to the `Tag`. This is meant to be used with Shiny Express, Quarto, or Jupyter. (76)

* Added a function `wrap_displayhook_handler()`. This alliows displayhooks to delegate their logic for handling various kinds of objects (like `Tag` objects and objects with a `_repr_html()`) to this function. (77)

0.5.0

* Objects with a `_repr_html_` method can now appear as children of `Tag`/`TagList` objects. (74)

* Changed the type annotation of `_add_ws` from `bool` to `TagAttrValue`. This makes it easier to write functions which call `Tag` functions and pass along `**kwargs`. (67)

* Changed the type annotation of `collapse_` from `str` to `str | float | None`. This makes it easier to write calls to `css()` pass along `**kwargs`. (68)

* Enhanced the type definition of `TagAttrs` to include `TagAttrDict`, the type of a `Tag`'s `attrs` property. (55)

* For `HTMLTextDocument` objects, deduplicate HTML dependencies. (72)

* Switched from `setup.cfg` and `setup.py` to `pyproject.toml`. (73)

0.4.1

* Fixed deserialization of JSON HTML dependencies when they contained newline characters. (65)

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.