isar 1.25.2__tar.gz → 1.25.3__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.
Potentially problematic release.
This version of isar might be problematic. Click here for more details.
- {isar-1.25.2 → isar-1.25.3}/.github/workflows/pythonpackage.yml +1 -0
- {isar-1.25.2 → isar-1.25.3}/PKG-INFO +2 -4
- {isar-1.25.2 → isar-1.25.3}/pyproject.toml +1 -3
- {isar-1.25.2 → isar-1.25.3}/src/isar/apis/robot_control/robot_controller.py +1 -3
- {isar-1.25.2 → isar-1.25.3}/src/isar/apis/schedule/scheduling_controller.py +2 -2
- {isar-1.25.2 → isar-1.25.3}/src/isar/mission_planner/sequential_task_selector.py +1 -1
- {isar-1.25.2 → isar-1.25.3}/src/isar/mission_planner/task_selector_interface.py +1 -1
- {isar-1.25.2 → isar-1.25.3}/src/isar/models/communication/queues/status_queue.py +2 -2
- {isar-1.25.2 → isar-1.25.3}/src/isar/modules.py +6 -5
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/utilities/scheduling_utilities.py +6 -2
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/state_machine.py +8 -10
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/monitor.py +2 -1
- {isar-1.25.2 → isar-1.25.3}/src/isar/storage/blob_storage.py +1 -1
- {isar-1.25.2 → isar-1.25.3}/src/isar/storage/uploader.py +1 -1
- {isar-1.25.2 → isar-1.25.3}/src/isar.egg-info/PKG-INFO +2 -4
- {isar-1.25.2 → isar-1.25.3}/src/isar.egg-info/requires.txt +1 -3
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/mission/task.py +1 -1
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/robot_interface.py +1 -1
- {isar-1.25.2 → isar-1.25.3}/tests/conftest.py +3 -1
- {isar-1.25.2 → isar-1.25.3}/tests/isar/models/communication/test_queues.py +1 -1
- isar-1.25.3/tests/isar/services/service_connections/echo/__init__.py +0 -0
- isar-1.25.3/tests/isar/services/utilities/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/services/utilities/test_scheduling_utilities.py +2 -1
- isar-1.25.3/tests/isar/state_machine/__init__.py +0 -0
- isar-1.25.3/tests/isar/state_machine/states/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/state_machine/test_state_machine.py +0 -4
- isar-1.25.3/tests/mocks/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/robot_interface.py +1 -1
- isar-1.25.2/src/isar/apis/models/__init__.py +0 -1
- isar-1.25.2/src/isar/models/communication/queues/__init__.py +0 -4
- isar-1.25.2/src/isar/state_machine/states/__init__.py +0 -8
- isar-1.25.2/src/robot_interface/models/initialize/__init__.py +0 -1
- isar-1.25.2/src/robot_interface/models/inspection/__init__.py +0 -13
- {isar-1.25.2 → isar-1.25.3}/.dockerignore +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/ISSUE_TEMPLATE/feature.md +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/ISSUE_TEMPLATE/improvement.md +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/release.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/workflows/compile_requirements.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/workflows/project_automations.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/workflows/publish_isar_base_image.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/workflows/pythonpublish.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/.github/workflows/stale.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/.gitignore +0 -0
- {isar-1.25.2 → isar-1.25.3}/.pre-commit-config.yaml +0 -0
- {isar-1.25.2 → isar-1.25.3}/Dockerfile +0 -0
- {isar-1.25.2 → isar-1.25.3}/LICENSE +0 -0
- {isar-1.25.2 → isar-1.25.3}/README.md +0 -0
- {isar-1.25.2 → isar-1.25.3}/SECURITY.md +0 -0
- {isar-1.25.2 → isar-1.25.3}/docker-compose-turtlebot.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/docker-compose.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/docs/Makefile +0 -0
- {isar-1.25.2 → isar-1.25.3}/docs/make.bat +0 -0
- {isar-1.25.2 → isar-1.25.3}/docs/rst_processing.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/docs/source/conf.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/docs/source/index.rst +0 -0
- {isar-1.25.2 → isar-1.25.3}/docs/source/readme_link.md +0 -0
- {isar-1.25.2 → isar-1.25.3}/docs/state_machine_diagram.png +0 -0
- {isar-1.25.2 → isar-1.25.3}/main.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/radixconfig.yml +0 -0
- {isar-1.25.2 → isar-1.25.3}/requirements.txt +0 -0
- {isar-1.25.2 → isar-1.25.3}/setup.cfg +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/apis/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/apis/api.py +0 -0
- {isar-1.25.2/src/isar/apis/schedule → isar-1.25.3/src/isar/apis/models}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/apis/models/models.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/apis/models/start_mission_definition.py +0 -0
- {isar-1.25.2/src/isar/apis/security → isar-1.25.3/src/isar/apis/schedule}/__init__.py +0 -0
- {isar-1.25.2/src/isar/config → isar-1.25.3/src/isar/apis/security}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/apis/security/authentication.py +0 -0
- {isar-1.25.2/src/isar/config/keyvault → isar-1.25.3/src/isar/config}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/certs/ca-cert.pem +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/configuration_error.py +0 -0
- {isar-1.25.2/src/isar/config/predefined_mission_definition → isar-1.25.3/src/isar/config/keyvault}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/keyvault/keyvault_error.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/keyvault/keyvault_service.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/log.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/logging.conf +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/maps/JSP1_intermediate_deck.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/maps/JSP1_weather_deck.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/maps/default_map.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/maps/klab_b.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/maps/klab_compressor.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/maps/klab_turtlebot.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/maps/turtleworld.json +0 -0
- {isar-1.25.2/src/isar/config/predefined_missions → isar-1.25.3/src/isar/config/predefined_mission_definition}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/predefined_mission_definition/default_exr.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/predefined_mission_definition/default_mission.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/predefined_mission_definition/default_turtlebot.json +0 -0
- {isar-1.25.2/src/isar/mission_planner → isar-1.25.3/src/isar/config/predefined_missions}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/predefined_missions/default.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/predefined_missions/default_turtlebot.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/settings.env +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/config/settings.py +0 -0
- {isar-1.25.2/src/isar/models → isar-1.25.3/src/isar/mission_planner}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/mission_planner/local_planner.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/mission_planner/mission_planner_interface.py +0 -0
- {isar-1.25.2/src/isar/models/communication → isar-1.25.3/src/isar/models}/__init__.py +0 -0
- {isar-1.25.2/src/isar/models/mission_metadata → isar-1.25.3/src/isar/models/communication}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/models/communication/message.py +0 -0
- {isar-1.25.2/src/isar/services → isar-1.25.3/src/isar/models/communication/queues}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/models/communication/queues/queue_io.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/models/communication/queues/queue_timeout_error.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/models/communication/queues/queues.py +0 -0
- {isar-1.25.2/src/isar/services/auth → isar-1.25.3/src/isar/models/mission_metadata}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/script.py +0 -0
- {isar-1.25.2/src/isar/services/service_connections → isar-1.25.3/src/isar/services}/__init__.py +0 -0
- {isar-1.25.2/src/isar/services/service_connections/mqtt → isar-1.25.3/src/isar/services/auth}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/auth/azure_credentials.py +0 -0
- {isar-1.25.2/src/isar/services/service_connections/stid → isar-1.25.3/src/isar/services/service_connections}/__init__.py +0 -0
- {isar-1.25.2/src/isar/services/utilities → isar-1.25.3/src/isar/services/service_connections/mqtt}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/service_connections/mqtt/mqtt_client.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/service_connections/mqtt/robot_heartbeat_publisher.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/service_connections/mqtt/robot_info_publisher.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/service_connections/request_handler.py +0 -0
- {isar-1.25.2/src/isar/state_machine → isar-1.25.3/src/isar/services/service_connections/stid}/__init__.py +0 -0
- {isar-1.25.2/src/isar/storage → isar-1.25.3/src/isar/services/utilities}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/utilities/queue_utilities.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/utilities/robot_utilities.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/services/utilities/threaded_request.py +0 -0
- {isar-1.25.2/src/robot_interface → isar-1.25.3/src/isar/state_machine}/__init__.py +0 -0
- {isar-1.25.2/src/robot_interface/models → isar-1.25.3/src/isar/state_machine/states}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/idle.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/initialize.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/initiate.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/off.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/offline.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/paused.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states/stop.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/state_machine/states_enum.py +0 -0
- {isar-1.25.2/src/robot_interface/models/exceptions → isar-1.25.3/src/isar/storage}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/storage/local_storage.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/storage/slimm_storage.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/storage/storage_interface.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar/storage/utilities.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar.egg-info/SOURCES.txt +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar.egg-info/dependency_links.txt +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar.egg-info/entry_points.txt +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/isar.egg-info/top_level.txt +0 -0
- {isar-1.25.2/src/robot_interface/models/mission → isar-1.25.3/src/robot_interface}/__init__.py +0 -0
- {isar-1.25.2/src/robot_interface/models/robots → isar-1.25.3/src/robot_interface/models}/__init__.py +0 -0
- {isar-1.25.2/src/robot_interface/telemetry → isar-1.25.3/src/robot_interface/models/exceptions}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/exceptions/robot_exceptions.py +0 -0
- {isar-1.25.2/src/robot_interface/utilities → isar-1.25.3/src/robot_interface/models/initialize}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/initialize/initialize_params.py +0 -0
- {isar-1.25.2/tests → isar-1.25.3/src/robot_interface/models/inspection}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/inspection/inspection.py +0 -0
- {isar-1.25.2/tests/integration → isar-1.25.3/src/robot_interface/models/mission}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/mission/mission.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/mission/status.py +0 -0
- {isar-1.25.2/tests/integration/turtlebot → isar-1.25.3/src/robot_interface/models/robots}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/robots/battery_state.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/robots/media.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/models/robots/robot_model.py +0 -0
- {isar-1.25.2/tests/integration/turtlebot/config → isar-1.25.3/src/robot_interface/telemetry}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/telemetry/mqtt_client.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/telemetry/payloads.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/test_robot_interface.py +0 -0
- {isar-1.25.2/tests/integration/turtlebot/config/maps → isar-1.25.3/src/robot_interface/utilities}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/utilities/json_service.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/src/robot_interface/utilities/uuid_string_factory.py +0 -0
- {isar-1.25.2/tests/integration/turtlebot/config/missions → isar-1.25.3/tests}/__init__.py +0 -0
- {isar-1.25.2/tests/isar → isar-1.25.3/tests/integration}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/apis → isar-1.25.3/tests/integration/turtlebot}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/apis/models → isar-1.25.3/tests/integration/turtlebot/config}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/apis/scheduler → isar-1.25.3/tests/integration/turtlebot/config/maps}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/integration/turtlebot/config/maps/turtleworld.json +0 -0
- {isar-1.25.2/tests/isar/apis/security → isar-1.25.3/tests/integration/turtlebot/config/missions}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/integration/turtlebot/config/missions/default.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/integration/turtlebot/test_successful_mission.py +0 -0
- {isar-1.25.2/tests/isar/mission → isar-1.25.3/tests/isar}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/models → isar-1.25.3/tests/isar/apis}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/models/communication → isar-1.25.3/tests/isar/apis/models}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/apis/models/example_mission_definition.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/apis/models/test_start_mission_definition.py +0 -0
- {isar-1.25.2/tests/isar/services → isar-1.25.3/tests/isar/apis/scheduler}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/apis/scheduler/test_scheduler_router.py +0 -0
- {isar-1.25.2/tests/isar/services/readers → isar-1.25.3/tests/isar/apis/security}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/apis/security/test_authentication.py +0 -0
- {isar-1.25.2/tests/isar/services/service_connections → isar-1.25.3/tests/isar/mission}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/mission/test_mission.py +0 -0
- {isar-1.25.2/tests/isar/services/service_connections/echo → isar-1.25.3/tests/isar/models}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/services/utilities → isar-1.25.3/tests/isar/models/communication}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/state_machine → isar-1.25.3/tests/isar/services}/__init__.py +0 -0
- {isar-1.25.2/tests/isar/state_machine/states → isar-1.25.3/tests/isar/services/readers}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/services/readers/test_mission_reader.py +0 -0
- {isar-1.25.2/tests/mocks → isar-1.25.3/tests/isar/services/service_connections}/__init__.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/services/service_connections/test_base_request_handler.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/services/utilities/test_queue_utilities.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/state_machine/states/test_monitor.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/storage/test_blob_storage.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/isar/storage/test_uploader.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/blob_storage.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/mission_definition.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/mqtt_client.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/pose.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/request.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/status.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/task.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/mocks/token.py +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/test_data/test_map_config/test_map_config.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/test_data/test_mission_not_working.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/test_data/test_mission_working.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/test_data/test_mission_working_no_tasks.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/test_data/test_thermal_image_mission.json +0 -0
- {isar-1.25.2 → isar-1.25.3}/tests/test_modules.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: isar
|
|
3
|
-
Version: 1.25.
|
|
3
|
+
Version: 1.25.3
|
|
4
4
|
Summary: Integration and Supervisory control of Autonomous Robots
|
|
5
5
|
Author-email: Equinor ASA <fg_robots_dev@equinor.com>
|
|
6
6
|
License: Eclipse Public License version 2.0
|
|
@@ -127,9 +127,7 @@ Requires-Dist: transitions
|
|
|
127
127
|
Requires-Dist: uvicorn
|
|
128
128
|
Provides-Extra: dev
|
|
129
129
|
Requires-Dist: black; extra == "dev"
|
|
130
|
-
Requires-Dist: flake8; extra == "dev"
|
|
131
130
|
Requires-Dist: mypy; extra == "dev"
|
|
132
|
-
Requires-Dist: myst-parser; extra == "dev"
|
|
133
131
|
Requires-Dist: pip-tools; extra == "dev"
|
|
134
132
|
Requires-Dist: pre-commit; extra == "dev"
|
|
135
133
|
Requires-Dist: pytest-dotenv; extra == "dev"
|
|
@@ -137,7 +135,7 @@ Requires-Dist: pytest-mock; extra == "dev"
|
|
|
137
135
|
Requires-Dist: pytest-xdist; extra == "dev"
|
|
138
136
|
Requires-Dist: pytest; extra == "dev"
|
|
139
137
|
Requires-Dist: requests-mock; extra == "dev"
|
|
140
|
-
Requires-Dist:
|
|
138
|
+
Requires-Dist: ruff; extra == "dev"
|
|
141
139
|
|
|
142
140
|
# ISAR
|
|
143
141
|
|
|
@@ -60,9 +60,7 @@ repository = "https://github.com/equinor/isar.git"
|
|
|
60
60
|
[project.optional-dependencies]
|
|
61
61
|
dev = [
|
|
62
62
|
"black",
|
|
63
|
-
"flake8",
|
|
64
63
|
"mypy",
|
|
65
|
-
"myst-parser",
|
|
66
64
|
"pip-tools",
|
|
67
65
|
"pre-commit",
|
|
68
66
|
"pytest-dotenv",
|
|
@@ -70,7 +68,7 @@ dev = [
|
|
|
70
68
|
"pytest-xdist",
|
|
71
69
|
"pytest",
|
|
72
70
|
"requests-mock",
|
|
73
|
-
"
|
|
71
|
+
"ruff",
|
|
74
72
|
]
|
|
75
73
|
|
|
76
74
|
[tool.setuptools_scm]
|
|
@@ -2,9 +2,7 @@ import logging
|
|
|
2
2
|
|
|
3
3
|
from injector import inject
|
|
4
4
|
|
|
5
|
-
from isar.apis.models.models import
|
|
6
|
-
RobotInfoResponse,
|
|
7
|
-
)
|
|
5
|
+
from isar.apis.models.models import RobotInfoResponse
|
|
8
6
|
from isar.config.settings import robot_settings, settings
|
|
9
7
|
from isar.services.utilities.robot_utilities import RobotUtilities
|
|
10
8
|
|
|
@@ -6,11 +6,11 @@ from alitra import Pose
|
|
|
6
6
|
from fastapi import Body, HTTPException, Path
|
|
7
7
|
from injector import inject
|
|
8
8
|
|
|
9
|
-
from isar.apis.models import InputPose, StartMissionResponse
|
|
10
9
|
from isar.apis.models.models import (
|
|
11
10
|
ControlMissionResponse,
|
|
12
|
-
RobotInfoResponse,
|
|
13
11
|
TaskResponse,
|
|
12
|
+
InputPose,
|
|
13
|
+
StartMissionResponse,
|
|
14
14
|
)
|
|
15
15
|
from isar.apis.models.start_mission_definition import (
|
|
16
16
|
StartMissionDefinition,
|
|
@@ -4,7 +4,7 @@ from isar.mission_planner.task_selector_interface import (
|
|
|
4
4
|
TaskSelectorInterface,
|
|
5
5
|
TaskSelectorStop,
|
|
6
6
|
)
|
|
7
|
-
from robot_interface.models.mission.task import TASKS
|
|
7
|
+
from robot_interface.models.mission.task import TASKS
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class SequentialTaskSelector(TaskSelectorInterface):
|
|
@@ -7,8 +7,8 @@ from typing import Dict, List, Tuple, Union
|
|
|
7
7
|
from injector import Injector, Module, multiprovider, provider, singleton
|
|
8
8
|
|
|
9
9
|
from isar.apis.api import API
|
|
10
|
-
from isar.apis.schedule.scheduling_controller import SchedulingController
|
|
11
10
|
from isar.apis.robot_control.robot_controller import RobotController
|
|
11
|
+
from isar.apis.schedule.scheduling_controller import SchedulingController
|
|
12
12
|
from isar.apis.security.authentication import Authenticator
|
|
13
13
|
from isar.config.keyvault.keyvault_service import Keyvault
|
|
14
14
|
from isar.config.settings import settings
|
|
@@ -18,8 +18,8 @@ from isar.mission_planner.sequential_task_selector import SequentialTaskSelector
|
|
|
18
18
|
from isar.mission_planner.task_selector_interface import TaskSelectorInterface
|
|
19
19
|
from isar.models.communication.queues.queues import Queues
|
|
20
20
|
from isar.services.service_connections.request_handler import RequestHandler
|
|
21
|
-
from isar.services.utilities.scheduling_utilities import SchedulingUtilities
|
|
22
21
|
from isar.services.utilities.robot_utilities import RobotUtilities
|
|
22
|
+
from isar.services.utilities.scheduling_utilities import SchedulingUtilities
|
|
23
23
|
from isar.state_machine.state_machine import StateMachine
|
|
24
24
|
from isar.storage.blob_storage import BlobStorage
|
|
25
25
|
from isar.storage.local_storage import LocalStorage
|
|
@@ -70,9 +70,10 @@ class RobotModule(Module):
|
|
|
70
70
|
@provider
|
|
71
71
|
@singleton
|
|
72
72
|
def provide_robot_interface(self) -> RobotInterface:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
robot_interface: ModuleType = import_module(
|
|
74
|
+
f"{settings.ROBOT_PACKAGE}.robotinterface"
|
|
75
|
+
)
|
|
76
|
+
return robot_interface.Robot() # type: ignore
|
|
76
77
|
|
|
77
78
|
|
|
78
79
|
class QueuesModule(Module):
|
|
@@ -17,7 +17,11 @@ from isar.mission_planner.mission_planner_interface import (
|
|
|
17
17
|
MissionPlannerInterface,
|
|
18
18
|
)
|
|
19
19
|
from isar.models.communication.message import StartMissionMessage
|
|
20
|
-
from isar.models.communication.queues import QueueIO
|
|
20
|
+
from isar.models.communication.queues.queue_io import QueueIO
|
|
21
|
+
from isar.models.communication.queues.queues import Queues
|
|
22
|
+
from isar.models.communication.queues.queue_timeout_error import (
|
|
23
|
+
QueueTimeoutError,
|
|
24
|
+
)
|
|
21
25
|
from isar.services.utilities.queue_utilities import QueueUtilities
|
|
22
26
|
from isar.state_machine.states_enum import States
|
|
23
27
|
from robot_interface.models.mission.mission import Mission
|
|
@@ -101,7 +105,7 @@ class SchedulingUtilities:
|
|
|
101
105
|
is_capable: bool = True
|
|
102
106
|
missing_capabilities: Set[str] = set()
|
|
103
107
|
for task in mission.tasks:
|
|
104
|
-
if
|
|
108
|
+
if task.type not in robot_capabilities:
|
|
105
109
|
is_capable = False
|
|
106
110
|
missing_capabilities.add(task.type)
|
|
107
111
|
|
|
@@ -18,16 +18,14 @@ from isar.mission_planner.task_selector_interface import (
|
|
|
18
18
|
)
|
|
19
19
|
from isar.models.communication.message import StartMissionMessage
|
|
20
20
|
from isar.models.communication.queues.queues import Queues
|
|
21
|
-
from isar.state_machine.states import
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Stop,
|
|
30
|
-
)
|
|
21
|
+
from isar.state_machine.states.idle import Idle
|
|
22
|
+
from isar.state_machine.states.initialize import Initialize
|
|
23
|
+
from isar.state_machine.states.initiate import Initiate
|
|
24
|
+
from isar.state_machine.states.monitor import Monitor
|
|
25
|
+
from isar.state_machine.states.off import Off
|
|
26
|
+
from isar.state_machine.states.offline import Offline
|
|
27
|
+
from isar.state_machine.states.paused import Paused
|
|
28
|
+
from isar.state_machine.states.stop import Stop
|
|
31
29
|
from isar.state_machine.states_enum import States
|
|
32
30
|
from robot_interface.models.exceptions.robot_exceptions import ErrorMessage
|
|
33
31
|
from robot_interface.models.initialize.initialize_params import InitializeParams
|
|
@@ -110,7 +110,8 @@ class Monitor(State):
|
|
|
110
110
|
|
|
111
111
|
if not isinstance(status, TaskStatus):
|
|
112
112
|
self.logger.error(
|
|
113
|
-
f"Received an invalid status update when monitoring mission.
|
|
113
|
+
f"Received an invalid status update {status} when monitoring mission. "
|
|
114
|
+
"Only TaskStatus is expected."
|
|
114
115
|
)
|
|
115
116
|
break
|
|
116
117
|
|
|
@@ -47,7 +47,7 @@ class BlobStorage(StorageInterface):
|
|
|
47
47
|
def _upload_file(self, path: Path, data: bytes) -> Union[str, dict]:
|
|
48
48
|
blob_client = self._get_blob_client(path)
|
|
49
49
|
try:
|
|
50
|
-
|
|
50
|
+
blob_client.upload_blob(data=data)
|
|
51
51
|
except ResourceExistsError as e:
|
|
52
52
|
self.logger.error(
|
|
53
53
|
f"Blob {path.as_posix()} already exists in container. Error: {e}"
|
|
@@ -8,7 +8,7 @@ from typing import List, Union
|
|
|
8
8
|
from injector import inject
|
|
9
9
|
|
|
10
10
|
from isar.config.settings import settings
|
|
11
|
-
from isar.models.communication.queues import Queues
|
|
11
|
+
from isar.models.communication.queues.queues import Queues
|
|
12
12
|
from isar.storage.storage_interface import StorageException, StorageInterface
|
|
13
13
|
from robot_interface.models.inspection.inspection import Inspection
|
|
14
14
|
from robot_interface.models.mission.mission import Mission
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: isar
|
|
3
|
-
Version: 1.25.
|
|
3
|
+
Version: 1.25.3
|
|
4
4
|
Summary: Integration and Supervisory control of Autonomous Robots
|
|
5
5
|
Author-email: Equinor ASA <fg_robots_dev@equinor.com>
|
|
6
6
|
License: Eclipse Public License version 2.0
|
|
@@ -127,9 +127,7 @@ Requires-Dist: transitions
|
|
|
127
127
|
Requires-Dist: uvicorn
|
|
128
128
|
Provides-Extra: dev
|
|
129
129
|
Requires-Dist: black; extra == "dev"
|
|
130
|
-
Requires-Dist: flake8; extra == "dev"
|
|
131
130
|
Requires-Dist: mypy; extra == "dev"
|
|
132
|
-
Requires-Dist: myst-parser; extra == "dev"
|
|
133
131
|
Requires-Dist: pip-tools; extra == "dev"
|
|
134
132
|
Requires-Dist: pre-commit; extra == "dev"
|
|
135
133
|
Requires-Dist: pytest-dotenv; extra == "dev"
|
|
@@ -137,7 +135,7 @@ Requires-Dist: pytest-mock; extra == "dev"
|
|
|
137
135
|
Requires-Dist: pytest-xdist; extra == "dev"
|
|
138
136
|
Requires-Dist: pytest; extra == "dev"
|
|
139
137
|
Requires-Dist: requests-mock; extra == "dev"
|
|
140
|
-
Requires-Dist:
|
|
138
|
+
Requires-Dist: ruff; extra == "dev"
|
|
141
139
|
|
|
142
140
|
# ISAR
|
|
143
141
|
|
|
@@ -5,7 +5,7 @@ from alitra import Pose, Position
|
|
|
5
5
|
from pydantic import BaseModel, Field
|
|
6
6
|
|
|
7
7
|
from robot_interface.models.exceptions.robot_exceptions import ErrorMessage
|
|
8
|
-
from robot_interface.models.inspection import (
|
|
8
|
+
from robot_interface.models.inspection.inspection import (
|
|
9
9
|
Audio,
|
|
10
10
|
Image,
|
|
11
11
|
Inspection,
|
|
@@ -3,7 +3,7 @@ from queue import Queue
|
|
|
3
3
|
from threading import Thread
|
|
4
4
|
from typing import Callable, List, Optional
|
|
5
5
|
|
|
6
|
-
from robot_interface.models.initialize import InitializeParams
|
|
6
|
+
from robot_interface.models.initialize.initialize_params import InitializeParams
|
|
7
7
|
from robot_interface.models.inspection.inspection import Inspection
|
|
8
8
|
from robot_interface.models.mission.mission import Mission
|
|
9
9
|
from robot_interface.models.mission.status import RobotStatus, TaskStatus
|
|
@@ -20,7 +20,9 @@ from isar.modules import (
|
|
|
20
20
|
from isar.services.service_connections.request_handler import RequestHandler
|
|
21
21
|
from isar.services.utilities.scheduling_utilities import SchedulingUtilities
|
|
22
22
|
from isar.state_machine.state_machine import StateMachine
|
|
23
|
-
from isar.state_machine.states import Idle
|
|
23
|
+
from isar.state_machine.states.idle import Idle
|
|
24
|
+
from isar.state_machine.states.initiate import Initiate
|
|
25
|
+
from isar.state_machine.states.monitor import Monitor
|
|
24
26
|
from robot_interface.telemetry.mqtt_client import MqttClientInterface
|
|
25
27
|
from tests.mocks.robot_interface import MockRobot
|
|
26
28
|
from tests.test_modules import (
|
|
File without changes
|
|
File without changes
|
|
@@ -4,7 +4,8 @@ import pytest
|
|
|
4
4
|
from fastapi import HTTPException
|
|
5
5
|
from pytest_mock import MockerFixture
|
|
6
6
|
|
|
7
|
-
from isar.models.communication.queues import QueueIO
|
|
7
|
+
from isar.models.communication.queues.queues import QueueIO
|
|
8
|
+
from isar.models.communication.queues.queue_timeout_error import QueueTimeoutError
|
|
8
9
|
from isar.services.utilities.queue_utilities import QueueUtilities
|
|
9
10
|
from isar.services.utilities.scheduling_utilities import SchedulingUtilities
|
|
10
11
|
from isar.state_machine.states_enum import States
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import time
|
|
2
2
|
from collections import deque
|
|
3
|
-
from pathlib import Path
|
|
4
3
|
from threading import Thread
|
|
5
4
|
from typing import List
|
|
6
5
|
|
|
@@ -8,8 +7,6 @@ import pytest
|
|
|
8
7
|
from injector import Injector
|
|
9
8
|
from pytest_mock import MockerFixture
|
|
10
9
|
|
|
11
|
-
from isar.config.settings import settings
|
|
12
|
-
from isar.mission_planner.local_planner import LocalPlanner
|
|
13
10
|
from isar.models.communication.queues.queues import Queues
|
|
14
11
|
from isar.services.utilities.scheduling_utilities import SchedulingUtilities
|
|
15
12
|
from isar.state_machine.state_machine import StateMachine, main
|
|
@@ -32,7 +29,6 @@ from tests.mocks.task import MockTask
|
|
|
32
29
|
|
|
33
30
|
class StateMachineThread(object):
|
|
34
31
|
def __init__(self, injector) -> None:
|
|
35
|
-
# settings.UPLOAD_INSPECTIONS_ASYNC = False
|
|
36
32
|
self.injector: Injector = injector
|
|
37
33
|
self.state_machine: StateMachine = injector.get(StateMachine)
|
|
38
34
|
self._thread: Thread = Thread(target=main, args=[self.state_machine])
|
|
File without changes
|
|
@@ -5,7 +5,7 @@ from typing import Callable, List
|
|
|
5
5
|
|
|
6
6
|
from alitra import Frame, Orientation, Pose, Position
|
|
7
7
|
|
|
8
|
-
from robot_interface.models.initialize import InitializeParams
|
|
8
|
+
from robot_interface.models.initialize.initialize_params import InitializeParams
|
|
9
9
|
from robot_interface.models.inspection.inspection import (
|
|
10
10
|
Image,
|
|
11
11
|
ImageMetadata,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .models import InputPose, StartMissionResponse
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .initialize_params import InitializeParams
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2 → isar-1.25.3}/src/isar/config/predefined_mission_definition/default_mission.json
RENAMED
|
File without changes
|
{isar-1.25.2 → isar-1.25.3}/src/isar/config/predefined_mission_definition/default_turtlebot.json
RENAMED
|
File without changes
|
{isar-1.25.2/src/isar/mission_planner → isar-1.25.3/src/isar/config/predefined_missions}/__init__.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2/src/isar/services → isar-1.25.3/src/isar/models/communication/queues}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2/src/isar/services/auth → isar-1.25.3/src/isar/models/mission_metadata}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{isar-1.25.2/src/isar/services/service_connections → isar-1.25.3/src/isar/services}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2 → isar-1.25.3}/src/isar/services/service_connections/mqtt/robot_heartbeat_publisher.py
RENAMED
|
File without changes
|
{isar-1.25.2 → isar-1.25.3}/src/isar/services/service_connections/mqtt/robot_info_publisher.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
|
{isar-1.25.2/src/robot_interface/models → isar-1.25.3/src/isar/state_machine/states}/__init__.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
|
|
File without changes
|
{isar-1.25.2/src/robot_interface/models/exceptions → isar-1.25.3/src/isar/storage}/__init__.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
|
|
File without changes
|
{isar-1.25.2/src/robot_interface/models/mission → isar-1.25.3/src/robot_interface}/__init__.py
RENAMED
|
File without changes
|
{isar-1.25.2/src/robot_interface/models/robots → isar-1.25.3/src/robot_interface/models}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2/tests/integration → isar-1.25.3/src/robot_interface/models/mission}/__init__.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
|
|
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
|
{isar-1.25.2/tests/isar/apis/models → isar-1.25.3/tests/integration/turtlebot/config}/__init__.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
|
{isar-1.25.2/tests/isar/models/communication → isar-1.25.3/tests/isar/apis/models}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2/tests/isar/services/readers → isar-1.25.3/tests/isar/apis/security}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{isar-1.25.2/tests/isar/services/service_connections → isar-1.25.3/tests/isar/mission}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2/tests/isar/state_machine/states → isar-1.25.3/tests/isar/services/readers}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{isar-1.25.2 → isar-1.25.3}/tests/isar/services/service_connections/test_base_request_handler.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
|
|
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
|