Node

Latest version: v1.2.1

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

Scan your dependencies

Page 1 of 6

1.2.2

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

- Nothing changed yet.

1.2.1

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

- Replace deprecated import of ``Order`` with ``MappingOrder`` in ``node.base``.
[rnix]

1.2

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

- Do not overwrite ``uuid`` in ``node.behaviors.UUIDAware.__init__`` if
``uuid`` already set.
[rnix]

- Rename ``node.interfaces.IOrder`` to ``node.interfaces.IMappingOrder``
and ``node.behaviors.Order`` to ``node.behaviors.MappingOrder``.
B/C is kept.
[rnix]

- Introduce ``node.behaviors.ISequenceOrder`` and
``node.interfaces.SequenceOrder``.
[rnix]

- Introduce ``node.interfaces.INodeOrder``. Used as base for
``node.interfaces.IMappingOrder`` and ``node.interfaces.ISequenceOrder``.
[rnix]

- Add rich comparison functions ``__lt__``, ``__le__``, ``__gt__`` and
``__ge__`` to ``node.utils.Unset``.
[rnix]

**Breaking changes**:

- Importing B/C ``Order`` behavior from ``node.behaviors.order``
not works any more. Please import from ``node.behaviors``.
[rnix]

1.1

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

- Add ``node.schema.DateTime``, ``node.schema.DateTimeSerializer`` and
``node.schema.datetime_serializer``.
[rnix]

- Subclass ``threading.local`` for
``node.behaviors.lifecycle._lifecycle_context``,
``node.behaviors.events._attribute_subscribers`` and
``node.behaviors.schema._schema_property`` objects in order to safely provide
default values.
[rnix]

- Introduce ``node.interfaces.IChildFilter``, ``node.behaviors.MappingFilter``
and ``node.behaviors.SequenceFilter``.
[rnix]

- Introduce ``node.interfaces.IWildcardFactory`` and
``node.behaviors.WildcardFactory``.
[rnix]

- Introduce ``node.interfaces.INodeInit`` and ``node.behaviors.NodeInit``.
[rnix]

- Deprecate ``IFixedChildren.fixed_children_factories`` Use
``IFixedChildren.factories`` instead.
[rnix]

- Introduce ``node.interfaces.IContentishNode`` and
``node.behaviors.ContentishNode``. Use as base for mapping and sequence nodes.
[rnix]

- ``insertbefore``, ``insertafter`` and ``swap`` in ``node.behaviors.Order``
alternatively accept node names as arguments where possible.
[rnix]

- ``insertbefore``, ``insertafter``, and ``insertfirst`` and ``insertlast`` in
``node.behaviors.Order`` internally use ``movebefore``, ``moveafter``,
``movefirst`` and ``movelast`` of ``odict`` to avoid modifying the data
structure before ``__setitem__`` gets called.
[rnix]

- Extend ``node.interfaces.IOrder`` respective ``node.behaviors.Order``
by ``movebefore``, ``moveafter``, ``movefirst`` and ``movelast``.
[rnix]

- Reset ``__parent__`` in ``node.behaviors.Node.detach``. Node is no longer
contained in tree.
[rnix]

- Introduce ``IndexViolationError`` which inherits from ``ValueError`` and
raise it in reference related behaviors instead of ``ValueError`` where
appropriate.
[rnix]

- Introduce ``node.interfaces.INodeReference`` and
``node.behaviors.NodeReference``.
[rnix]

- Introduce ``node.interfaces.ISequenceReference`` and
``node.behaviors.SequenceReference``.
[rnix]

- Rename ``node.interfaces.IReference`` to ``node.interfaces.IMappingReference``
and ``node.behaviors.Reference`` to ``node.behaviors.MappingReference``.
B/C is kept.
[rnix]

**Breaking changes**:

- Remove ``_notify_suppress`` flag from ``Lifecycle`` behavior. Introduce
``suppress_lifecycle_events`` contextmanager as substitute.
[rnix]

- Importing ``ChildFactory`` and ``FixedChildren`` from
``node.behaviors.common`` not works any more. Please import from
``node.behaviors``.
[rnix]

- Importing B/C ``Reference`` behavior from ``node.behaviors.reference``
not works any more. Please import from ``node.behaviors``.
[rnix]

1.0

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

- Implement ``__copy__`` and ``__deepcopy__`` on ``node.utils.UNSET``.
[rnix]

- Introduce ``node.interfaces.ISequenceConstraints`` and
``node.behaviors.SequenceConstraints``.
[rnix]

- Rename ``node.interfaces.INodeChildValidate`` to
``node.interfaces.IMappingConstraints`` and
``node.behaviors.NodeChildValidate`` to ``node.behaviors.MappingConstraints``.
``MappingConstraints`` implementation moved from ``node.behaviors.common`` to
``node.behaviors.constraints``. B/C is kept.
[rnix]

- Introduce ``node.interfaces.ISequenceAdopt`` and
``node.behaviors.SequenceAdopt``.
[rnix]

- ``MappingAdopt`` now catches all exceptions instead of only
``AttributeError``, ``KeyError`` and ``ValueError``.
[rnix]

- Rename ``node.interfaces.IAdopt`` to ``node.interfaces.IMappingAdopt`` and
``node.behaviors.Adopt`` to ``node.behaviors.MappingAdopt``. ``MappingAdopt``
implementation moved from ``node.behaviors.common`` to
``node.behaviors.adopt``. B/C is kept.
[rnix]

- ``node.behaviors.Attributes`` now also works if
``node.behaviors.Nodespaces`` is not applied.
[rnix]

- Introduce ``node.behaviors.Node`` which implements only
``node.interfaces.INode`` contract. It is used as base for
``node.behaviors.MappingNode`` and ``node.behaviors.SequcneNode``.
[rnix]

- Do not inherit ``node.interfaces.INode`` from
``zope.interfaces.common.mapping.IFullMapping`` any more. Data model specific
interfaces are added now via ``node.interfaces.IMappingNode`` and
``node.interfaces.ISequenceNode``.
[rnix]

- Introduce sequence nodes. Sequence nodes are implemented via
``node.behaviors.SequcneNode`` and ``node.behaviors.ListStorage``.
[rnix]

- Rename ``node.interfaces.INodify`` to ``node.interfaces.IMappingNode`` and
``node.behaviors.Nodify`` to ``node.behaviors.MappingNode``. ``MappingNode``
implementation moved from ``node.behaviors.nodify`` to
``node.behaviors.mapping``. B/C is kept.
[rnix]

- Rename ``node.interfaces.IStorage`` to ``node.interfaces.IMappingStorage``
and ``node.behaviors.Storage`` to ``node.behaviors.Storage``. B/C is kept.
[rnix]

- Add key and value type validation to schema fields where appropriate.
[rnix]

- Introduce serializer support to schema fields. Add a couple of concrete field
serializer implementations to ``node.schema.serializer``.
[rnix]

- Add ``ODict`` and ``Node`` schema fields to ``node.schema.fields``.
[rnix]

- Add ``node.schema.fields.IterableField`` and use as base class for
``List``, ``Tuple`` and ``Set`` schema fields.

- Introduce ``node.behaviors.schema.SchemaProperties`` plumbing behavior.
[rnix]

- Split up ``node.schema`` module into a package.
[rnix]

- Introduce ``node.behaviors.context.BoundContext`` plumbing behavior.
[rnix]

**Breaking changes**:

- Remove ``node.behaviors.GetattrChildren``. See ``node.utils.AttributeAccess``
instead if you need to access node children via ``__getattr__``.
[rnix]

- Importing B/C ``Adopt`` behavior from ``node.behaviors.common``
not works any more. Please import from ``node.behaviors``.
[rnix]

- Importing B/C ``NodeChildValidate`` behavior from ``node.behaviors.common``
not works any more. Please import from ``node.behaviors``.
[rnix]

- Importing B/C ``Nodify`` behavior from ``node.behaviors.nodify``
not works any more. Please import from ``node.behaviors``.
[rnix]

- Remove deprecated B/C import location ``node.parts``.
[rnix]

- ``node.behaviors.schema.Schema`` no longer considers wildcard fields.
[rnix]

- ``node.behaviors.schema.Schema.__setitem__`` deletes value from related
storage for field if value is ``node.utils.UNSET``.
[rnix]

- ``node.behaviors.schema.Schema.__getitem__`` always returns default value for
field instead of raising ``KeyError`` if no default is set.
[rnix]

- Default value of ``node.schema.fields.Field.default`` is ``node.utils.UNSET``
now.
[rnix]

- ``node.schema.fields.Field.validate`` raises exception if validation fails
instead of returning boolean.
[rnix]

0.9.28

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

- Add missing ``node.interfaces.INodeAttributes`` interface.
[rnix]

- Add missing ``attribute_access_for_attrs`` attribute to ``IAttributes``
interface.
[rnix]

- Rename ``node.behaviors.common.NodeChildValidate.allow_non_node_childs``
to ``allow_non_node_children``. A Deprecation warning is printed if the
old attribute is used.
[rnix]

- Introduce ``node.behaviors.schema.Schema``,
``node.behaviors.schema.SchemaAsAttributes`` and related schema definitions
in ``node.schema``.
[rnix]

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.