wandelbots-nova 2.3.0__tar.gz → 2.4.0__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.3.0 → wandelbots_nova-2.4.0}/PKG-INFO +1 -1
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/program/function.py +12 -4
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/program/runner.py +6 -7
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/types/motion_settings.py +1 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/novax/novax.py +0 -6
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/novax/program_manager.py +8 -6
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/pyproject.toml +1 -1
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/novax/api/test_programs.py +12 -10
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/novax/serve.py +7 -2
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/novax/test_program_sources.py +1 -1
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/cli.py +1 -1
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/.gitignore +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/LICENSE +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/actions/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/actions/base.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/actions/container.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/actions/io.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/actions/mock.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/actions/motions.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/api.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/auth/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/auth/auth_config.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/auth/authorization.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/cell/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/cell/cell.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/cell/controllers.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/cell/robot_cell.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/controller.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/env_handler.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/exceptions.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/gateway.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/io.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/logging.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/motion_group.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/movement_controller.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/core/nova.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/events/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/events/nats.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/extentions/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/extentions/opcua/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/extentions/opcua/client.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/extentions/opcua/functions.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/program/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/program/exceptions.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/program/utils.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/types/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/types/collision_scene.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/types/pose.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/types/state.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/types/vector3d.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/utils.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/version.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/viewers/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/viewers/base.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/viewers/manager.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/viewers/protocol.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/viewers/rerun.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova/viewers/utils.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/LICENSE +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/benchmark_base.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/demo_set.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/mb_set.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/mpinets_set.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/datasets.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/log_successful_planning.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/robometrics_helper.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/run_collision_free_benchmark.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/run_collision_free_magma.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/run_ptp_benchmark.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/blueprint.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/collision_scene.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/colors.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/consts.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/conversion_helpers.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/dh_robot.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/Welding_Benchmark_USA_01.stl +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/bin_everything_05.ply +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/colliders.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/source.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/tool.stl +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/yaskawa_ar1440_rif_with_safety_zones.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/collison_world.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/import_ply.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/reachability_check.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/robocore.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/stream_robot.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/use_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/visualize_tool.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/wait_action.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/welding_example.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/yaskawa-ar1440-16-mounting.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/yaskawa-ar1440-with-external-axis.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/helper_scripts/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/helper_scripts/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/helper_scripts/code_server_helpers.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/helper_scripts/download_models.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/helper_scripts/plan_with_collisions.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/hull_visualizer.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/.gitignore +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/main.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/poetry.toml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/pyproject.toml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/ruff.toml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/uv.lock +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/motion_recorder.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/motion_storage.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/.dockerignore +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/.nova +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/Dockerfile +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/app.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/build.sh +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/data/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/deployment.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/ingress.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/kustomization.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/k8s/namespace.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/nginx.conf +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/nginx.http.conf.template +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/skaffold.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/start.sh +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/static/app_icon.png +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/polling/populate.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/.dockerignore +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/.nova +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/Dockerfile +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/app.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/build.sh +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/k8s/deployment.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/k8s/ingress.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/k8s/kustomization.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/k8s/namespace.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/nginx.conf +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/nginx.http.conf.template +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/skaffold.yaml +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/start.sh +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/static/app_icon.png +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/robot_visualizer.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/safety_zones.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/stream_state.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/trajectory.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/novax/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/novax/api/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/novax/api/dependencies.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/novax/api/programs.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/nova_rerun_bridge/test_blueprint.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/nova_rerun_bridge/test_log_motion.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/nova_rerun_bridge/test_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/nova_rerun_bridge/test_trajectory.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/novax/conftest.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/tests/novax/test_novax.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/CHANGELOG.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/README.md +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/__main__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/antlrvisitor.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/array.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/assoc.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/controller.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/fetch.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/fs.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/math.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/pose.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/string.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins/wait.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/builtins.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/datatypes.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/and_or.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/and_or.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/array.config +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/array.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/array.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/assignment.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/assignment.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/async_write.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/async_write.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/blending.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/blending.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/bool_negation.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/bool_negation.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/builtins.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/builtins.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/comments.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/comments.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/context.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/context.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/controller.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/controller.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/controller.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/coordinate_systems.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/coordinate_systems.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/default.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/default.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/default.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/edge_pattern.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/edge_pattern.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/edge_pattern_line.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/edge_pattern_line.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/edge_pattern_manhattan.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/edge_pattern_manhattan.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/empty.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/empty.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/expressions.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/expressions.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/fetch.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/fetch.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/find_edge_from_4_poses.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/find_edge_from_4_poses.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/frame.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/frame.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/frame2.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/frame2.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/frame3.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/frame3.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/frame3.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/function.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/function.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/functional_pose.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/functional_pose.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/get_pose.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/get_pose.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/ifelse.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/ifelse.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/interpolation.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/interpolation.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/interrupt.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/interrupt.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/io.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/io.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/loops.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/loops.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/move.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/move.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/move_via_expression.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/move_via_expression.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/move_with_velocity.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/move_with_velocity.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots2.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots2.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots2.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots3.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots3.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/multiple_robots3.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/not.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/not.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/operator_precedence.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/operator_precedence.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/pose.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/pose.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/poses2.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/poses2.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/print.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/print.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/record.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/record.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/scope.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/scope.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/spline.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/spline.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/switch.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/switch.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/tcps.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/tcps.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/tcps.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/tower_of_hanoi.cell.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/tower_of_hanoi.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/tower_of_hanoi.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/try.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/try.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/vision_move.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/vision_move.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wait.config +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wait.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wait.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wandelchat2.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wandelchat2.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wandelchat3.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wandelchat3.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/whitespaces.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/whitespaces.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wp393.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wp393.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wp469.json +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples/wp469.ws +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/examples.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/exception.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/ffi.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/ffi_loader.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/frames.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/WandelscriptLexerBase.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptLexer.g4 +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptLexer.interp +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptLexer.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptLexer.tokens +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptParser.g4 +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptParser.interp +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptParser.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptParser.tokens +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptParserListener.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/grammar/wandelscriptParserVisitor.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/metamodel.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/migration.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/models.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/motions.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/operators.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/runner.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/runtime.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/scripts/generate_parser.sh +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/simulation.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_builtins.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_examples.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_executor.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_ffi.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_migration.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_motion.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_move.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_multirobot.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_parser.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_programs.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_run_twice.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_runner.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_runtime.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_simulation.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_stepwise.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_store.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_two_step_execution.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/tests/test_types.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/utils/__init__.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/utils/pose.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/utils/runtime.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/utils/serializer.py +0 -0
- {wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/wandelscript/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wandelbots-nova
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
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>
|
|
@@ -39,7 +39,8 @@ class Program(BaseModel, Generic[Parameters, Return]):
|
|
|
39
39
|
_wrapped: Callable[Parameters, Any] = PrivateAttr(
|
|
40
40
|
default_factory=lambda: lambda *args, **kwargs: None
|
|
41
41
|
)
|
|
42
|
-
|
|
42
|
+
program_id: str
|
|
43
|
+
name: str | None
|
|
43
44
|
description: str | None
|
|
44
45
|
input: type[BaseModel]
|
|
45
46
|
output: type[BaseModel]
|
|
@@ -52,14 +53,15 @@ class Program(BaseModel, Generic[Parameters, Return]):
|
|
|
52
53
|
if not callable(value):
|
|
53
54
|
raise TypeError("value must be callable")
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
program_id = value.__name__
|
|
57
57
|
docstring = parse_docstring(value.__doc__ or "")
|
|
58
58
|
description = docstring.description
|
|
59
59
|
|
|
60
60
|
input, output = input_and_output_types(value, docstring)
|
|
61
61
|
|
|
62
|
-
function = cls(
|
|
62
|
+
function = cls(
|
|
63
|
+
program_id=program_id, name=None, description=description, input=input, output=output
|
|
64
|
+
)
|
|
63
65
|
function._wrapped = validate_call(validate_return=True)(value)
|
|
64
66
|
return function
|
|
65
67
|
|
|
@@ -282,7 +284,9 @@ def input_and_output_types(
|
|
|
282
284
|
|
|
283
285
|
|
|
284
286
|
def program(
|
|
287
|
+
id: str | None = None,
|
|
285
288
|
name: str | None = None,
|
|
289
|
+
description: str | None = None,
|
|
286
290
|
preconditions: ProgramPreconditions | None = None,
|
|
287
291
|
viewer: Any | None = None,
|
|
288
292
|
):
|
|
@@ -303,8 +307,12 @@ def program(
|
|
|
303
307
|
raise TypeError(f"Program function '{function.__name__}' must be async")
|
|
304
308
|
|
|
305
309
|
func_obj = Program.validate(function)
|
|
310
|
+
if id:
|
|
311
|
+
func_obj.program_id = id
|
|
306
312
|
if name:
|
|
307
313
|
func_obj.name = name
|
|
314
|
+
if description:
|
|
315
|
+
func_obj.description = description
|
|
308
316
|
func_obj.preconditions = preconditions
|
|
309
317
|
|
|
310
318
|
# Create a wrapper that handles controller lifecycle
|
|
@@ -75,8 +75,8 @@ class ProgramRunState(Enum):
|
|
|
75
75
|
|
|
76
76
|
# TODO: import from api.v2.models.ProgramRun
|
|
77
77
|
class ProgramRun(BaseModel):
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
run: str = Field(..., description="Id of the program run")
|
|
79
|
+
program: str = Field(..., description="Id of the program")
|
|
80
80
|
state: ProgramRunState = Field(..., description="State of the program run")
|
|
81
81
|
logs: str | None = Field(None, description="Logs of the program run")
|
|
82
82
|
stdout: str | None = Field(None, description="Stdout of the program run")
|
|
@@ -85,7 +85,6 @@ class ProgramRun(BaseModel):
|
|
|
85
85
|
start_time: dt.datetime | None = Field(None, description="Start time of the program run")
|
|
86
86
|
end_time: dt.datetime | None = Field(None, description="End time of the program run")
|
|
87
87
|
input_data: dict[str, Any] | None = Field(None, description="Input of the program run")
|
|
88
|
-
output_data: dict[str, Any] | None = Field(None, description="Output of the program run")
|
|
89
88
|
|
|
90
89
|
|
|
91
90
|
class ProgramRunner(ABC):
|
|
@@ -98,6 +97,7 @@ class ProgramRunner(ABC):
|
|
|
98
97
|
def __init__(
|
|
99
98
|
self,
|
|
100
99
|
program_id: str,
|
|
100
|
+
# TODO: this can be removed soonish
|
|
101
101
|
program: Program,
|
|
102
102
|
args: dict[str, Any],
|
|
103
103
|
robot_cell_override: RobotCell | None = None,
|
|
@@ -108,8 +108,8 @@ class ProgramRunner(ABC):
|
|
|
108
108
|
self._args = args
|
|
109
109
|
self._robot_cell_override = robot_cell_override
|
|
110
110
|
self._program_run: ProgramRun = ProgramRun(
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
run=self._run_id,
|
|
112
|
+
program=program_id,
|
|
113
113
|
state=ProgramRunState.NOT_STARTED,
|
|
114
114
|
logs=None,
|
|
115
115
|
stdout=None,
|
|
@@ -118,7 +118,6 @@ class ProgramRunner(ABC):
|
|
|
118
118
|
start_time=None,
|
|
119
119
|
end_time=None,
|
|
120
120
|
input_data=args,
|
|
121
|
-
output_data=None,
|
|
122
121
|
)
|
|
123
122
|
self._thread: threading.Thread | None = None
|
|
124
123
|
self._stop_event: threading.Event | None = None
|
|
@@ -382,7 +381,7 @@ class ProgramRunner(ABC):
|
|
|
382
381
|
finally:
|
|
383
382
|
# write path to output
|
|
384
383
|
# self._program_run.execution_results = execution_context.motion_group_recordings
|
|
385
|
-
self._program_run.output_data = execution_context.output_data
|
|
384
|
+
# self._program_run.output_data = execution_context.output_data
|
|
386
385
|
|
|
387
386
|
logger.info(
|
|
388
387
|
f"Program {self.program_id} run {self.run_id} finished. Run teardown routine..."
|
|
@@ -36,6 +36,7 @@ class MotionSettings(pydantic.BaseModel):
|
|
|
36
36
|
"""
|
|
37
37
|
|
|
38
38
|
min_blending_velocity: int | None = pydantic.Field(default=None)
|
|
39
|
+
# TODO: rename to blending_radius?
|
|
39
40
|
position_zone_radius: float | None = pydantic.Field(default=None)
|
|
40
41
|
joint_velocity_limits: tuple[float, ...] | None = pydantic.Field(default=None)
|
|
41
42
|
joint_acceleration_limits: tuple[float, ...] | None = pydantic.Field(default=None)
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
from typing import Any, Optional
|
|
2
2
|
|
|
3
|
-
from decouple import config
|
|
4
3
|
from fastapi import FastAPI
|
|
5
4
|
|
|
6
5
|
from nova.program.function import Program
|
|
7
6
|
from novax.program_manager import ProgramDetails, ProgramManager, ProgramSource
|
|
8
7
|
|
|
9
|
-
# TODO: why are these needed? check with Christoph
|
|
10
|
-
CELL_ID = config("CELL_ID", default="cell", cast=str)
|
|
11
|
-
BASE_PATH = config("BASE_PATH", default="", cast=str)
|
|
12
|
-
app = FastAPI(title="schaeffler", root_path=BASE_PATH)
|
|
13
|
-
|
|
14
8
|
|
|
15
9
|
class Novax:
|
|
16
10
|
def __init__(self):
|
|
@@ -69,9 +69,10 @@ class NovaxProgramRunner(ProgramRunner):
|
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
class ProgramDetails(BaseModel):
|
|
72
|
-
|
|
72
|
+
program: str
|
|
73
|
+
name: str | None
|
|
74
|
+
description: str | None
|
|
73
75
|
created_at: dt.datetime
|
|
74
|
-
updated_at: dt.datetime
|
|
75
76
|
|
|
76
77
|
|
|
77
78
|
class RunProgramRequest(BaseModel):
|
|
@@ -129,12 +130,13 @@ class ProgramManager:
|
|
|
129
130
|
"""
|
|
130
131
|
|
|
131
132
|
func = program
|
|
132
|
-
program_id = func.
|
|
133
|
-
|
|
133
|
+
program_id = func.program_id
|
|
134
134
|
now = dt.datetime.now(dt.timezone.utc)
|
|
135
135
|
|
|
136
136
|
# Create ProgramDetails instance
|
|
137
|
-
program_details = ProgramDetails(
|
|
137
|
+
program_details = ProgramDetails(
|
|
138
|
+
program=program_id, name=program.name, description=program.description, created_at=now
|
|
139
|
+
)
|
|
138
140
|
|
|
139
141
|
# Store program details and function separately
|
|
140
142
|
self._programs[program_id] = program_details
|
|
@@ -224,7 +226,7 @@ class WandelscriptProgramSource:
|
|
|
224
226
|
logger.info(f"Creating wandelscript program: {program_id}")
|
|
225
227
|
|
|
226
228
|
# Create a wrapper function
|
|
227
|
-
@nova.program(
|
|
229
|
+
@nova.program(id=program_id)
|
|
228
230
|
async def wandelscript_wrapper():
|
|
229
231
|
async with Nova() as nova:
|
|
230
232
|
robot_cell = await nova.cell().get_robot_cell()
|
|
@@ -14,14 +14,15 @@ def test_get_programs(novax_app):
|
|
|
14
14
|
assert len(programs) >= 1
|
|
15
15
|
|
|
16
16
|
# Check that simple_program is in the list
|
|
17
|
-
program_ids = [p["
|
|
17
|
+
program_ids = [p["program"] for p in programs]
|
|
18
18
|
assert "simple_program" in program_ids
|
|
19
19
|
|
|
20
20
|
# Check program structure
|
|
21
|
-
simple_program = next(p for p in programs if p["
|
|
22
|
-
assert "
|
|
21
|
+
simple_program = next(p for p in programs if p["program"] == "simple_program")
|
|
22
|
+
assert "program" in simple_program
|
|
23
|
+
assert "name" in simple_program
|
|
24
|
+
assert "description" in simple_program
|
|
23
25
|
assert "created_at" in simple_program
|
|
24
|
-
assert "updated_at" in simple_program
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
def test_get_program_success(novax_app):
|
|
@@ -31,9 +32,10 @@ def test_get_program_success(novax_app):
|
|
|
31
32
|
assert response.status_code == 200
|
|
32
33
|
program = response.json()
|
|
33
34
|
|
|
34
|
-
assert program["
|
|
35
|
+
assert program["program"] == "simple_program"
|
|
35
36
|
assert "created_at" in program
|
|
36
|
-
assert "
|
|
37
|
+
assert "name" in program
|
|
38
|
+
assert "description" in program
|
|
37
39
|
assert "input_schema" in program
|
|
38
40
|
|
|
39
41
|
|
|
@@ -54,8 +56,8 @@ def test_start_program_success(novax_app):
|
|
|
54
56
|
assert response.status_code == 200
|
|
55
57
|
run = response.json()
|
|
56
58
|
|
|
57
|
-
assert "
|
|
58
|
-
assert "
|
|
59
|
+
assert "run" in run
|
|
60
|
+
assert "program" in run
|
|
59
61
|
assert "state" in run
|
|
60
62
|
|
|
61
63
|
|
|
@@ -66,8 +68,8 @@ def test_start_program_without_parameters(novax_app):
|
|
|
66
68
|
assert response.status_code == 200
|
|
67
69
|
run = response.json()
|
|
68
70
|
|
|
69
|
-
assert "
|
|
70
|
-
assert "
|
|
71
|
+
assert "run" in run
|
|
72
|
+
assert "program" in run
|
|
71
73
|
assert "state" in run
|
|
72
74
|
|
|
73
75
|
|
|
@@ -7,13 +7,18 @@ import nova
|
|
|
7
7
|
dotenv.load_dotenv()
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
@nova.program(
|
|
10
|
+
@nova.program(id="test")
|
|
11
11
|
async def test():
|
|
12
12
|
print("Hello, world!")
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
@nova.program(
|
|
15
|
+
@nova.program(
|
|
16
|
+
id="simple_program",
|
|
17
|
+
name="Simple Program",
|
|
18
|
+
description="Simple program that prints 'Hello World!' and then sleeps a bit.",
|
|
19
|
+
)
|
|
16
20
|
async def simple_program(number_of_steps: int = 30):
|
|
21
|
+
"""Simple program that prints "Hello World!" and then sleeps a bit."""
|
|
17
22
|
print("Hello World!")
|
|
18
23
|
|
|
19
24
|
for i in range(number_of_steps):
|
|
@@ -9,7 +9,7 @@ from novax import Novax
|
|
|
9
9
|
from novax.program_manager import ProgramManager, WandelscriptProgramSource
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
@nova.program(
|
|
12
|
+
@nova.program(id="simple_program")
|
|
13
13
|
async def simple_program(number_of_steps: int = 30):
|
|
14
14
|
print("Hello World!")
|
|
15
15
|
|
|
@@ -39,7 +39,7 @@ async def main(code: str, foreign_functions: dict[str, Any] | None = None):
|
|
|
39
39
|
default_robot=None,
|
|
40
40
|
foreign_functions=foreign_functions,
|
|
41
41
|
)
|
|
42
|
-
echo(f"Execution results:\n{runner.program_run.
|
|
42
|
+
echo(f"Execution results:\n{runner.program_run.state}")
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
@app.command()
|
|
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.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/benchmark_base.py
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/README.md
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/demo_set.yaml
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/mb_set.yaml
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/dataset/mpinets_set.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/benchmark/robometrics_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/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.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/bin_everything_05.ply
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/example_data/colliders.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/collison_world.py
RENAMED
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/reachability_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/use_nova_rerun_bridge.py
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/visualize_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/examples/welding_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/helper_scripts/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/helper_scripts/download_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/poetry.toml
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/minimal_example/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/.nova
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/Dockerfile
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/app.yaml
RENAMED
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/build.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/nginx.conf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wandelbots_nova-2.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/nova_rerun_bridge_app/start.sh
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.3.0 → wandelbots_nova-2.4.0}/nova_rerun_bridge/rerun_app/k8s/deployment.yaml
RENAMED
|
File without changes
|