
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
[About] [What's New?] [Documentation] [Getting Started] [Next Steps] [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:
You can get started on Codespaces (with no mismatched environment issues and in under 5 minutes) [1]:
# Install Dependencies
(docker) zen@py_trees:/workspaces/py_trees$ poetry install
# Explore the demos
(docker) zen@py_trees:/workspaces/py_trees$ poetry shell
(py-trees-py3.10) (docker) zen@py_trees:/workspaces/py_trees$ 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
(py-trees-py3.10) (docker) zen@py_trees:/workspaces/py_trees$ py-trees-demo-blackboard
...
(py-trees-py3.10) (docker) zen@py_trees:/workspaces/py_trees$ exit
# Hack some Code
# Run the Formatter, Tests, Linters and Mypy
(docker) zen@py_trees:/workspaces/py_trees$ poetry run tox -l
py310 py312 format check mypy310 mypy312
(docker) zen@py_trees:/workspaces/py_trees$ poetry run tox -e format
...
(docker) zen@py_trees:/workspaces/py_trees$ poetry run tox -e py310
...
(docker) zen@py_trees:/workspaces/py_trees$ poetry run tox -e check
...
# Contribute a PR!
# https://github.com/splintered-reality/py_trees/blob/devel/CONTRIBUTING.md
[1] All of the above will, of course, work in a local environment if you have poetry
installed.
If you're using VSCode
you don't even need that, just reopen the project in the devcontainer and be froody.
On PyPi:
Examples:
Visualisation:
Robotics:
ROS2
Qt/ROS2
implementation of py_trees_js
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.3.x | 2.2.x | 2.1.x | 2.0.x | 1.2.x | |
---|---|---|---|---|---|---|
Sources | ||||||
Compatibility | ||||||
CI | - | - | - | |||
Documentation |
FAQs
pythonic implementation of behaviour trees
We found that py-trees demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.