Skip to content

Type UAV schema registry#235

Open
ethayu wants to merge 1 commit into
mainfrom
user/ethayu/workspace-pylance-uav-schema-typing
Open

Type UAV schema registry#235
ethayu wants to merge 1 commit into
mainfrom
user/ethayu/workspace-pylance-uav-schema-typing

Conversation

@ethayu

@ethayu ethayu commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • wrap ROS package-share lookup fallback in typed mission-spec helpers
  • cast dynamic Pydantic model field expansion at the schema boundary
  • narrow dynamic TypedDict metadata access and runtime Literal/TypedDict reconstruction
  • preserve committed schema output without regenerating registry data

Fixes #234
Part of #201

Verification

  • source /opt/ros/humble/setup.bash && source /home/ubuntu/monorepo/controls/sae_2025_ws/install/setup.bash && export PYTHONPATH="$PWD/controls/sae_2025_ws/src/uav:$PYTHONPATH" && npx --yes pyright controls/sae_2025_ws/src/uav/uav/runtime/schema.py controls/sae_2025_ws/src/uav/uav/runtime/schema_generator.py controls/sae_2025_ws/src/uav/uav/runtime/schema_registry.py controls/sae_2025_ws/src/uav/uav/runtime/mission_spec.py controls/sae_2025_ws/src/uav/uav/runtime/mode_paths.py --outputjson
  • python3 -m compileall controls/sae_2025_ws/src/uav/uav/runtime/schema.py controls/sae_2025_ws/src/uav/uav/runtime/schema_generator.py controls/sae_2025_ws/src/uav/uav/runtime/schema_registry.py controls/sae_2025_ws/src/uav/uav/runtime/mission_spec.py controls/sae_2025_ws/src/uav/uav/runtime/mode_paths.py
  • ruff check --config controls/sae_2025_ws/.ruff.toml controls/sae_2025_ws/src/uav/uav/runtime/schema.py controls/sae_2025_ws/src/uav/uav/runtime/schema_generator.py controls/sae_2025_ws/src/uav/uav/runtime/schema_registry.py controls/sae_2025_ws/src/uav/uav/runtime/mission_spec.py controls/sae_2025_ws/src/uav/uav/runtime/mode_paths.py
  • ruff format --check --config controls/sae_2025_ws/.ruff.toml controls/sae_2025_ws/src/uav/uav/runtime/schema.py controls/sae_2025_ws/src/uav/uav/runtime/schema_generator.py controls/sae_2025_ws/src/uav/uav/runtime/schema_registry.py controls/sae_2025_ws/src/uav/uav/runtime/mission_spec.py controls/sae_2025_ws/src/uav/uav/runtime/mode_paths.py
  • source /opt/ros/humble/setup.bash && source /home/ubuntu/monorepo/controls/sae_2025_ws/install/setup.bash && export PYTHONPATH="$PWD/controls/sae_2025_ws/src/uav:$PYTHONPATH" && python3 -m uav.runtime.schema_generator --check
  • source /opt/ros/humble/setup.bash && source /home/ubuntu/monorepo/controls/sae_2025_ws/install/setup.bash && export PYTHONPATH="$PWD/controls/sae_2025_ws/src/uav:$PYTHONPATH" && python3 -m pytest -q controls/sae_2025_ws/src/uav/test/test_mission_spec.py controls/sae_2025_ws/src/uav/test/test_schema_models.py controls/sae_2025_ws/src/uav/test/test_schema_registry_runtime.py

Not included as a gate: test_schema_validation.py currently fails on origin/main data because a checked-in fleet references missing uav/missions/payload_full_run.yaml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pylance: type UAV schema registry

1 participant