wandelbots-nova 2.7.0__tar.gz → 2.7.2__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.7.0 → wandelbots_nova-2.7.2}/PKG-INFO +100 -76
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/README.md +99 -75
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/novax/novax.py +1 -1
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/pyproject.toml +1 -1
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/.gitignore +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/LICENSE +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/actions/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/actions/base.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/actions/container.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/actions/io.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/actions/mock.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/actions/motions.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/actions/trajectory_builder.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/api.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/auth/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/auth/auth_config.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/auth/authorization.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/cell/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/cell/cell.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/cell/controllers.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/cell/robot_cell.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/cell/simulation.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/controller.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/env_handler.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/exceptions.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/gateway.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/io.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/logging.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/motion_group.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/movement_controller.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/core/nova.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/events/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/events/nats.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/extentions/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/extentions/opcua/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/extentions/opcua/client.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/extentions/opcua/functions.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/program/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/program/exceptions.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/program/function.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/program/runner.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/program/store.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/program/utils.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/types/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/types/collision_scene.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/types/motion_settings.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/types/pose.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/types/state.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/types/vector3d.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/utils.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/version.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/viewers/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/viewers/base.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/viewers/manager.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/viewers/protocol.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/viewers/rerun.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova/viewers/utils.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/LICENSE +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/README.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/README.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/benchmark_base.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/dataset/README.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/dataset/demo_set.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/dataset/mb_set.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/dataset/mpinets_set.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/datasets.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/log_successful_planning.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/robometrics_helper.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/run_collision_free_benchmark.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/run_collision_free_magma.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/benchmark/run_ptp_benchmark.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/blueprint.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/collision_scene.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/colors.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/consts.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/conversion_helpers.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/dh_robot.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/example_data/Welding_Benchmark_USA_01.stl +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/example_data/bin_everything_05.ply +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/example_data/colliders.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/example_data/source.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/example_data/tool.stl +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/example_data/yaskawa_ar1440_rif_with_safety_zones.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/collison_world.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/import_ply.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/reachability_check.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/robocore.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/stream_robot.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/use_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/visualize_tool.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/wait_action.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/welding_example.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/yaskawa-ar1440-16-mounting.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/examples/yaskawa-ar1440-with-external-axis.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/helper_scripts/README.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/helper_scripts/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/helper_scripts/code_server_helpers.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/helper_scripts/download_models.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/helper_scripts/plan_with_collisions.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/hull_visualizer.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/minimal_example/.gitignore +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/minimal_example/README.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/minimal_example/main.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/minimal_example/poetry.toml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/minimal_example/pyproject.toml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/minimal_example/ruff.toml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/minimal_example/uv.lock +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/motion_recorder.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/motion_storage.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/.dockerignore +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/.nova +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/Dockerfile +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/app.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/build.sh +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/data/README.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/deployment.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/ingress.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/kustomization.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/namespace.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/nginx.conf +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/nginx.http.conf.template +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/skaffold.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/start.sh +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/nova_rerun_bridge_app/static/app_icon.png +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/polling/populate.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/.dockerignore +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/.nova +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/Dockerfile +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/app.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/build.sh +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/k8s/deployment.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/k8s/ingress.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/k8s/kustomization.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/k8s/namespace.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/nginx.conf +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/nginx.http.conf.template +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/skaffold.yaml +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/start.sh +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/rerun_app/static/app_icon.png +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/robot_visualizer.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/safety_zones.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/stream_state.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/nova_rerun_bridge/trajectory.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/novax/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/novax/api/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/novax/api/dependencies.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/novax/api/programs.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/novax/program_manager.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/nova_rerun_bridge/test_blueprint.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/nova_rerun_bridge/test_log_motion.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/nova_rerun_bridge/test_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/nova_rerun_bridge/test_trajectory.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/novax/api/test_programs.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/novax/conftest.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/novax/serve.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/novax/test_novax.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/novax/test_program_manager.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/tests/novax/test_program_sources.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/CHANGELOG.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/README.md +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/__main__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/antlrvisitor.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/array.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/assoc.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/controller.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/fetch.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/fs.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/math.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/pose.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/string.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins/wait.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/builtins.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/cli.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/datatypes.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/and_or.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/and_or.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/array.config +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/array.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/array.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/assignment.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/assignment.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/async_write.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/async_write.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/blending.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/blending.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/bool_negation.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/bool_negation.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/builtins.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/builtins.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/comments.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/comments.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/context.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/context.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/controller.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/controller.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/controller.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/coordinate_systems.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/coordinate_systems.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/default.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/default.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/default.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/edge_pattern.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/edge_pattern.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/edge_pattern_line.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/edge_pattern_line.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/edge_pattern_manhattan.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/edge_pattern_manhattan.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/empty.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/empty.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/expressions.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/expressions.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/fetch.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/fetch.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/find_edge_from_4_poses.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/find_edge_from_4_poses.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/frame.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/frame.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/frame2.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/frame2.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/frame3.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/frame3.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/frame3.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/function.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/function.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/functional_pose.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/functional_pose.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/get_pose.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/get_pose.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/ifelse.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/ifelse.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/interpolation.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/interpolation.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/interrupt.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/interrupt.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/io.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/io.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/loops.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/loops.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/move.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/move.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/move_via_expression.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/move_via_expression.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/move_with_velocity.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/move_with_velocity.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots2.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots2.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots2.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots3.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots3.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/multiple_robots3.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/not.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/not.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/operator_precedence.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/operator_precedence.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/pose.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/pose.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/poses2.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/poses2.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/print.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/print.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/record.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/record.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/scope.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/scope.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/spline.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/spline.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/switch.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/switch.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/tcps.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/tcps.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/tcps.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/tower_of_hanoi.cell.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/tower_of_hanoi.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/tower_of_hanoi.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/try.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/try.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/vision_move.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/vision_move.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wait.config +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wait.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wait.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wandelchat2.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wandelchat2.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wandelchat3.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wandelchat3.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/whitespaces.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/whitespaces.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wp393.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wp393.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wp469.json +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples/wp469.ws +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/examples.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/exception.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/ffi.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/ffi_loader.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/frames.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/WandelscriptLexerBase.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptLexer.g4 +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptLexer.interp +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptLexer.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptLexer.tokens +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptParser.g4 +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptParser.interp +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptParser.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptParser.tokens +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptParserListener.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/grammar/wandelscriptParserVisitor.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/metamodel.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/migration.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/models.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/motions.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/operators.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/runner.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/runtime.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/scripts/generate_parser.sh +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_builtins.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_examples.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_executor.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_ffi.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_migration.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_motion.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_move.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_multirobot.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_parser.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_programs.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_run_twice.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_runner.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_runtime.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_simulation.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_stepwise.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_store.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_two_step_execution.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/tests/test_types.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/utils/__init__.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/utils/pose.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/utils/runtime.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/utils/serializer.py +0 -0
- {wandelbots_nova-2.7.0 → wandelbots_nova-2.7.2}/wandelscript/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wandelbots-nova
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.2
|
|
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>
|
|
@@ -49,23 +49,23 @@ Description-Content-Type: text/markdown
|
|
|
49
49
|
|
|
50
50
|
[](https://badge.fury.io/py/wandelbots-nova)
|
|
51
51
|
[](https://github.com/wandelbotsgmbh/wandelbots-nova/blob/main/LICENSE)
|
|
52
|
-
[](https://github.com/wandelbotsgmbh/wandelbots-nova/actions/workflows/nova-release.yaml)
|
|
53
53
|
[](https://deepwiki.com/wandelbotsgmbh/wandelbots-nova)
|
|
54
54
|
|
|
55
55
|
This library provides an SDK for the Wandelbots NOVA API.
|
|
56
56
|
|
|
57
|
-
The SDK will help you to build your own apps and services using Python on top of NOVA and makes programming a robot as easy as possible.
|
|
57
|
+
The SDK will help you to build your own apps and services using Python on top of Wandelbots NOVA and makes programming a robot as easy as possible.
|
|
58
58
|
|
|
59
59
|
https://github.com/user-attachments/assets/f6157e4b-eea8-4b96-b302-1f3864ae44a9
|
|
60
60
|
|
|
61
|
-
##
|
|
61
|
+
## About
|
|
62
62
|
|
|
63
|
-
[Wandelbots NOVA](https://www.wandelbots.com/) is
|
|
63
|
+
[Wandelbots NOVA](https://www.wandelbots.com/) is a robot-agnostic operating system that enables developers to plan, program, control, and operate fleets of six-axis industrial robots through a unified API, across all major robot brands. It integrates modern development tools like Python and JavaScript APIs with AI-based control and motion planning, allowing developers to build automation tasks such as gluing, grinding, welding, and palletizing without needing to account for hardware differences. The software offers a powerful set of tools that support the creation of custom automation solutions throughout the entire automation lifecycle.
|
|
64
64
|
|
|
65
65
|
## Prerequisites
|
|
66
66
|
|
|
67
|
-
- A running
|
|
68
|
-
- Valid
|
|
67
|
+
- A running NOVA instance (Get a Wandelbots NOVA account on [wandelbots.com](https://www.wandelbots.com/contact))
|
|
68
|
+
- Valid NOVA API credentials
|
|
69
69
|
- Python >=3.10
|
|
70
70
|
|
|
71
71
|
## Installation
|
|
@@ -78,7 +78,7 @@ pip install wandelbots-nova
|
|
|
78
78
|
|
|
79
79
|
### Recommended: uv project and Rerun Visualization
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
Install [uv](https://docs.astral.sh/uv/getting-started/installation/) on your system.
|
|
82
82
|
|
|
83
83
|
Initialize a new uv project with the following command.
|
|
84
84
|
|
|
@@ -86,14 +86,14 @@ Initialize a new uv project with the following command.
|
|
|
86
86
|
uv init
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
See
|
|
89
|
+
Install the library with the `nova-rerun-bridge` extra to use the visualization tool [rerun](https://rerun.io/).
|
|
90
|
+
See [extension README.md](nova_rerun_bridge/README.md) for further details.
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
93
|
uv add wandelbots-nova --extra nova-rerun-bridge
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
Download the robot models to visualize them in the rerun viewer.
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
99
|
uv run download-models
|
|
@@ -101,7 +101,9 @@ uv run download-models
|
|
|
101
101
|
|
|
102
102
|
## Wandelscript
|
|
103
103
|
|
|
104
|
-
Wandelscript is a domain-specific language for programming robots.
|
|
104
|
+
Wandelscript is a domain-specific language for programming robots.
|
|
105
|
+
It is a declarative language that allows you to describe the robot's behavior in a high-level way.
|
|
106
|
+
Wandelscript is suited to get yourself familiar with robot programming.
|
|
105
107
|
|
|
106
108
|
```bash
|
|
107
109
|
uv add wandelbots-nova --extra wandelscript
|
|
@@ -127,17 +129,19 @@ for i = 0..3:
|
|
|
127
129
|
move via ptp() to home
|
|
128
130
|
```
|
|
129
131
|
|
|
130
|
-
To get
|
|
132
|
+
To get started, use the [Quickstart](https://docs.wandelbots.io/latest/pathplanning-maintained/wandelscript/quickstart).
|
|
133
|
+
implementation details or contributing to Wandelscript, refer to the [Wandelscript readme](/wandelscript/README.md).
|
|
131
134
|
|
|
132
|
-
##
|
|
135
|
+
## NOVAx
|
|
133
136
|
|
|
134
|
-
|
|
137
|
+
NOVAx is an app framework for building server applications on top of Wandelbots NOVA.
|
|
138
|
+
It provides common core concepts like the handling of programs and their execution.
|
|
135
139
|
|
|
136
140
|
```bash
|
|
137
141
|
uv add wandelbots-nova --extra novax
|
|
138
142
|
```
|
|
139
143
|
|
|
140
|
-
To use
|
|
144
|
+
To use NOVAx in your application, you need to create a new `Novax` instance as an entrypoint.
|
|
141
145
|
|
|
142
146
|
```python
|
|
143
147
|
from pathlib import Path
|
|
@@ -160,7 +164,7 @@ def main(host: str = "0.0.0.0", port: int = 8000):
|
|
|
160
164
|
|
|
161
165
|
# Register Python programs (existing functionality)
|
|
162
166
|
novax.register_program(simple_program)
|
|
163
|
-
# You can also register
|
|
167
|
+
# You can also register Wandelscript files
|
|
164
168
|
novax.register_program(Path(__file__).parent / "programs" / "program2.ws")
|
|
165
169
|
|
|
166
170
|
# Serve the FastAPI app
|
|
@@ -175,9 +179,9 @@ def main(host: str = "0.0.0.0", port: int = 8000):
|
|
|
175
179
|
)
|
|
176
180
|
```
|
|
177
181
|
|
|
178
|
-
|
|
182
|
+
Inspect the API at `http://localhost:8000/docs`.
|
|
179
183
|
|
|
180
|
-
## 🚀
|
|
184
|
+
## 🚀 Quickstart
|
|
181
185
|
|
|
182
186
|
See the [examples](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples) for usage of this library including 3D visualization.
|
|
183
187
|
|
|
@@ -191,20 +195,23 @@ Import the library in your code to get started.
|
|
|
191
195
|
from nova import Nova
|
|
192
196
|
```
|
|
193
197
|
|
|
194
|
-
|
|
198
|
+
You can access the automatically generated NOVA API client using the `api` module.
|
|
195
199
|
|
|
196
200
|
```python
|
|
197
201
|
from nova import api
|
|
198
202
|
```
|
|
199
203
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
In [this](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples) directory are more examples to explain the advanced usage of the SDK.
|
|
203
|
-
For 3D visualization examples, see the main [examples](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples) folder. Advanced rerun integration examples are in the [nova_rerun_bridge examples folder](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/nova_rerun_bridge/examples).
|
|
204
|
+
Check out the [basic](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples/basic.py) and [plan_and_execute](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples/plan_and_execute.py) examples to learn how to use the library.
|
|
204
205
|
|
|
205
206
|
## Examples
|
|
206
207
|
|
|
207
|
-
|
|
208
|
+
You can find different categories of examples in the repository:
|
|
209
|
+
|
|
210
|
+
- **[Advanced SDK usage](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples)**
|
|
211
|
+
- **[3D visualization](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples)**
|
|
212
|
+
- **[Advanced Rerun integration](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/nova_rerun_bridge/examples)**
|
|
213
|
+
|
|
214
|
+
### Basic usage
|
|
208
215
|
|
|
209
216
|
```python
|
|
210
217
|
import nova
|
|
@@ -240,9 +247,9 @@ async def main():
|
|
|
240
247
|
current_pose = await motion_group.tcp_pose(tcp)
|
|
241
248
|
```
|
|
242
249
|
|
|
243
|
-
### Robot
|
|
250
|
+
### Robot motion examples
|
|
244
251
|
|
|
245
|
-
1. **
|
|
252
|
+
1. **Basic Point-to-Point movement**
|
|
246
253
|
|
|
247
254
|
```python
|
|
248
255
|
import nova
|
|
@@ -261,7 +268,7 @@ async def main():
|
|
|
261
268
|
trajectory = await motion_group.plan(actions, tcp)
|
|
262
269
|
```
|
|
263
270
|
|
|
264
|
-
2. **Collision-
|
|
271
|
+
2. **Collision-free movement**
|
|
265
272
|
|
|
266
273
|
```python
|
|
267
274
|
from nova.actions import collision_free
|
|
@@ -279,7 +286,7 @@ actions = [
|
|
|
279
286
|
|
|
280
287
|
https://github.com/user-attachments/assets/0416151f-1304-46e2-a4ab-485fcda766fc
|
|
281
288
|
|
|
282
|
-
3. **Multiple
|
|
289
|
+
3. **Multiple robot coordination**
|
|
283
290
|
|
|
284
291
|
```python
|
|
285
292
|
import asyncio
|
|
@@ -292,11 +299,11 @@ async def move_robots():
|
|
|
292
299
|
)
|
|
293
300
|
```
|
|
294
301
|
|
|
295
|
-
|
|
302
|
+
More information in [move_multiple_robots](https://github.com/wandelbotsgmbh/wandelbots-nova/tree/main/examples/move_multiple_robots.py).
|
|
296
303
|
|
|
297
|
-
### Advanced
|
|
304
|
+
### Advanced features
|
|
298
305
|
|
|
299
|
-
1. **
|
|
306
|
+
1. **Input/Output control**
|
|
300
307
|
|
|
301
308
|
```python
|
|
302
309
|
from nova.actions import io_write, joint_ptp, cartesian_ptp
|
|
@@ -309,7 +316,7 @@ actions = [
|
|
|
309
316
|
]
|
|
310
317
|
```
|
|
311
318
|
|
|
312
|
-
2. **3D
|
|
319
|
+
2. **3D visualization with rerun**
|
|
313
320
|
|
|
314
321
|
```python
|
|
315
322
|
# Basic 3D visualization (default)
|
|
@@ -342,15 +349,11 @@ async def main():
|
|
|
342
349
|
)
|
|
343
350
|
```
|
|
344
351
|
|
|
345
|
-
> **Note**:
|
|
346
|
-
>
|
|
347
|
-
> ```bash
|
|
348
|
-
> uv add wandelbots-nova --extra nova-rerun-bridge
|
|
349
|
-
> ```
|
|
352
|
+
> **Note**: Install [rerun extras](#recommended-uv-project-and-rerun-visualization) to enable visualization
|
|
350
353
|
|
|
351
354
|
<img width="1242" alt="pointcloud" src="https://github.com/user-attachments/assets/8e981f09-81ae-4e71-9851-42611f6b1843" />
|
|
352
355
|
|
|
353
|
-
3. **
|
|
356
|
+
3. **Custom TCPs (Tool Center Points)**
|
|
354
357
|
|
|
355
358
|
```python
|
|
356
359
|
import json
|
|
@@ -406,7 +409,7 @@ async def setup_tcp():
|
|
|
406
409
|
|
|
407
410
|
<img width="100%" alt="trajectory" src="https://github.com/user-attachments/assets/649de0b7-d90a-4095-ad51-d38d3ac2e716" />
|
|
408
411
|
|
|
409
|
-
4. **
|
|
412
|
+
4. **Common coordinate systems for multiple robots**
|
|
410
413
|
|
|
411
414
|
```python
|
|
412
415
|
from math import pi
|
|
@@ -500,7 +503,7 @@ async def setup_coordinated_robots():
|
|
|
500
503
|
|
|
501
504
|
## Development
|
|
502
505
|
|
|
503
|
-
To install
|
|
506
|
+
To install development dependencies, run
|
|
504
507
|
|
|
505
508
|
```bash
|
|
506
509
|
uv sync --extra "nova-rerun-bridge"
|
|
@@ -513,68 +516,89 @@ uv run ruff format
|
|
|
513
516
|
uv run ruff check --select I --fix
|
|
514
517
|
```
|
|
515
518
|
|
|
516
|
-
### Yaml
|
|
519
|
+
### Yaml linting
|
|
517
520
|
|
|
518
521
|
```bash
|
|
519
522
|
docker run --rm -it -v $(pwd):/data cytopia/yamllint -d .yamllint .
|
|
520
523
|
```
|
|
521
524
|
|
|
522
|
-
###
|
|
525
|
+
### Branch versions for testing
|
|
523
526
|
|
|
524
|
-
When
|
|
525
|
-
|
|
527
|
+
When working with feature branches or forks, it can be helpful to test the library as a dependency in other projects before merging.
|
|
528
|
+
You can specify custom sources in your pyproject.toml to pull the library from a specific branch:
|
|
529
|
+
|
|
530
|
+
Using PEP 621-style table syntax:
|
|
526
531
|
|
|
527
532
|
```toml
|
|
528
533
|
wandelbots-nova = { git = "https://github.com/wandelbotsgmbh/wandelbots-nova.git", branch = "fix/http-prefix" }
|
|
529
534
|
```
|
|
530
535
|
|
|
536
|
+
Using PEP 508 direct URL syntax:
|
|
537
|
+
|
|
531
538
|
```toml
|
|
532
539
|
wandelbots-nova @ git+https://github.com/wandelbotsgmbh/wandelbots-nova.git@fix/http-prefix
|
|
533
540
|
```
|
|
534
541
|
|
|
535
|
-
### Environment
|
|
542
|
+
### Environment variables for NOVA configuration
|
|
536
543
|
|
|
537
|
-
|
|
538
|
-
2. **Fill in the Values:** Open the `.env` file in a text editor and provide the necessary values for each variable. The table below describes each variable and its usage.
|
|
544
|
+
Copy the provided `.env.template` file and rename it to `.env`:
|
|
539
545
|
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
+
```bash
|
|
547
|
+
cp .env.template .env
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
Open the `.env` file in a text editor and fill in the values. Here's what each variable does:
|
|
551
|
+
|
|
552
|
+
| Variable | Description | Required | Default | Example |
|
|
553
|
+
| ------------------- | ----------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------------------ |
|
|
554
|
+
| `NOVA_API` | Base URL or hostname of the Wandelbots NOVA server instance | Yes | None | `https://nova.example.com` or `http://172.0.0.1` |
|
|
555
|
+
| `NOVA_USERNAME` | Username credential used for authentication with the NOVA service | Yes\* | None | `my_username` |
|
|
556
|
+
| `NOVA_PASSWORD` | Password credential used in conjunction with `NOVA_USERNAME` | Yes\* | None | `my_password` |
|
|
557
|
+
| `NOVA_ACCESS_TOKEN` | Pre-obtained access token for Wandelbots NOVA (if using token-based authentication) | Yes\* | None | `eyJhbGciOi...` |
|
|
546
558
|
|
|
547
|
-
> **Note
|
|
548
|
-
> You can authenticate with NOVA using either **username/password
|
|
559
|
+
> **Note:**
|
|
560
|
+
> You can authenticate with Wandelbots NOVA using either **username/password credentials** or a **pre-obtained access token**, depending on your setup and security model:
|
|
549
561
|
>
|
|
550
|
-
> -
|
|
551
|
-
> -
|
|
562
|
+
> - **Username/password authentication**: Ensure both `NOVA_USERNAME` and `NOVA_PASSWORD` are set, and leave `NOVA_ACCESS_TOKEN` unset.
|
|
563
|
+
> - **Token-based authentication**: Ensure `NOVA_ACCESS_TOKEN` is set, and leave `NOVA_USERNAME` and `NOVA_PASSWORD` unset.
|
|
552
564
|
>
|
|
553
|
-
> **
|
|
565
|
+
> **Use only one method at a time**. If both are set, token-based authentication takes precedence.
|
|
566
|
+
|
|
567
|
+
## Release process
|
|
568
|
+
|
|
569
|
+
### Branch behaviour overview
|
|
570
|
+
|
|
571
|
+
| Branch | Purpose | Published to | Example version |
|
|
572
|
+
| ----------- | ------------------------------------------------------ | -------------------------------------- | -------------------- |
|
|
573
|
+
| `main` | Stable releases (semantic versioning vX.Y.Z) | PyPI (`pip install wandelbots-nova`) | `v1.13.0` |
|
|
574
|
+
| `release/*` | LTS-releases, pre-releases or hotfixes for older lines | PyPI (labeled with release suffix) | `v1.8.7-release-1.x` |
|
|
575
|
+
| any other | Development builds | GitHub actions (not published to PyPI) | `e4c8af0647839...` |
|
|
554
576
|
|
|
555
|
-
|
|
577
|
+
### Stable releases from `main`
|
|
556
578
|
|
|
557
|
-
|
|
579
|
+
Merging into main triggers the release workflow:
|
|
558
580
|
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
| `release/*` | The username credential used for authentication with the NOVA service. | PyPI | `v1.8.7-release-1.x` |
|
|
563
|
-
| any branch | Development builds (not published to PyPI) | GitHub Actions | `e4c8af0647839...` |
|
|
581
|
+
1. `semantic-release` analyzes commit messages and bumps the version automatically.
|
|
582
|
+
2. A source distribution and wheel are built and uploaded to PyPI.
|
|
583
|
+
3. A GitHub release is created (or updated) with the release assets.
|
|
564
584
|
|
|
565
|
-
###
|
|
585
|
+
### LTS releases from `release/\*`
|
|
566
586
|
|
|
567
|
-
|
|
587
|
+
If you're on older major versions or under a special LTS contract:
|
|
568
588
|
|
|
569
|
-
|
|
589
|
+
1. Use (or create) a branch like `release/1.x`, `release/customer-foo`, etc.
|
|
590
|
+
2. Every commit to these branches triggers the same workflow as on `main`.
|
|
591
|
+
3. Versions include the branch name to prevent collisions, e.g. `v1.8.7-release-1.x`
|
|
570
592
|
|
|
571
|
-
|
|
593
|
+
### Create a dev build (manual)
|
|
572
594
|
|
|
573
|
-
|
|
574
|
-
- Every commit on that branch triggers the same workflow and publishes stable numbers, but the git tag and PyPI version carry the branch slug so lines never collide.
|
|
595
|
+
Need a temporary test build? Use GitHub actions:
|
|
575
596
|
|
|
576
|
-
|
|
597
|
+
1. Go to the [actions tab](https://github.com/wandelbotsgmbh/wandelbots-nova/actions).
|
|
598
|
+
2. Find **Nova SDK: Build dev wheel** and click `Run workflow`.
|
|
599
|
+
3. Select a branch and trigger the job.
|
|
600
|
+
4. After completion, open the [Installation step](#installation) to copy the ready-to-use `pip install` command:
|
|
577
601
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
602
|
+
```bash
|
|
603
|
+
pip install "wandelbots-nova @ git+https://github.com/wandelbotsgmbh/wandelbots-nova.git@<commit>"
|
|
604
|
+
```
|