meine
meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…
Python implementation of behaviour trees.
git clone https://github.com/splintered-reality/py_trees.gitsplintered-reality/py_trees[About] [What's New?] [Documentation] [Getting Started] [Next Steps] [Maintainers] [Acknowledgments] [Releases]
PyTrees is a Python implementation of behaviour trees designed to facilitate the rapid development of medium sized decision making engines for use in fields like robotics.
Brief feature list:
uv, added support for Python 3.14.ForEach decorator.CompareBlackboardVariables behaviour, with comparison expressions that allow callables.Released versions of PyTrees can be installed directly from:
pip install py_treesconda install conda-forge::py-treesAlternatively, you can clone the repo, install uv, and you're up and running in under 5 minutes:
# Install dependencies into a .venv
$ uv sync
# Explore the demos
$ uv run py-trees-demo-<tab>-<tab>
py-trees-demo-action-behaviour py-trees-demo-context-switching py-trees-demo-logging
py-trees-demo-behaviour-lifecycle py-trees-demo-display-modes py-trees-demo-pick-up-where-you-left-off
py-trees-demo-blackboard py-trees-demo-dot-graphs py-trees-demo-selector
py-trees-demo-blackboard-namespaces py-trees-demo-either-or py-trees-demo-sequence
py-trees-demo-blackboard-remappings py-trees-demo-eternal-guard py-trees-demo-tree-stewardship
$ uv run py-trees-demo-blackboard
...
# Hack some Code
# Run the Formatter, Linter, Type-Checker and Tests
$ uv run ruff format
$ uv run ruff check
$ uv run ty check
$ uv run pytest -s tests/
# Contribute a PR!
# https://github.com/splintered-reality/py_trees/blob/devel/CONTRIBUTING.md
See DEVELOPING.md for more detail. And be froody.
On PyPi:
Examples:
Visualisation:
Robotics:
ROS 2Qt/ROS 2 implementation of py_trees_jsContributors are welcome to add themselves here in future PRs.
2.5.x - New Ports API with XML file parsing, modernized dev environment with uv, support Python 3.14.2.4.x - New ForEach decorator, new CompareBlackboardVariables behaviour, and callables in comparison expressions.2.3.x - Support for Python 3.12 was added, and Python 3.8 was dropped.2.2.x - Selectors, Sequences with and without memory. Improved testing and style/type checking.2.1.x - Chooser deprecated. API housekeeping.2.0.x - Blackboards V2!1.2.x - Trees can now shutdown cleanly. StatusToBlackboard and EternalGuard, Visitors get finalise().1.1.x - Fixes for setup, tick-tock, viz.1.0.x - Behaviours, Decorators, Composites, Blackboards, Tree Management and Viz tools.0.y.x - First open source pre-releases.| Devel | 2.5.x | 2.4.x | 2.3.x | 2.2.x | |
|---|---|---|---|---|---|
| Sources | |||||
| Compatibility | |||||
| CI | |||||
| Documentation |
more like this
search projects, people, and tags