wandelbots-nova 2.8.2__tar.gz → 2.8.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/PKG-INFO +3 -2
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/program/runner.py +7 -11
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/pyproject.toml +4 -2
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/runner.py +0 -6
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_builtins.py +3 -3
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_examples.py +7 -3
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_motion.py +6 -21
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_run_twice.py +4 -2
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_runner.py +19 -13
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_runtime.py +16 -3
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/utils/pose.py +1 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/.gitignore +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/LICENSE +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/actions/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/actions/base.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/actions/container.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/actions/io.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/actions/mock.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/actions/motions.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/actions/trajectory_builder.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/api.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/auth/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/auth/auth_config.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/auth/authorization.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/cell/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/cell/cell.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/cell/controllers.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/cell/robot_cell.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/cell/simulation.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/controller.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/env_handler.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/exceptions.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/gateway.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/io.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/logging.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/motion_group.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/movement_controller.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/core/nova.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/events/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/events/nats.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/extentions/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/extentions/opcua/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/extentions/opcua/client.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/extentions/opcua/functions.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/program/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/program/exceptions.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/program/function.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/program/store.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/program/utils.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/types/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/types/collision_scene.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/types/motion_settings.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/types/pose.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/types/state.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/types/vector3d.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/utils.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/version.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/viewers/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/viewers/base.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/viewers/manager.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/viewers/protocol.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/viewers/rerun.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova/viewers/utils.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/LICENSE +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/benchmark_base.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/demo_set.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/mb_set.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/mpinets_set.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/datasets.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/log_successful_planning.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/robometrics_helper.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/run_collision_free_benchmark.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/run_collision_free_magma.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/run_ptp_benchmark.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/blueprint.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/collision_scene.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/colors.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/consts.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/conversion_helpers.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/dh_robot.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/Welding_Benchmark_USA_01.stl +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/bin_everything_05.ply +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/colliders.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/source.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/tool.stl +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/yaskawa_ar1440_rif_with_safety_zones.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/collison_world.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/import_ply.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/reachability_check.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/robocore.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/stream_robot.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/use_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/visualize_tool.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/wait_action.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/welding_example.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/yaskawa-ar1440-16-mounting.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/yaskawa-ar1440-with-external-axis.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/helper_scripts/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/helper_scripts/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/helper_scripts/code_server_helpers.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/helper_scripts/download_models.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/helper_scripts/plan_with_collisions.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/hull_visualizer.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/minimal_example/.gitignore +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/minimal_example/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/minimal_example/main.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/minimal_example/poetry.toml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/minimal_example/pyproject.toml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/minimal_example/ruff.toml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/minimal_example/uv.lock +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/motion_recorder.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/motion_storage.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/.dockerignore +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/.nova +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/Dockerfile +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/app.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/build.sh +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/data/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/deployment.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/ingress.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/kustomization.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/namespace.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/nginx.conf +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/nginx.http.conf.template +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/skaffold.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/start.sh +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/nova_rerun_bridge_app/static/app_icon.png +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/polling/populate.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/.dockerignore +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/.nova +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/Dockerfile +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/app.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/build.sh +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/k8s/deployment.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/k8s/ingress.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/k8s/kustomization.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/k8s/namespace.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/nginx.conf +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/nginx.http.conf.template +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/skaffold.yaml +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/start.sh +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/rerun_app/static/app_icon.png +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/robot_visualizer.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/safety_zones.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/stream_state.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/trajectory.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/novax/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/novax/api/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/novax/api/dependencies.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/novax/api/programs.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/novax/novax.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/novax/program_manager.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/nova_rerun_bridge/test_blueprint.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/nova_rerun_bridge/test_log_motion.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/nova_rerun_bridge/test_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/nova_rerun_bridge/test_trajectory.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/novax/api/test_programs.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/novax/conftest.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/novax/serve.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/novax/test_novax.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/tests/novax/test_program_manager.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/CHANGELOG.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/README.md +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/__main__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/antlrvisitor.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/array.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/assoc.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/controller.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/fetch.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/fs.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/math.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/pose.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/string.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins/wait.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/builtins.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/cli.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/datatypes.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/and_or.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/and_or.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/array.config +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/array.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/array.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/assignment.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/assignment.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/async_write.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/async_write.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/blending.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/blending.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/bool_negation.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/bool_negation.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/builtins.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/builtins.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/comments.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/comments.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/context.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/context.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/controller.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/controller.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/controller.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/coordinate_systems.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/coordinate_systems.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/default.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/default.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/default.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/edge_pattern.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/edge_pattern.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/edge_pattern_line.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/edge_pattern_line.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/edge_pattern_manhattan.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/edge_pattern_manhattan.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/empty.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/empty.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/expressions.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/expressions.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/fetch.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/fetch.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/find_edge_from_4_poses.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/find_edge_from_4_poses.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/frame.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/frame.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/frame2.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/frame2.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/frame3.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/frame3.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/frame3.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/function.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/function.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/functional_pose.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/functional_pose.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/get_pose.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/get_pose.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/ifelse.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/ifelse.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/interpolation.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/interpolation.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/interrupt.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/interrupt.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/io.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/io.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/loops.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/loops.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/move.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/move.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/move_via_expression.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/move_via_expression.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/move_with_velocity.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/move_with_velocity.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots2.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots2.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots2.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots3.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots3.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/multiple_robots3.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/not.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/not.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/operator_precedence.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/operator_precedence.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/pose.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/pose.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/poses2.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/poses2.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/print.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/print.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/record.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/record.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/scope.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/scope.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/spline.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/spline.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/switch.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/switch.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/tcps.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/tcps.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/tcps.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/tower_of_hanoi.cell.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/tower_of_hanoi.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/tower_of_hanoi.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/try.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/try.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/vision_move.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/vision_move.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wait.config +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wait.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wait.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wandelchat2.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wandelchat2.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wandelchat3.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wandelchat3.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/whitespaces.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/whitespaces.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wp393.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wp393.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wp469.json +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples/wp469.ws +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/examples.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/exception.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/ffi.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/ffi_loader.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/frames.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/WandelscriptLexerBase.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptLexer.g4 +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptLexer.interp +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptLexer.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptLexer.tokens +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptParser.g4 +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptParser.interp +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptParser.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptParser.tokens +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptParserListener.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/grammar/wandelscriptParserVisitor.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/metamodel.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/migration.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/models.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/motions.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/operators.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/runtime.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/scripts/generate_parser.sh +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_executor.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_ffi.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_migration.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_move.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_multirobot.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_parser.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_programs.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_simulation.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_stepwise.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_store.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_two_step_execution.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/tests/test_types.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/utils/__init__.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/utils/runtime.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/utils/serializer.py +0 -0
- {wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/wandelscript/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wandelbots-nova
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.4
|
|
4
4
|
Summary: Official Python SDK for the Wandelbots Nova
|
|
5
5
|
Author: Wandelbots GmbH
|
|
6
6
|
Author-email: Christoph Biering <christoph.biering@wandelbots.com>, Mahsum Demir <mahsum.demir@wandelbots.com>, Dirk Sonnemann <dirk.sonnemann@wandelbots.com>, Andreas Langenhagen <andreas.langenhagen@wandelbots.com>, Stefan Wagner <stefan.wagner@wandelbots.com>, André Kühnert <andre.kuhnert@wandelbots.com>
|
|
@@ -42,7 +42,8 @@ Requires-Dist: aiostream<0.7,>=0.6.1; extra == 'wandelscript'
|
|
|
42
42
|
Requires-Dist: antlr4-python3-runtime==4.13.1; extra == 'wandelscript'
|
|
43
43
|
Requires-Dist: dotenv; extra == 'wandelscript'
|
|
44
44
|
Requires-Dist: geometricalgebra<0.2,>=0.1.3; extra == 'wandelscript'
|
|
45
|
-
Requires-Dist:
|
|
45
|
+
Requires-Dist: numpy>=1.1.19; extra == 'wandelscript'
|
|
46
|
+
Requires-Dist: typer[all]<0.17,>=0.12; extra == 'wandelscript'
|
|
46
47
|
Description-Content-Type: text/markdown
|
|
47
48
|
|
|
48
49
|
# wandelbots-nova (Python SDK)
|
|
@@ -35,13 +35,13 @@ class ExecutionContext:
|
|
|
35
35
|
# Maps the motion group id to the list of recorded motion lists
|
|
36
36
|
# Each motion list is a path the was planned separately
|
|
37
37
|
motion_group_recordings: list[list[MotionState]]
|
|
38
|
-
|
|
38
|
+
output_data: dict[str, Any]
|
|
39
39
|
|
|
40
40
|
def __init__(self, robot_cell: RobotCell, stop_event: anyio.Event):
|
|
41
41
|
self._robot_cell = robot_cell
|
|
42
42
|
self._stop_event = stop_event
|
|
43
43
|
self.motion_group_recordings = []
|
|
44
|
-
self.output_data
|
|
44
|
+
self.output_data = {}
|
|
45
45
|
|
|
46
46
|
@property
|
|
47
47
|
def robot_cell(self) -> RobotCell:
|
|
@@ -73,6 +73,7 @@ class ProgramRun(BaseModel):
|
|
|
73
73
|
start_time: dt.datetime | None = Field(None, description="Start time of the program run")
|
|
74
74
|
end_time: dt.datetime | None = Field(None, description="End time of the program run")
|
|
75
75
|
input_data: dict[str, Any] | None = Field(None, description="Input of the program run")
|
|
76
|
+
output_data: dict[str, Any] | None = Field(None, description="Output of the program run")
|
|
76
77
|
|
|
77
78
|
|
|
78
79
|
class ProgramRunner(ABC):
|
|
@@ -83,18 +84,13 @@ class ProgramRunner(ABC):
|
|
|
83
84
|
"""
|
|
84
85
|
|
|
85
86
|
def __init__(
|
|
86
|
-
self,
|
|
87
|
-
program_id: str,
|
|
88
|
-
args: dict[str, Any],
|
|
89
|
-
robot_cell_override: RobotCell | None = None,
|
|
90
|
-
simulate: bool = False,
|
|
87
|
+
self, program_id: str, args: dict[str, Any], robot_cell_override: RobotCell | None = None
|
|
91
88
|
):
|
|
92
89
|
"""
|
|
93
90
|
Args:
|
|
94
91
|
program_id (str): The unique identifier of the program.
|
|
95
92
|
args (dict[str, Any]): The arguments to pass to the program.
|
|
96
93
|
robot_cell_override (RobotCell | None, optional): The robot cell to use for the program. Defaults to None.
|
|
97
|
-
simulate (bool, optional): If True, the program will be simulated and not connect to NOVA. Used for testing. Defaults to False.
|
|
98
94
|
"""
|
|
99
95
|
self._run_id = str(uuid.uuid4())
|
|
100
96
|
self._program_id = program_id
|
|
@@ -111,6 +107,7 @@ class ProgramRunner(ABC):
|
|
|
111
107
|
start_time=None,
|
|
112
108
|
end_time=None,
|
|
113
109
|
input_data=args,
|
|
110
|
+
output_data={},
|
|
114
111
|
)
|
|
115
112
|
self._thread: threading.Thread | None = None
|
|
116
113
|
self._stop_event: threading.Event | None = None
|
|
@@ -375,9 +372,8 @@ class ProgramRunner(ABC):
|
|
|
375
372
|
f"Program {self.program_id} run {self.run_id} completed successfully"
|
|
376
373
|
)
|
|
377
374
|
finally:
|
|
378
|
-
#
|
|
379
|
-
|
|
380
|
-
# self._program_run.output_data = execution_context.output_data
|
|
375
|
+
# program output data
|
|
376
|
+
self._program_run.output_data = execution_context.output_data
|
|
381
377
|
|
|
382
378
|
logger.info(
|
|
383
379
|
f"Program {self.program_id} run {self.run_id} finished. Run teardown routine..."
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "wandelbots-nova"
|
|
3
|
-
version = "2.8.
|
|
3
|
+
version = "2.8.4"
|
|
4
4
|
description = "Official Python SDK for the Wandelbots Nova"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Wandelbots GmbH" },
|
|
@@ -58,7 +58,8 @@ wandelscript = [
|
|
|
58
58
|
"antlr4-python3-runtime==4.13.1",
|
|
59
59
|
"dotenv",
|
|
60
60
|
"geometricalgebra>=0.1.3,<0.2",
|
|
61
|
-
"typer[all]>=0.12,<0.
|
|
61
|
+
"typer[all]>=0.12,<0.17",
|
|
62
|
+
"numpy>=1.1.19",
|
|
62
63
|
]
|
|
63
64
|
novax = [
|
|
64
65
|
"fastapi>=0.115.6",
|
|
@@ -111,6 +112,7 @@ junit_family = "xunit2"
|
|
|
111
112
|
norecursedirs = "develop .ipynb_checkpoints .venv .tox *.egg"
|
|
112
113
|
testpaths = """
|
|
113
114
|
nova
|
|
115
|
+
wandelscript
|
|
114
116
|
tests
|
|
115
117
|
"""
|
|
116
118
|
markers = """
|
|
@@ -8,7 +8,6 @@ from nova.cell.robot_cell import RobotCell
|
|
|
8
8
|
from nova.program import Program
|
|
9
9
|
from nova.program import ProgramRunner as NovaProgramRunner
|
|
10
10
|
from nova.program.runner import ExecutionContext as NovaExecutionContext
|
|
11
|
-
from nova.program.runner import ProgramRun
|
|
12
11
|
from wandelscript.datatypes import ElementType
|
|
13
12
|
from wandelscript.ffi import ForeignFunction
|
|
14
13
|
from wandelscript.ffi_loader import load_foreign_functions
|
|
@@ -16,11 +15,6 @@ from wandelscript.metamodel import Program as WandelscriptProgram
|
|
|
16
15
|
from wandelscript.runtime import ExecutionContext
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
# TODO: how to return this in the end?
|
|
20
|
-
class WandelscriptProgramRun(ProgramRun):
|
|
21
|
-
store: dict
|
|
22
|
-
|
|
23
|
-
|
|
24
18
|
class ProgramRunner(NovaProgramRunner):
|
|
25
19
|
"""Provides functionalities to manage a single program execution"""
|
|
26
20
|
|
|
@@ -28,11 +28,11 @@ print(a)
|
|
|
28
28
|
"""
|
|
29
29
|
robot_cell = SimulatedRobotCell()
|
|
30
30
|
if exception is None:
|
|
31
|
-
runner = wandelscript.run(code, robot_cell_override=robot_cell)
|
|
31
|
+
runner = wandelscript.run(program_id="test", program=code, robot_cell_override=robot_cell)
|
|
32
32
|
assert runner.state is ProgramRunState.COMPLETED
|
|
33
33
|
else:
|
|
34
34
|
with pytest.raises(exception):
|
|
35
|
-
wandelscript.run(code, robot_cell_override=robot_cell)
|
|
35
|
+
wandelscript.run(program_id="test", program=code, robot_cell_override=robot_cell)
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
@pytest.mark.parametrize(
|
|
@@ -53,7 +53,7 @@ new_pose = assoc(pose, {index}, 42)
|
|
|
53
53
|
"""
|
|
54
54
|
robot_cell = SimulatedRobotCell()
|
|
55
55
|
with pytest.raises(exception):
|
|
56
|
-
runner = wandelscript.run(code, robot_cell_override=robot_cell)
|
|
56
|
+
runner = wandelscript.run(program_id="test", program=code, robot_cell_override=robot_cell)
|
|
57
57
|
assert runner.state is ProgramRunState.FAILED
|
|
58
58
|
|
|
59
59
|
|
|
@@ -74,9 +74,13 @@ def test_example(example_name):
|
|
|
74
74
|
logger.info(f"Running example {example_name}...")
|
|
75
75
|
program, data, config = EXAMPLES[example_name]
|
|
76
76
|
robot_cell = _robot_cell_from_configuration(config)
|
|
77
|
-
runner = wandelscript.run(
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
runner = wandelscript.run(
|
|
78
|
+
program_id=example_name,
|
|
79
|
+
program=program,
|
|
80
|
+
robot_cell_override=robot_cell,
|
|
81
|
+
default_tcp="Flange",
|
|
82
|
+
)
|
|
83
|
+
store = runner.program_run.output_data
|
|
80
84
|
for key, expected in data.items():
|
|
81
85
|
if isinstance(expected, list):
|
|
82
86
|
expected = tuple(tuple(v) if isinstance(v, list) else v for v in expected)
|
|
@@ -29,33 +29,16 @@ move frame("tool") to (2, 2, 0)
|
|
|
29
29
|
)
|
|
30
30
|
with pytest.raises(ProgramRuntimeError):
|
|
31
31
|
wandelscript.run(
|
|
32
|
-
|
|
32
|
+
program_id="test",
|
|
33
|
+
program=code,
|
|
33
34
|
robot_cell_override=SimulatedRobotCell(controller=controller),
|
|
34
35
|
default_robot="0@controller",
|
|
35
36
|
)
|
|
36
37
|
|
|
37
38
|
|
|
38
|
-
def test_simple_motion():
|
|
39
|
-
code = """
|
|
40
|
-
move via ptp() to (0, 0, 10, 0, 0, 0)
|
|
41
|
-
move via line() to (0, 10, 10, 0, 0, 0)
|
|
42
|
-
sync
|
|
43
|
-
"""
|
|
44
|
-
cell = get_robot_cell()
|
|
45
|
-
runner = wandelscript.run(
|
|
46
|
-
code, robot_cell_override=cell, default_robot="0@controller", default_tcp="Flange"
|
|
47
|
-
)
|
|
48
|
-
assert len(runner.program_run.execution_results) == 1
|
|
49
|
-
first_pose = runner.program_run.execution_results[-1][0].state.pose
|
|
50
|
-
last_pose = runner.program_run.execution_results[-1][-1].state.pose
|
|
51
|
-
# The first position will be at the origin because the simulated robot assumes it as the default initial position
|
|
52
|
-
assert np.allclose(first_pose.to_tuple(), (0, 0, 0, 0, 0, 0))
|
|
53
|
-
assert np.allclose(last_pose.to_tuple(), (0, 10, 10, 0, 0, 0))
|
|
54
|
-
|
|
55
|
-
|
|
56
39
|
def test_no_robot():
|
|
57
40
|
code = """print("hello world")"""
|
|
58
|
-
wandelscript.run(code, robot_cell_override=RobotCell())
|
|
41
|
+
wandelscript.run(program_id="test", program=code, robot_cell_override=RobotCell())
|
|
59
42
|
|
|
60
43
|
|
|
61
44
|
def test_motion_type_p2p_line():
|
|
@@ -77,7 +60,9 @@ move via ptp() to (23, 0, 626, 0, 0, 0)
|
|
|
77
60
|
]
|
|
78
61
|
|
|
79
62
|
cell = get_robot_cell()
|
|
80
|
-
runner = wandelscript.run(
|
|
63
|
+
runner = wandelscript.run(
|
|
64
|
+
program_id="test", program=code, robot_cell_override=cell, default_tcp="Flange"
|
|
65
|
+
)
|
|
81
66
|
|
|
82
67
|
record_of_commands = runner.execution_context.robot_cell.get_motion_group(
|
|
83
68
|
"0@controller"
|
|
@@ -21,8 +21,10 @@ print("print something")
|
|
|
21
21
|
move via line() to (0, 100, 400, 0, pi, 0)
|
|
22
22
|
"""
|
|
23
23
|
for i in range(2):
|
|
24
|
-
runner = run(
|
|
25
|
-
|
|
24
|
+
runner = run(
|
|
25
|
+
program_id="test", program=code, robot_cell_override=robot_cell, default_tcp="Flange"
|
|
26
|
+
)
|
|
27
|
+
assert runner.program_run.output_data["a"] == 9
|
|
26
28
|
assert runner.program_run.state is ProgramRunState.COMPLETED
|
|
27
29
|
assert "print something" in runner.program_run.logs
|
|
28
30
|
assert not isinstance(sys.stdout, Tee)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import sys
|
|
3
3
|
import time
|
|
4
|
-
import uuid
|
|
5
4
|
from datetime import datetime
|
|
6
5
|
from typing import Any
|
|
7
6
|
|
|
@@ -80,14 +79,15 @@ move via line() to home :: (0, 100, 0, 0, 0, 0)
|
|
|
80
79
|
}
|
|
81
80
|
|
|
82
81
|
runner = run(
|
|
83
|
-
|
|
82
|
+
program_id="test",
|
|
83
|
+
program=code,
|
|
84
84
|
args={},
|
|
85
85
|
robot_cell_override=SimulatedRobotCell(),
|
|
86
86
|
default_robot="0@controller",
|
|
87
87
|
default_tcp="Flange",
|
|
88
88
|
foreign_functions=foreign_functions,
|
|
89
89
|
)
|
|
90
|
-
store = runner.program_run.
|
|
90
|
+
store = runner.program_run.output_data
|
|
91
91
|
assert "home" in store
|
|
92
92
|
assert store["a"] == 9
|
|
93
93
|
assert runner.program_run.state is ProgramRunState.COMPLETED
|
|
@@ -114,7 +114,8 @@ print(a)
|
|
|
114
114
|
"""
|
|
115
115
|
|
|
116
116
|
runner = run(
|
|
117
|
-
|
|
117
|
+
program_id="test",
|
|
118
|
+
program=code,
|
|
118
119
|
args={},
|
|
119
120
|
robot_cell_override=SimulatedRobotCell(),
|
|
120
121
|
default_robot="0@controller",
|
|
@@ -126,8 +127,11 @@ print(a)
|
|
|
126
127
|
|
|
127
128
|
|
|
128
129
|
def test_program_runner():
|
|
129
|
-
program_runner = ProgramRunner(
|
|
130
|
-
|
|
130
|
+
program_runner = ProgramRunner(
|
|
131
|
+
program_id="test", program="move via p2p() to [100, 0, 300, 0, pi, 0]", args={}
|
|
132
|
+
)
|
|
133
|
+
assert program_runner.program_run.run is not None
|
|
134
|
+
assert program_runner.program_run.program is not None
|
|
131
135
|
assert program_runner.state is ProgramRunState.PREPARING
|
|
132
136
|
|
|
133
137
|
|
|
@@ -152,6 +156,7 @@ print(read(controller[0], "pose"))
|
|
|
152
156
|
move via line() to (0, 100, 300, 0, pi, 0)
|
|
153
157
|
"""
|
|
154
158
|
program_runner = ProgramRunner(
|
|
159
|
+
program_id="test",
|
|
155
160
|
program=code,
|
|
156
161
|
args={},
|
|
157
162
|
robot_cell_override=SimulatedRobotCell(),
|
|
@@ -175,12 +180,8 @@ move via line() to (0, 100, 300, 0, pi, 0)
|
|
|
175
180
|
# It should not be possible to start the runner after the runner was completed
|
|
176
181
|
with pytest.raises(RuntimeError):
|
|
177
182
|
program_runner.start(sync=True)
|
|
178
|
-
# Check path
|
|
179
|
-
assert len(program_runner.program_run.execution_results) > 0
|
|
180
|
-
last_state = program_runner.program_run.execution_results[-1][-1]
|
|
181
|
-
assert np.allclose(last_state.state.pose.to_tuple(), (0, 100, 300, 0, np.pi, 0))
|
|
182
183
|
# Check store
|
|
183
|
-
store = program_runner.program_run.
|
|
184
|
+
store = program_runner.program_run.output_data
|
|
184
185
|
assert np.allclose(
|
|
185
186
|
tuple(store["home"]["position"]) + tuple(store["home"]["orientation"]),
|
|
186
187
|
(0, 0, 400, 0, np.pi, 0),
|
|
@@ -210,6 +211,7 @@ move via p2p() to home
|
|
|
210
211
|
)
|
|
211
212
|
def test_program_runner_stop(code):
|
|
212
213
|
program_runner = ProgramRunner(
|
|
214
|
+
program_id="test",
|
|
213
215
|
program=code,
|
|
214
216
|
args={},
|
|
215
217
|
robot_cell_override=SimulatedRobotCell(),
|
|
@@ -247,7 +249,9 @@ move via p2p() to mispelled_var
|
|
|
247
249
|
)
|
|
248
250
|
def test_program_runner_failed(code, exception):
|
|
249
251
|
with pytest.raises(exception):
|
|
250
|
-
runner = run(
|
|
252
|
+
runner = run(
|
|
253
|
+
program_id="test", program=code, args={}, robot_cell_override=SimulatedRobotCell()
|
|
254
|
+
)
|
|
251
255
|
assert runner.program_run.state is ProgramRunState.FAILED
|
|
252
256
|
assert runner.program_run.error is not None
|
|
253
257
|
assert runner.program_run.traceback is not None
|
|
@@ -263,5 +267,7 @@ wait 4000
|
|
|
263
267
|
move via p2p() to home :: (0, 0, 100)
|
|
264
268
|
"""
|
|
265
269
|
with pytest.raises(Exception):
|
|
266
|
-
runner = run(
|
|
270
|
+
runner = run(
|
|
271
|
+
program_id="test", program=code, args={}, robot_cell_override=raising_robot_cell
|
|
272
|
+
)
|
|
267
273
|
assert runner.program_run.state is ProgramRunState.FAILED
|
|
@@ -47,7 +47,13 @@ debug()
|
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
49
|
robot_cell = SimulatedRobotCell()
|
|
50
|
-
run(
|
|
50
|
+
run(
|
|
51
|
+
program_id="test",
|
|
52
|
+
program=code,
|
|
53
|
+
robot_cell_override=robot_cell,
|
|
54
|
+
default_robot="0@controller",
|
|
55
|
+
default_tcp="Flange",
|
|
56
|
+
)
|
|
51
57
|
assert test_a == 1
|
|
52
58
|
|
|
53
59
|
|
|
@@ -104,9 +110,16 @@ def test_robot_code_execution(code, num_robots, expected_exception):
|
|
|
104
110
|
)
|
|
105
111
|
if expected_exception:
|
|
106
112
|
with pytest.raises(expected_exception):
|
|
107
|
-
run(
|
|
113
|
+
run(
|
|
114
|
+
program_id="test",
|
|
115
|
+
program=code,
|
|
116
|
+
robot_cell_override=robot_cell,
|
|
117
|
+
default_tcp="Flange",
|
|
118
|
+
)
|
|
108
119
|
else:
|
|
109
|
-
result = run(
|
|
120
|
+
result = run(
|
|
121
|
+
program_id="test", program=code, robot_cell_override=robot_cell, default_tcp="Flange"
|
|
122
|
+
)
|
|
110
123
|
assert result is not None
|
|
111
124
|
|
|
112
125
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/benchmark_base.py
RENAMED
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/README.md
RENAMED
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/demo_set.yaml
RENAMED
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/mb_set.yaml
RENAMED
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/dataset/mpinets_set.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/robometrics_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/benchmark/run_ptp_benchmark.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/bin_everything_05.ply
RENAMED
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/example_data/colliders.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/collison_world.py
RENAMED
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/reachability_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/use_nova_rerun_bridge.py
RENAMED
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/visualize_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/examples/welding_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/helper_scripts/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.8.2 → wandelbots_nova-2.8.4}/nova_rerun_bridge/helper_scripts/download_models.py
RENAMED
|
File without changes
|
|
File without changes
|