x4d-devkit 0.55.0rc1__tar.gz → 0.55.0rc2__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.
Files changed (176) hide show
  1. {x4d_devkit-0.55.0rc1/x4d_devkit.egg-info → x4d_devkit-0.55.0rc2}/PKG-INFO +1 -1
  2. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/pyproject.toml +1 -1
  3. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_sdk_api.py +1 -1
  4. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_work_session.py +16 -0
  5. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/materialize.py +16 -2
  6. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/validation/validator.py +9 -2
  7. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2/x4d_devkit.egg-info}/PKG-INFO +1 -1
  8. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/LICENSE +0 -0
  9. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/README.md +0 -0
  10. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/setup.cfg +0 -0
  11. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_accounts.py +0 -0
  12. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_annotation_contract.py +0 -0
  13. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_annotation_document_hash.py +0 -0
  14. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_annotation_reference.py +0 -0
  15. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_assets_client.py +0 -0
  16. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_boundary.py +0 -0
  17. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_box.py +0 -0
  18. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_build_info.py +0 -0
  19. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_category_audit.py +0 -0
  20. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_clean_basemap.py +0 -0
  21. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_clean_basemap_client.py +0 -0
  22. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_cli_auth.py +0 -0
  23. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_client_json_contract.py +0 -0
  24. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_client_projects.py +0 -0
  25. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_clip_archives.py +0 -0
  26. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_contract_validation.py +0 -0
  27. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_coordinate_frames.py +0 -0
  28. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_current_state.py +0 -0
  29. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_current_state_identity_consumers_example.py +0 -0
  30. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_dataset_contract.py +0 -0
  31. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_dataset_identity.py +0 -0
  32. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_detection_eval.py +0 -0
  33. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_evaluate.py +0 -0
  34. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_export_bundle.py +0 -0
  35. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_clip.py +0 -0
  36. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_conditional_rules.py +0 -0
  37. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_enum_set.py +0 -0
  38. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_export.py +0 -0
  39. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_geometry.py +0 -0
  40. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_groups.py +0 -0
  41. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_preannotation.py +0 -0
  42. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_reference.py +0 -0
  43. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_review.py +0 -0
  44. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_schema_migration.py +0 -0
  45. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_schema_registry_client.py +0 -0
  46. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_schema_upgrade.py +0 -0
  47. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_source.py +0 -0
  48. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_image_work_session.py +0 -0
  49. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_inference_input.py +0 -0
  50. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_inference_schemas.py +0 -0
  51. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_inference_service.py +0 -0
  52. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_label_schemas.py +0 -0
  53. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_lidar_materialization.py +0 -0
  54. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_loader.py +0 -0
  55. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_matching.py +0 -0
  56. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_metrics.py +0 -0
  57. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_models.py +0 -0
  58. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_parse_equivalence.py +0 -0
  59. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_platform_pose.py +0 -0
  60. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_preannotation_client.py +0 -0
  61. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_project_discovery.py +0 -0
  62. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_reconstruction_client.py +0 -0
  63. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_release_gate.py +0 -0
  64. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_roadmark_preview.py +0 -0
  65. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_semantic_scene_authoring.py +0 -0
  66. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_semantic_scene_client.py +0 -0
  67. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_semantic_scene_contract.py +0 -0
  68. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_semantic_scene_independent.py +0 -0
  69. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_semantic_scene_native_clip.py +0 -0
  70. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_source_attributes.py +0 -0
  71. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_source_content.py +0 -0
  72. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_time_contract.py +0 -0
  73. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_token.py +0 -0
  74. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_tracking_eval.py +0 -0
  75. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_training_identity.py +0 -0
  76. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_transform.py +0 -0
  77. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_transform_chain.py +0 -0
  78. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_validation.py +0 -0
  79. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_vector_map.py +0 -0
  80. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_vector_map_geometry.py +0 -0
  81. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_vector_map_session.py +0 -0
  82. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/tests/test_work_session_validation_reuse.py +0 -0
  83. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/__init__.py +0 -0
  84. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/_image_contract.py +0 -0
  85. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/accounts.py +0 -0
  86. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/annotation_contract.py +0 -0
  87. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/annotation_reference.py +0 -0
  88. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/audit.py +0 -0
  89. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/build_info.py +0 -0
  90. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/clean_basemap.py +0 -0
  91. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/cli.py +0 -0
  92. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/__init__.py +0 -0
  93. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/_origin.py +0 -0
  94. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/accounts.py +0 -0
  95. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/annotation_reference.py +0 -0
  96. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/assets.py +0 -0
  97. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/bags.py +0 -0
  98. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/capabilities.py +0 -0
  99. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/checkpoints.py +0 -0
  100. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/clean_basemap.py +0 -0
  101. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/client.py +0 -0
  102. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/clip_work_sessions.py +0 -0
  103. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/clips.py +0 -0
  104. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/dataset_identity.py +0 -0
  105. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/image_clips.py +0 -0
  106. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/image_exports.py +0 -0
  107. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/image_preannotations.py +0 -0
  108. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/image_review.py +0 -0
  109. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/image_schemas.py +0 -0
  110. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/image_work_sessions.py +0 -0
  111. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/label_schemas.py +0 -0
  112. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/preannotation.py +0 -0
  113. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/projects.py +0 -0
  114. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/reconstruction.py +0 -0
  115. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/semantic_scene.py +0 -0
  116. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/semantic_scene_authoring.py +0 -0
  117. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/services.py +0 -0
  118. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/client/test_sets.py +0 -0
  119. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/consumer_identity.py +0 -0
  120. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/coordinate_contract.py +0 -0
  121. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/core/__init__.py +0 -0
  122. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/core/loader.py +0 -0
  123. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/core/models.py +0 -0
  124. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/core/token.py +0 -0
  125. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/core/transform.py +0 -0
  126. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/current_state.py +0 -0
  127. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/dataset_contract.py +0 -0
  128. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/dataset_identity.py +0 -0
  129. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/eval/__init__.py +0 -0
  130. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/eval/api.py +0 -0
  131. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/eval/box.py +0 -0
  132. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/eval/detection.py +0 -0
  133. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/eval/matching.py +0 -0
  134. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/eval/metrics.py +0 -0
  135. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/eval/tracking.py +0 -0
  136. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/export_bundle.py +0 -0
  137. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_clip.py +0 -0
  138. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_export.py +0 -0
  139. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_geometry.py +0 -0
  140. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_groups.py +0 -0
  141. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_preannotation.py +0 -0
  142. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_reference.py +0 -0
  143. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_review.py +0 -0
  144. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_schema.py +0 -0
  145. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_schema_migration.py +0 -0
  146. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_schema_upgrade.py +0 -0
  147. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_source.py +0 -0
  148. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/image_work_session.py +0 -0
  149. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/inference/__init__.py +0 -0
  150. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/inference/input.py +0 -0
  151. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/inference/models.py +0 -0
  152. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/inference/schemas.py +0 -0
  153. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/inference/service.py +0 -0
  154. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/inference/tasks.py +0 -0
  155. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/json_contract.py +0 -0
  156. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/label_schema.py +0 -0
  157. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/lidar_materialization.py +0 -0
  158. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/project_discovery.py +0 -0
  159. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/roadmark_preview.py +0 -0
  160. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/semantic_scene_authoring.py +0 -0
  161. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/semantic_scene_contract.py +0 -0
  162. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/source_content.py +0 -0
  163. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/time_contract.py +0 -0
  164. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/training_identity.py +0 -0
  165. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/validation/__init__.py +0 -0
  166. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/validation/contract.py +0 -0
  167. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/validation/platform_pose.py +0 -0
  168. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/validation/report.py +0 -0
  169. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/vector_map.py +0 -0
  170. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/vector_map_geometry.py +0 -0
  171. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit/work_session.py +0 -0
  172. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit.egg-info/SOURCES.txt +0 -0
  173. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit.egg-info/dependency_links.txt +0 -0
  174. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit.egg-info/entry_points.txt +0 -0
  175. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit.egg-info/requires.txt +0 -0
  176. {x4d_devkit-0.55.0rc1 → x4d_devkit-0.55.0rc2}/x4d_devkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: x4d-devkit
3
- Version: 0.55.0rc1
3
+ Version: 0.55.0rc2
4
4
  Summary: Official X-4D external SDK and CLI for datasets, platform APIs, training bridges, and automation
5
5
  Author: windzu
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "x4d-devkit"
7
- version = "0.55.0rc1"
7
+ version = "0.55.0rc2"
8
8
  description = "Official X-4D external SDK and CLI for datasets, platform APIs, training bridges, and automation"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -11,7 +11,7 @@ from x4d_devkit.eval.matching import MetricData
11
11
 
12
12
 
13
13
  def test_package_version_is_current_release():
14
- assert x4d_devkit.__version__ == "0.55.0rc1"
14
+ assert x4d_devkit.__version__ == "0.55.0rc2"
15
15
 
16
16
 
17
17
  def test_loader_exposes_and_enforces_only_current_schema(tmp_path):
@@ -442,6 +442,22 @@ def test_work_session_materializes_optional_semantic_scene_as_an_independent_com
442
442
  loader = ClipLoader(tmp_path)
443
443
  assert loader.load_semantic_scene_component().manifest.semantic_scene_revision == source["semantic_scene_revision"]
444
444
 
445
+ # A later complete materialization of the same semantic-scene revision
446
+ # reuses the vouched component: no removal, transfer or re-validation.
447
+ semantic_urls = set(source["semantic_scene_asset_urls"].values())
448
+ before = len(client._http.urls)
449
+ again = materialize_work_session_clip(
450
+ source,
451
+ output_dir=tmp_path,
452
+ client=client,
453
+ workers=1,
454
+ )
455
+ assert again["errors"] == []
456
+ assert not semantic_urls & {url for _, url in client._http.urls[before:]}
457
+ assert ClipLoader(tmp_path).load_semantic_scene_component().manifest.semantic_scene_revision == (
458
+ source["semantic_scene_revision"]
459
+ )
460
+
445
461
 
446
462
  def test_keyframes_only_materialization_writes_self_contained_projection(
447
463
  tmp_path,
@@ -466,7 +466,17 @@ def materialize_work_session_clip(
466
466
  errors=errors,
467
467
  )
468
468
 
469
- if "semantic_scene" in selected_components:
469
+ # The Semantic Scene is an independent content-addressed component with its
470
+ # own revision. When the completed cache already vouches for exactly the
471
+ # target revision, it is reused: no removal, transfer, or re-validation.
472
+ reuse_semantic_scene = (
473
+ "semantic_scene" in selected_components
474
+ and ws.semantic_scene_revision is not None
475
+ and previous_identity.get("semantic_scene_revision")
476
+ == ws.semantic_scene_revision
477
+ and (clip_dir / "semantic_scene" / "manifest.json").is_file()
478
+ )
479
+ if "semantic_scene" in selected_components and not reuse_semantic_scene:
470
480
  _remove_semantic_scene_component(clip_dir)
471
481
  if ws.semantic_scene_revision is not None:
472
482
  with _http_context(client=client, api_url=api_url, token=token) as http:
@@ -502,6 +512,7 @@ def materialize_work_session_clip(
502
512
  not errors
503
513
  and "semantic_scene" in selected_components
504
514
  and ws.semantic_scene_revision is not None
515
+ and not reuse_semantic_scene
505
516
  ):
506
517
  try:
507
518
  from x4d_devkit.validation.validator import load_semantic_scene_component
@@ -523,7 +534,10 @@ def materialize_work_session_clip(
523
534
  if not errors:
524
535
  from x4d_devkit.validation.validator import validate_clip
525
536
 
526
- report = validate_clip(clip_dir)
537
+ report = validate_clip(
538
+ clip_dir,
539
+ validate_semantic_scene=not reuse_semantic_scene,
540
+ )
527
541
  if not report.ok:
528
542
  errors.append(
529
543
  {
@@ -86,8 +86,15 @@ def _is_canonical_asset_path(value: Any) -> bool:
86
86
 
87
87
  def validate_clip(
88
88
  clip_dir: str | Path,
89
+ *,
90
+ validate_semantic_scene: bool = True,
89
91
  ) -> ValidationReport:
90
- """Validate one self-contained native Dataset 0.18 Clip."""
92
+ """Validate one self-contained native Dataset 0.18 Clip.
93
+
94
+ ``validate_semantic_scene=False`` is only for a caller that already holds
95
+ proof that the present Semantic Scene component is the exact unchanged
96
+ revision it validated before (for example a reused cache component).
97
+ """
91
98
 
92
99
  root = Path(clip_dir)
93
100
  issues: list[ValidationIssue] = []
@@ -136,7 +143,7 @@ def validate_clip(
136
143
  "native semantic_scene component path must be a directory",
137
144
  str(semantic_scene_path),
138
145
  )
139
- elif report.ok:
146
+ elif report.ok and validate_semantic_scene:
140
147
  try:
141
148
  load_semantic_scene_component(root)
142
149
  except Exception as exc:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: x4d-devkit
3
- Version: 0.55.0rc1
3
+ Version: 0.55.0rc2
4
4
  Summary: Official X-4D external SDK and CLI for datasets, platform APIs, training bridges, and automation
5
5
  Author: windzu
6
6
  License-Expression: Apache-2.0
File without changes
File without changes
File without changes