├── .devcontainer ├── Dockerfile ├── README.md ├── devcontainer.json └── py312 │ └── .devcontainer │ └── devcontainer.json ├── .github └── workflows │ ├── pre-merge.yaml │ ├── push_poetry_container.yaml │ └── update-poetry-cache.yaml ├── .gitignore ├── .readthedocs.yaml ├── .vscode ├── extensions.json └── settings.json ├── CHANGELOG.rst ├── CONTRIBUTING.md ├── DEVELOPING.md ├── LICENSE ├── Makefile ├── README.md ├── docs ├── .gitignore ├── Makefile ├── behaviours.rst ├── blackboards.rst ├── changelog.rst ├── composites.rst ├── conf.py ├── decorators.rst ├── demos.rst ├── dot │ ├── blackboard-with-variables.dot │ ├── composites.dot │ ├── decorators.dot │ ├── demo-blackboard.dot │ ├── demo-context_switching.dot │ ├── demo-dot-graphs.dot │ ├── demo-either-or.dot │ ├── demo-eternal-guard.dot │ ├── demo-logging.dot │ ├── demo-selector.dot │ ├── demo-sequence.dot │ ├── demo-tree-stewardship.dot │ ├── demo_tree.dot │ ├── idiom-either-or.dot │ ├── naive_context_switching.dot │ ├── oneshot.dot │ ├── parallel.dot │ ├── pick_up_where_you_left_off.dot │ ├── selector.dot │ ├── selector_with_memory.dot │ ├── sequence.dot │ └── sequence_with_memory.dot ├── examples │ ├── blackboard_activity_stream.py │ ├── blackboard_behaviour.py │ ├── blackboard_disconnected.py │ ├── blackboard_display.py │ ├── blackboard_namespaces.py │ ├── blackboard_nested.py │ ├── blackboard_read_write.py │ ├── decorators.py │ ├── oneshot.py │ ├── parallel.py │ ├── pickup_where_you_left_off.py │ ├── selector.py │ ├── selector_with_memory.py │ ├── sequence.py │ ├── sequence_with_memory.py │ ├── skeleton_behaviour.py │ └── skeleton_tree.py ├── faq.rst ├── idioms.rst ├── images │ ├── action.gif │ ├── ascii_tree.png │ ├── ascii_tree_simple.png │ ├── blackboard.jpg │ ├── blackboard_activity_stream.png │ ├── blackboard_client_instantiation.png │ ├── blackboard_demo.png │ ├── blackboard_display.png │ ├── blackboard_namespaces.png │ ├── blackboard_nested.png │ ├── blackboard_read_write.png │ ├── blackboard_remappings.png │ ├── blackboard_trees.png │ ├── context_switching.gif │ ├── crazy_hospital.jpg │ ├── display_modes.png │ ├── either_or.gif │ ├── eternal_guard.gif │ ├── lifecycle.gif │ ├── logging.gif │ ├── many-hats.png │ ├── pick_up_where_you_left_off.gif │ ├── render.gif │ ├── selector.gif │ ├── sequence.gif │ ├── ticking_tree.jpg │ ├── tree_stewardship.gif │ └── yggdrasil.jpg ├── index.rst ├── introduction.rst ├── modules.rst ├── programs.rst ├── requirements.txt ├── terminology.rst ├── the_crazy_hospital.rst ├── trees.rst ├── visualisation.rst └── weblinks.rst ├── package.xml ├── poetry.lock ├── py_trees ├── __init__.py ├── behaviour.py ├── behaviours.py ├── blackboard.py ├── common.py ├── composites.py ├── console.py ├── decorators.py ├── demos │ ├── README.md │ ├── __init__.py │ ├── action.py │ ├── blackboard.py │ ├── blackboard_namespaces.py │ ├── blackboard_remappings.py │ ├── context_switching.py │ ├── display_modes.py │ ├── dot_graphs.py │ ├── either_or.py │ ├── eternal_guard.py │ ├── lifecycle.py │ ├── logging.py │ ├── pick_up_where_you_left_off.py │ ├── selector.py │ ├── sequence.py │ └── stewardship.py ├── display.py ├── idioms.py ├── logging.py ├── meta.py ├── programs │ ├── __init__.py │ └── render.py ├── py.typed ├── syntax_highlighting.py ├── tests.py ├── timers.py ├── trees.py ├── utilities.py ├── version.py └── visitors.py ├── pyproject.toml ├── setup.py ├── tests ├── README.md ├── __init__.py ├── benchmark_blackboard.py ├── profile_blackboard ├── test_blackboard.py ├── test_blackboard_behaviours.py ├── test_composites.py ├── test_console.py ├── test_decorators.py ├── test_display.py ├── test_either_or.py ├── test_eternal_guard.py ├── test_meta.py ├── test_oneshot.py ├── test_parallels.py ├── test_pickup.py ├── test_probabilistic_behaviour.py ├── test_selectors.py ├── test_sequences.py ├── test_timer.py ├── test_tip.py ├── test_tree.py ├── test_utilities.py └── test_visitors.py └── tox.ini /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.devcontainer/Dockerfile -------------------------------------------------------------------------------- /.devcontainer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.devcontainer/README.md -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/py312/.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.devcontainer/py312/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.github/workflows/pre-merge.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.github/workflows/pre-merge.yaml -------------------------------------------------------------------------------- /.github/workflows/push_poetry_container.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.github/workflows/push_poetry_container.yaml -------------------------------------------------------------------------------- /.github/workflows/update-poetry-cache.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.github/workflows/update-poetry-cache.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.gitignore -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.readthedocs.yaml -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CHANGELOG.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/CHANGELOG.rst -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /DEVELOPING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/DEVELOPING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/README.md -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | doctrees 2 | html 3 | manifest.yaml 4 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/behaviours.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/behaviours.rst -------------------------------------------------------------------------------- /docs/blackboards.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/blackboards.rst -------------------------------------------------------------------------------- /docs/changelog.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../CHANGELOG.rst 2 | -------------------------------------------------------------------------------- /docs/composites.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/composites.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/decorators.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/decorators.rst -------------------------------------------------------------------------------- /docs/demos.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/demos.rst -------------------------------------------------------------------------------- /docs/dot/blackboard-with-variables.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/blackboard-with-variables.dot -------------------------------------------------------------------------------- /docs/dot/composites.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/composites.dot -------------------------------------------------------------------------------- /docs/dot/decorators.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/decorators.dot -------------------------------------------------------------------------------- /docs/dot/demo-blackboard.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-blackboard.dot -------------------------------------------------------------------------------- /docs/dot/demo-context_switching.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-context_switching.dot -------------------------------------------------------------------------------- /docs/dot/demo-dot-graphs.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-dot-graphs.dot -------------------------------------------------------------------------------- /docs/dot/demo-either-or.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-either-or.dot -------------------------------------------------------------------------------- /docs/dot/demo-eternal-guard.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-eternal-guard.dot -------------------------------------------------------------------------------- /docs/dot/demo-logging.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-logging.dot -------------------------------------------------------------------------------- /docs/dot/demo-selector.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-selector.dot -------------------------------------------------------------------------------- /docs/dot/demo-sequence.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-sequence.dot -------------------------------------------------------------------------------- /docs/dot/demo-tree-stewardship.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo-tree-stewardship.dot -------------------------------------------------------------------------------- /docs/dot/demo_tree.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/demo_tree.dot -------------------------------------------------------------------------------- /docs/dot/idiom-either-or.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/idiom-either-or.dot -------------------------------------------------------------------------------- /docs/dot/naive_context_switching.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/naive_context_switching.dot -------------------------------------------------------------------------------- /docs/dot/oneshot.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/oneshot.dot -------------------------------------------------------------------------------- /docs/dot/parallel.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/parallel.dot -------------------------------------------------------------------------------- /docs/dot/pick_up_where_you_left_off.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/pick_up_where_you_left_off.dot -------------------------------------------------------------------------------- /docs/dot/selector.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/selector.dot -------------------------------------------------------------------------------- /docs/dot/selector_with_memory.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/selector_with_memory.dot -------------------------------------------------------------------------------- /docs/dot/sequence.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/sequence.dot -------------------------------------------------------------------------------- /docs/dot/sequence_with_memory.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/dot/sequence_with_memory.dot -------------------------------------------------------------------------------- /docs/examples/blackboard_activity_stream.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/blackboard_activity_stream.py -------------------------------------------------------------------------------- /docs/examples/blackboard_behaviour.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/blackboard_behaviour.py -------------------------------------------------------------------------------- /docs/examples/blackboard_disconnected.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/blackboard_disconnected.py -------------------------------------------------------------------------------- /docs/examples/blackboard_display.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/blackboard_display.py -------------------------------------------------------------------------------- /docs/examples/blackboard_namespaces.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/blackboard_namespaces.py -------------------------------------------------------------------------------- /docs/examples/blackboard_nested.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/blackboard_nested.py -------------------------------------------------------------------------------- /docs/examples/blackboard_read_write.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/blackboard_read_write.py -------------------------------------------------------------------------------- /docs/examples/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/decorators.py -------------------------------------------------------------------------------- /docs/examples/oneshot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/oneshot.py -------------------------------------------------------------------------------- /docs/examples/parallel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/parallel.py -------------------------------------------------------------------------------- /docs/examples/pickup_where_you_left_off.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/pickup_where_you_left_off.py -------------------------------------------------------------------------------- /docs/examples/selector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/selector.py -------------------------------------------------------------------------------- /docs/examples/selector_with_memory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/selector_with_memory.py -------------------------------------------------------------------------------- /docs/examples/sequence.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/sequence.py -------------------------------------------------------------------------------- /docs/examples/sequence_with_memory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/sequence_with_memory.py -------------------------------------------------------------------------------- /docs/examples/skeleton_behaviour.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/skeleton_behaviour.py -------------------------------------------------------------------------------- /docs/examples/skeleton_tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/examples/skeleton_tree.py -------------------------------------------------------------------------------- /docs/faq.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/faq.rst -------------------------------------------------------------------------------- /docs/idioms.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/idioms.rst -------------------------------------------------------------------------------- /docs/images/action.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/action.gif -------------------------------------------------------------------------------- /docs/images/ascii_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/ascii_tree.png -------------------------------------------------------------------------------- /docs/images/ascii_tree_simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/ascii_tree_simple.png -------------------------------------------------------------------------------- /docs/images/blackboard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard.jpg -------------------------------------------------------------------------------- /docs/images/blackboard_activity_stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_activity_stream.png -------------------------------------------------------------------------------- /docs/images/blackboard_client_instantiation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_client_instantiation.png -------------------------------------------------------------------------------- /docs/images/blackboard_demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_demo.png -------------------------------------------------------------------------------- /docs/images/blackboard_display.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_display.png -------------------------------------------------------------------------------- /docs/images/blackboard_namespaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_namespaces.png -------------------------------------------------------------------------------- /docs/images/blackboard_nested.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_nested.png -------------------------------------------------------------------------------- /docs/images/blackboard_read_write.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_read_write.png -------------------------------------------------------------------------------- /docs/images/blackboard_remappings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_remappings.png -------------------------------------------------------------------------------- /docs/images/blackboard_trees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/blackboard_trees.png -------------------------------------------------------------------------------- /docs/images/context_switching.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/context_switching.gif -------------------------------------------------------------------------------- /docs/images/crazy_hospital.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/crazy_hospital.jpg -------------------------------------------------------------------------------- /docs/images/display_modes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/display_modes.png -------------------------------------------------------------------------------- /docs/images/either_or.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/either_or.gif -------------------------------------------------------------------------------- /docs/images/eternal_guard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/eternal_guard.gif -------------------------------------------------------------------------------- /docs/images/lifecycle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/lifecycle.gif -------------------------------------------------------------------------------- /docs/images/logging.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/logging.gif -------------------------------------------------------------------------------- /docs/images/many-hats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/many-hats.png -------------------------------------------------------------------------------- /docs/images/pick_up_where_you_left_off.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/pick_up_where_you_left_off.gif -------------------------------------------------------------------------------- /docs/images/render.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/render.gif -------------------------------------------------------------------------------- /docs/images/selector.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/selector.gif -------------------------------------------------------------------------------- /docs/images/sequence.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/sequence.gif -------------------------------------------------------------------------------- /docs/images/ticking_tree.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/ticking_tree.jpg -------------------------------------------------------------------------------- /docs/images/tree_stewardship.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/tree_stewardship.gif -------------------------------------------------------------------------------- /docs/images/yggdrasil.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/images/yggdrasil.jpg -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/introduction.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/introduction.rst -------------------------------------------------------------------------------- /docs/modules.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/modules.rst -------------------------------------------------------------------------------- /docs/programs.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/programs.rst -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/terminology.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/terminology.rst -------------------------------------------------------------------------------- /docs/the_crazy_hospital.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/the_crazy_hospital.rst -------------------------------------------------------------------------------- /docs/trees.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/trees.rst -------------------------------------------------------------------------------- /docs/visualisation.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/visualisation.rst -------------------------------------------------------------------------------- /docs/weblinks.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/docs/weblinks.rst -------------------------------------------------------------------------------- /package.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/package.xml -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/poetry.lock -------------------------------------------------------------------------------- /py_trees/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/__init__.py -------------------------------------------------------------------------------- /py_trees/behaviour.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/behaviour.py -------------------------------------------------------------------------------- /py_trees/behaviours.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/behaviours.py -------------------------------------------------------------------------------- /py_trees/blackboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/blackboard.py -------------------------------------------------------------------------------- /py_trees/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/common.py -------------------------------------------------------------------------------- /py_trees/composites.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/composites.py -------------------------------------------------------------------------------- /py_trees/console.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/console.py -------------------------------------------------------------------------------- /py_trees/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/decorators.py -------------------------------------------------------------------------------- /py_trees/demos/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/README.md -------------------------------------------------------------------------------- /py_trees/demos/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/__init__.py -------------------------------------------------------------------------------- /py_trees/demos/action.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/action.py -------------------------------------------------------------------------------- /py_trees/demos/blackboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/blackboard.py -------------------------------------------------------------------------------- /py_trees/demos/blackboard_namespaces.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/blackboard_namespaces.py -------------------------------------------------------------------------------- /py_trees/demos/blackboard_remappings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/blackboard_remappings.py -------------------------------------------------------------------------------- /py_trees/demos/context_switching.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/context_switching.py -------------------------------------------------------------------------------- /py_trees/demos/display_modes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/display_modes.py -------------------------------------------------------------------------------- /py_trees/demos/dot_graphs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/dot_graphs.py -------------------------------------------------------------------------------- /py_trees/demos/either_or.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/either_or.py -------------------------------------------------------------------------------- /py_trees/demos/eternal_guard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/eternal_guard.py -------------------------------------------------------------------------------- /py_trees/demos/lifecycle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/lifecycle.py -------------------------------------------------------------------------------- /py_trees/demos/logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/logging.py -------------------------------------------------------------------------------- /py_trees/demos/pick_up_where_you_left_off.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/pick_up_where_you_left_off.py -------------------------------------------------------------------------------- /py_trees/demos/selector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/selector.py -------------------------------------------------------------------------------- /py_trees/demos/sequence.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/sequence.py -------------------------------------------------------------------------------- /py_trees/demos/stewardship.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/demos/stewardship.py -------------------------------------------------------------------------------- /py_trees/display.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/display.py -------------------------------------------------------------------------------- /py_trees/idioms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/idioms.py -------------------------------------------------------------------------------- /py_trees/logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/logging.py -------------------------------------------------------------------------------- /py_trees/meta.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/meta.py -------------------------------------------------------------------------------- /py_trees/programs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/programs/__init__.py -------------------------------------------------------------------------------- /py_trees/programs/render.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/programs/render.py -------------------------------------------------------------------------------- /py_trees/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /py_trees/syntax_highlighting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/syntax_highlighting.py -------------------------------------------------------------------------------- /py_trees/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/tests.py -------------------------------------------------------------------------------- /py_trees/timers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/timers.py -------------------------------------------------------------------------------- /py_trees/trees.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/trees.py -------------------------------------------------------------------------------- /py_trees/utilities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/utilities.py -------------------------------------------------------------------------------- /py_trees/version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/version.py -------------------------------------------------------------------------------- /py_trees/visitors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/py_trees/visitors.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/pyproject.toml -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/setup.py -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/README.md -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/benchmark_blackboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/benchmark_blackboard.py -------------------------------------------------------------------------------- /tests/profile_blackboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/profile_blackboard -------------------------------------------------------------------------------- /tests/test_blackboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_blackboard.py -------------------------------------------------------------------------------- /tests/test_blackboard_behaviours.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_blackboard_behaviours.py -------------------------------------------------------------------------------- /tests/test_composites.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_composites.py -------------------------------------------------------------------------------- /tests/test_console.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_console.py -------------------------------------------------------------------------------- /tests/test_decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_decorators.py -------------------------------------------------------------------------------- /tests/test_display.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_display.py -------------------------------------------------------------------------------- /tests/test_either_or.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_either_or.py -------------------------------------------------------------------------------- /tests/test_eternal_guard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_eternal_guard.py -------------------------------------------------------------------------------- /tests/test_meta.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_meta.py -------------------------------------------------------------------------------- /tests/test_oneshot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_oneshot.py -------------------------------------------------------------------------------- /tests/test_parallels.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_parallels.py -------------------------------------------------------------------------------- /tests/test_pickup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_pickup.py -------------------------------------------------------------------------------- /tests/test_probabilistic_behaviour.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_probabilistic_behaviour.py -------------------------------------------------------------------------------- /tests/test_selectors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_selectors.py -------------------------------------------------------------------------------- /tests/test_sequences.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_sequences.py -------------------------------------------------------------------------------- /tests/test_timer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_timer.py -------------------------------------------------------------------------------- /tests/test_tip.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_tip.py -------------------------------------------------------------------------------- /tests/test_tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_tree.py -------------------------------------------------------------------------------- /tests/test_utilities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_utilities.py -------------------------------------------------------------------------------- /tests/test_visitors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tests/test_visitors.py -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/splintered-reality/py_trees/HEAD/tox.ini --------------------------------------------------------------------------------