Py-trees

Latest version: v2.2.3

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

Scan your dependencies

Page 5 of 13

2.0.2

------------------
* [trees] on-demand snapshot stream services, similar to blackboard streams, `135 <https://github.com/splintered-reality/py_trees_ros/pull/135>`_, `#136 <https://github.com/splintered-reality/py_trees_ros/pull/136>`_

2.0.1

------------------
* [blackboard] static methods have a namespace too (root), use absolute names, `261 <https://github.com/splintered-reality/py_trees/pull/261>`_
* [blackboard] do not register keys on the client when xclusive write aborts the process, `261 <https://github.com/splintered-reality/py_trees/pull/261>`_

2.0.x (2019-11-15) - Blackboards v2!
------------------------------------

The `2.0.x` release wraps up the experimental blackboard improvements being rolled out
in `1.3.x` and `1.4.x`. At this point, the changes to the blackboard framework are so
extensive it makes sense to release it with a major version bump and to consider the
`1.2.x` release as the official goto release for the `1.x.y` series.

**New Features**

* [blackboard] exclusive write access, `260 <https://github.com/splintered-reality/py_trees/pull/260>`_
* [blackboard] key remappings, `259 <https://github.com/splintered-reality/py_trees/pull/259>`_
* [blackboard] formalise namespaces with separators, `256 <https://github.com/splintered-reality/py_trees/pull/256>`_
* [blackboard] distinguish primitives vs nested for refined read activity detection, `255 <https://github.com/splintered-reality/py_trees/pull/255>`_

See the 1.3.x and 1.4.x changelog notes for additional details.

1.4.x (2019-11-07)
------------------

**Breaking API**

* [blackboard] fixed read/write ambiguity, now use ``py_trees.common.Access``, `250 <https://github.com/splintered-reality/py_trees/pull/250>`_

.. code-block:: python

Previously
self.blackboard.register_key(key="foo", write=True)
Now
self.blackboard.register_key(key="foo", access=py_trees.common.Access.WRITE)

* [blackboard] drop ``SubBlackboard``, it has problems, `249 <https://github.com/splintered-reality/py_trees/pull/249>`_

**New Features**

* [blackboard] namespaced blackboard clients, `250 <https://github.com/splintered-reality/py_trees/pull/250>`_

.. code-block:: python

Previously, a single blackboard client exists per behaviour
Now, no blackboard client on construction, instead attach on demand:
self.blackboard = self.attach_blackboard_client(name="Foo")
self.parameters = self.attach_blackboard_client(
name="FooParams",
namespace="parameters_foo_"
)
self.state = self.attach_blackboard_client(
name="FooState",
namespace="state_foo_"
)
create a local key 'speed' that maps to 'state_foo_speed' on the blackboard
self.state.register_key(key="speed", access=py_trees.common.Access.WRITE)
self.state.speed = 30.0

* [blackboard] required keys and batch verification method, `254 <https://github.com/splintered-reality/py_trees/pull/254>`_

.. code-block:: python

self.blackboard = self.attach_blackboard_client(name="Foo")
self.blackboard.register_key(name="foo", access=py_trees.common.Access.READ, required=True)
...
self.verify_required_keys_exist() KeyError if any required keys do not yet exist on the blackboard

* [visitors] ``SnapshotVisitor`` tracking blackboards on the visited path, `250 <https://github.com/splintered-reality/py_trees/pull/250>`_

.. code-block:: python

Previously tangled in DisplaySnapshotVisitor:
display_snapshot_visitor.visited.keys() blackboard client uuid's (also behaviour uuid's), typing.Set[uuid.UUID]
display_snapshot_visitor.visited_keys blackboard keys, typing.Set[str]
Now in SnapshotVisitor:
snapshot_visitor.visited_blackboard_client_ids typing.Set[uuid.UUID]
snapshot_visitor.visited_blackboard_keys typing.Set[str]

2.0.0

------------------
* [blackboards] updated pretty printing to differentiate namespace vs attribute access, `123 <https://github.com/splintered-reality/py_trees_ros/pull/123>`_
* [blackboards] api updates for namespaced clients, `122 <https://github.com/splintered-reality/py_trees_ros/pull/122>`_,
* [tests] migrated tests from unittest to pytest
* [transforms] behaviours for writing to and broadcasting from the blackboard, `121 <https://github.com/splintered-reality/py_trees_ros/pull/121>`_
* [transforms] add missing mocks and update to latest blackboard api, `125 <https://github.com/splintered-reality/py_trees_ros/pull/125>`_

1.3.3

------------------
* [blackboard] client ``Blackboard.unregister_key()`` method

1.3.2

------------------
* [blackboard] global ``Blackboard.clear()`` method

1.3.1

------------------
* [blackboard] don't do any copying, just pass handles around, `239 <https://github.com/splintered-reality/py_trees/pull/239>`_
* [blackboard] client ``exists()`` method, `238 <https://github.com/splintered-reality/py_trees/pull/238>`_
* [blackboard] global ``Blackboard.set()`` method
* [blackboard] client ``Blackboard.unset()`` method, `239 <https://github.com/splintered-reality/py_trees/pull/239>`_

1.3.x (2019-10-03)
------------------

**Breaking API**

* [decorators] updated ``EternalGuard`` to accommodate new blackboard variable tracking mechanisms
* [behaviours] blackboard behaviours decoupled - ``CheckBlackboardVariableExists``, ``WaitForBlackboardVariable``
* [behaviours] blackboard behaviours decoupled - ``CheckBlackboardVariableValue``, ``WaitForBlackboardVariableValue``
* [behaviours] blackboard behaviours dropped use of the largely redundant ``ClearingPolicy``
* [visitors] collapsed ``SnapshotVisitor`` and ``WindsOfChangeVisitor`` functionality, `228 <https://github.com/splintered-reality/py_trees/pull/228>`_

**New Features**

* [blackboard] read/write access configuration for clients on blackboard keys
* [blackboard] log the activity on the blackboard
* [display] dot graphs now have an option to display blackboard variables
* [display] unicode to console the entire blackboard key-value store
* [display] unicode to console the blackboard activity stream
* [visitors] new ``DisplaySnapshotVisitor`` to simplify collection/printing the tree to console, `228 <https://github.com/splintered-reality/py_trees/pull/228>`_

**Bugfixes**

* [infra] only require test html reports on circle ci builds (saves a dependency requirement), `229 <https://github.com/splintered-reality/py_trees/pull/229>`_

Page 5 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.