opensportslib 0.3.1.dev1__tar.gz → 0.3.1.dev2__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 (194) hide show
  1. {opensportslib-0.3.1.dev1/opensportslib.egg-info → opensportslib-0.3.1.dev2}/PKG-INFO +14 -4
  2. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/README.md +13 -3
  3. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/tools/__init__.py +23 -0
  4. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/tools/hf_transfer.py +899 -65
  5. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/tools/parquet_to_osl_json.py +64 -5
  6. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2/opensportslib.egg-info}/PKG-INFO +14 -4
  7. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/pyproject.toml +1 -1
  8. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_hf_transfer_tools.py +824 -11
  9. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/download/download_osl_hf.py +8 -0
  10. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/LICENSE +0 -0
  11. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/LICENSE-COMMERCIAL +0 -0
  12. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/MANIFEST.in +0 -0
  13. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/examples/quickstart/basic_classification.py +0 -0
  14. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/examples/quickstart/basic_localization.py +0 -0
  15. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/examples/quickstart/basic_vqa.py +0 -0
  16. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/__init__.py +0 -0
  17. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/adaptation/__init__.py +0 -0
  18. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/adaptation/spotta.py +0 -0
  19. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/apis/__init__.py +0 -0
  20. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/apis/base_task_model.py +0 -0
  21. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/apis/classification.py +0 -0
  22. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/apis/localization.py +0 -0
  23. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/apis/vqa.py +0 -0
  24. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/cli.py +0 -0
  25. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/classification/default.yaml +0 -0
  26. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/classification/sngar_frames.yaml +0 -0
  27. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/classification/sngar_tracking.yaml +0 -0
  28. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/classification/video.yaml +0 -0
  29. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/default.yaml +0 -0
  30. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/calf_resnetpca512.yaml +0 -0
  31. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/default.yaml +0 -0
  32. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/e2e_spotta.yaml +0 -0
  33. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/h5_header_distance.yaml +0 -0
  34. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/h5_header_skeleton.yaml +0 -0
  35. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/netvladpp_resnetpca512.yaml +0 -0
  36. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/tracking_action_spotting.yaml +0 -0
  37. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/video_dali.yaml +0 -0
  38. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/localization/video_ocv.yaml +0 -0
  39. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/vqa/default.yaml +0 -0
  40. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/vqa/qwen.yaml +0 -0
  41. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/vqa/qwen3_vl_native.yaml +0 -0
  42. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/vqa/qwen_lora.yaml +0 -0
  43. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/vqa/qwen_sngar_frames.yaml +0 -0
  44. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/configs/vqa/xvars.yaml +0 -0
  45. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/__init__.py +0 -0
  46. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/__init__.py +0 -0
  47. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/accessors.py +0 -0
  48. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/conflicts.py +0 -0
  49. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/loader.py +0 -0
  50. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/migrate.py +0 -0
  51. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/migrations/__init__.py +0 -0
  52. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/migrations/legacy_to_canonical.py +0 -0
  53. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/runtime_adapter.py +0 -0
  54. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/schema.py +0 -0
  55. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/schemas/__init__.py +0 -0
  56. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/schemas/schema_canonical.py +0 -0
  57. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/schemas/schema_legacy.py +0 -0
  58. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/config/validate.py +0 -0
  59. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/loss/__init__.py +0 -0
  60. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/loss/builder.py +0 -0
  61. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/loss/calf.py +0 -0
  62. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/loss/ce.py +0 -0
  63. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/loss/combine.py +0 -0
  64. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/loss/nll.py +0 -0
  65. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/optimizer/__init__.py +0 -0
  66. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/optimizer/builder.py +0 -0
  67. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/sampler/weighted_sampler.py +0 -0
  68. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/scheduler/__init__.py +0 -0
  69. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/scheduler/builder.py +0 -0
  70. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/trainer/__init__.py +0 -0
  71. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/trainer/classification_trainer.py +0 -0
  72. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/trainer/localization_trainer.py +0 -0
  73. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/trainer/vqa_trainer.py +0 -0
  74. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/checkpoint.py +0 -0
  75. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/config.py +0 -0
  76. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/config_normalize.py +0 -0
  77. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/data.py +0 -0
  78. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/ddp.py +0 -0
  79. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/default_args.py +0 -0
  80. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/hf_runtime.py +0 -0
  81. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/lightning.py +0 -0
  82. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/load_annotations.py +0 -0
  83. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/seed.py +0 -0
  84. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/video_processing.py +0 -0
  85. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/core/utils/wandb.py +0 -0
  86. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/__init__.py +0 -0
  87. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/builder.py +0 -0
  88. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/classification_dataset.py +0 -0
  89. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/localization_dataset.py +0 -0
  90. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/utils/__init__.py +0 -0
  91. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/utils/h5_tracking.py +0 -0
  92. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/utils/tracking.py +0 -0
  93. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/datasets/vqa_dataset.py +0 -0
  94. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/legacy_config/classification.yaml +0 -0
  95. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/legacy_config/localization-e2e-ocv.yaml +0 -0
  96. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/legacy_config/localization-json_calf_resnetpca512.yaml +0 -0
  97. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/legacy_config/localization-json_netvlad++_resnetpca512.yaml +0 -0
  98. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/legacy_config/localization.yaml +0 -0
  99. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/legacy_config/sngar-frames.yaml +0 -0
  100. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/legacy_config/sngar-tracking.yaml +0 -0
  101. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/metrics/classification_metric.py +0 -0
  102. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/metrics/localization_metric.py +0 -0
  103. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/metrics/vqa_metric.py +0 -0
  104. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/__init__.py +0 -0
  105. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/backbones/builder.py +0 -0
  106. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/contextaware.py +0 -0
  107. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/e2e.py +0 -0
  108. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/learnablepooling.py +0 -0
  109. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/qwen_vl_native.py +0 -0
  110. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/qwen_xvars.py +0 -0
  111. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/rule_based.py +0 -0
  112. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/tracking.py +0 -0
  113. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/vars.py +0 -0
  114. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/video.py +0 -0
  115. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/video_chatgpt_compat.py +0 -0
  116. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/video_mae.py +0 -0
  117. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/base/xvars_videochatgpt.py +0 -0
  118. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/builder.py +0 -0
  119. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/heads/builder.py +0 -0
  120. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/neck/builder.py +0 -0
  121. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/common.py +0 -0
  122. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/impl/__init__.py +0 -0
  123. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/impl/asformer.py +0 -0
  124. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/impl/calf.py +0 -0
  125. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/impl/gsm.py +0 -0
  126. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/impl/gtad.py +0 -0
  127. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/impl/tsm.py +0 -0
  128. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/litebase.py +0 -0
  129. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/modules.py +0 -0
  130. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/shift.py +0 -0
  131. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/utils.py +0 -0
  132. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/vqa_prediction_priors.py +0 -0
  133. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/vqa_prompting.py +0 -0
  134. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/models/utils/xvars_clip_index.py +0 -0
  135. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/setup/setup.py +0 -0
  136. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/tools/_common.py +0 -0
  137. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib/tools/osl_json_to_parquet.py +0 -0
  138. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib.egg-info/SOURCES.txt +0 -0
  139. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib.egg-info/dependency_links.txt +0 -0
  140. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib.egg-info/entry_points.txt +0 -0
  141. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib.egg-info/requires.txt +0 -0
  142. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/opensportslib.egg-info/top_level.txt +0 -0
  143. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/scripts/run_h5_header_rule_inference.py +0 -0
  144. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/setup.cfg +0 -0
  145. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/conftest.py +0 -0
  146. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/release/__init__.py +0 -0
  147. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/release/_release_common.py +0 -0
  148. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/release/test_classification_release.py +0 -0
  149. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/release/test_localization_release.py +0 -0
  150. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/release/test_vqa_release.py +0 -0
  151. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_classification_dataset_paths.py +0 -0
  152. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_classification_trainer_dataloader.py +0 -0
  153. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_config_architecture.py +0 -0
  154. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_config_split_override_sync.py +0 -0
  155. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_config_utils_smoke.py +0 -0
  156. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_conversion_tools.py +0 -0
  157. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_extract_xvars_features.py +0 -0
  158. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_h5_header_rule_spotter.py +0 -0
  159. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_h5_header_skeleton_spotter.py +0 -0
  160. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_h5_tracking_dataset.py +0 -0
  161. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_localization_dali_filenames.py +0 -0
  162. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_localization_hf_backend_override.py +0 -0
  163. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_localization_intervals.py +0 -0
  164. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_package_smoke.py +0 -0
  165. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_pretrained_config_merge_policy.py +0 -0
  166. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_public_apis_smoke.py +0 -0
  167. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_setup_cli.py +0 -0
  168. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_spotta_e2e.py +0 -0
  169. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_subset_train_infer_integration.py +0 -0
  170. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_task_model_api_contract.py +0 -0
  171. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_vqa_api.py +0 -0
  172. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_vqa_metrics_semantic.py +0 -0
  173. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_vqa_qwen_xvars.py +0 -0
  174. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_vqa_training_lora.py +0 -0
  175. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tests/test_vqa_xvars_videochatgpt.py +0 -0
  176. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/build_sn_vqa_2026_vqa.py +0 -0
  177. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/build_sngar_spotting.py +0 -0
  178. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/build_soccernet_gar.py +0 -0
  179. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/build_soccernet_gar_action_spotting.py +0 -0
  180. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/build_soccernet_gar_vqa.py +0 -0
  181. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/build_xvars_indexes.py +0 -0
  182. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/extract_xvars_clip_features.py +0 -0
  183. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/osl_json_to_parquet_webdataset.py +0 -0
  184. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/parquet_webdataset_to_osl_json.py +0 -0
  185. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/sngar_dataset_card.py +0 -0
  186. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/sngar_events.py +0 -0
  187. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/convert/verify_sngar_spotting.py +0 -0
  188. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/download/download_hf_repo.py +0 -0
  189. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/download/push_sngar_spotting.py +0 -0
  190. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/download/upload_osl_hf.py +0 -0
  191. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/training/classification.py +0 -0
  192. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/training/localization.py +0 -0
  193. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/training/vqa.py +0 -0
  194. {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev2}/tools/upload/upload_model_hf.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensportslib
3
- Version: 0.3.1.dev1
3
+ Version: 0.3.1.dev2
4
4
  Summary: OpenSportsLib is the professional library, designed for advanced video understanding in sports. It provides state-of-the-art tools for action recognition, spotting, retrieval, and captioning, making it ideal for researchers, analysts, and developers working with sports video data.
5
5
  Author: Jeet Vora
6
6
  Requires-Python: >=3.12
@@ -372,6 +372,7 @@ OpenSportsLib provides APIs and scripts for downloading and uploading OSL datase
372
372
  ```python
373
373
  from opensportslib.tools import (
374
374
  download_dataset_split_from_hf,
375
+ download_dataset_sample_inputs_from_hf,
375
376
  upload_dataset_inputs_from_json_to_hf,
376
377
  upload_dataset_as_parquet_to_hf,
377
378
  )
@@ -380,13 +381,22 @@ from opensportslib.tools import (
380
381
  ### Scripts
381
382
 
382
383
  ```bash
383
- python tools/download/download_osl_hf.py --repo-id <org/repo> --revision main --split test --format parquet --output-dir downloaded_data
384
+ python tools/download/download_osl_hf.py --repo-id <org/repo> --revision main --split test --format parquet --output-dir downloaded_data --annotations-only
384
385
  python tools/download/upload_osl_hf.py --repo-id <org/repo> --json-path <local_dataset.json> --split test --revision main
385
386
  ```
386
387
 
387
388
  Downloads are placed under `<output-dir>/<revision>/<split>`.
388
- For Parquet/WebDataset downloads, an existing `<split>.json` in that directory
389
- is reused without downloading or converting the split again.
389
+ Pass `annotations_only=True` to download or reconstruct only `<split>.json`.
390
+ The JSON records the resolved Hugging Face commit and can later be passed to
391
+ `download_dataset_sample_inputs_from_hf()` to fetch one sample or input. A full
392
+ Parquet/WebDataset download always completes the local split even when a
393
+ metadata-only `<split>.json` already exists.
394
+
395
+ JSON uploads support partially downloaded datasets: the JSON and all
396
+ referenced files available locally are committed, while missing referenced
397
+ files are skipped and reported. Remote files not included in that commit are
398
+ left untouched. Parquet/WebDataset uploads remain strict and require every
399
+ referenced file locally before conversion.
390
400
 
391
401
  ---
392
402
 
@@ -336,6 +336,7 @@ OpenSportsLib provides APIs and scripts for downloading and uploading OSL datase
336
336
  ```python
337
337
  from opensportslib.tools import (
338
338
  download_dataset_split_from_hf,
339
+ download_dataset_sample_inputs_from_hf,
339
340
  upload_dataset_inputs_from_json_to_hf,
340
341
  upload_dataset_as_parquet_to_hf,
341
342
  )
@@ -344,13 +345,22 @@ from opensportslib.tools import (
344
345
  ### Scripts
345
346
 
346
347
  ```bash
347
- python tools/download/download_osl_hf.py --repo-id <org/repo> --revision main --split test --format parquet --output-dir downloaded_data
348
+ python tools/download/download_osl_hf.py --repo-id <org/repo> --revision main --split test --format parquet --output-dir downloaded_data --annotations-only
348
349
  python tools/download/upload_osl_hf.py --repo-id <org/repo> --json-path <local_dataset.json> --split test --revision main
349
350
  ```
350
351
 
351
352
  Downloads are placed under `<output-dir>/<revision>/<split>`.
352
- For Parquet/WebDataset downloads, an existing `<split>.json` in that directory
353
- is reused without downloading or converting the split again.
353
+ Pass `annotations_only=True` to download or reconstruct only `<split>.json`.
354
+ The JSON records the resolved Hugging Face commit and can later be passed to
355
+ `download_dataset_sample_inputs_from_hf()` to fetch one sample or input. A full
356
+ Parquet/WebDataset download always completes the local split even when a
357
+ metadata-only `<split>.json` already exists.
358
+
359
+ JSON uploads support partially downloaded datasets: the JSON and all
360
+ referenced files available locally are committed, while missing referenced
361
+ files are skipped and reported. Remote files not included in that commit are
362
+ left untouched. Parquet/WebDataset uploads remain strict and require every
363
+ referenced file locally before conversion.
354
364
 
355
365
  ---
356
366
 
@@ -10,13 +10,29 @@ _EXPORTS = {
10
10
  "DEFAULT_SHARD_SIZE": ("opensportslib.tools.osl_json_to_parquet", "DEFAULT_SHARD_SIZE"),
11
11
  "parse_shard_size": ("opensportslib.tools.osl_json_to_parquet", "parse_shard_size"),
12
12
  "convert_parquet_to_json": ("opensportslib.tools.parquet_to_osl_json", "convert_parquet_to_json"),
13
+ "convert_parquet_metadata_to_json": (
14
+ "opensportslib.tools.parquet_to_osl_json",
15
+ "convert_parquet_metadata_to_json",
16
+ ),
13
17
  "convert_sn_vqa_2026_to_osl": ("opensportslib.tools.sn_vqa_2026_qwen_native", "convert_sn_vqa_2026_to_osl"),
14
18
  "evaluate_sn_vqa_predictions": ("opensportslib.tools.sn_vqa_2026_qwen_native", "evaluate_sn_vqa_predictions"),
15
19
  "HfTransferCancelled": ("opensportslib.tools.hf_transfer", "HfTransferCancelled"),
20
+ "MissingDatasetInputsError": ("opensportslib.tools.hf_transfer", "MissingDatasetInputsError"),
16
21
  "HF_REPO_ID_KEY": ("opensportslib.tools.hf_transfer", "HF_REPO_ID_KEY"),
17
22
  "HF_BRANCH_KEY": ("opensportslib.tools.hf_transfer", "HF_BRANCH_KEY"),
18
23
  "HF_SPLIT_KEY": ("opensportslib.tools.hf_transfer", "HF_SPLIT_KEY"),
24
+ "HF_FORMAT_KEY": ("opensportslib.tools.hf_transfer", "HF_FORMAT_KEY"),
25
+ "HF_COMMIT_KEY": ("opensportslib.tools.hf_transfer", "HF_COMMIT_KEY"),
19
26
  "download_dataset_split_from_hf": ("opensportslib.tools.hf_transfer", "download_dataset_split_from_hf"),
27
+ "download_dataset_sample_inputs_from_hf": (
28
+ "opensportslib.tools.hf_transfer",
29
+ "download_dataset_sample_inputs_from_hf",
30
+ ),
31
+ "download_dataset_missing_inputs_from_hf": (
32
+ "opensportslib.tools.hf_transfer",
33
+ "download_dataset_missing_inputs_from_hf",
34
+ ),
35
+ "find_missing_dataset_inputs": ("opensportslib.tools.hf_transfer", "find_missing_dataset_inputs"),
20
36
  "upload_dataset_inputs_from_json_to_hf": ("opensportslib.tools.hf_transfer", "upload_dataset_inputs_from_json_to_hf"),
21
37
  "upload_dataset_as_parquet_to_hf": ("opensportslib.tools.hf_transfer", "upload_dataset_as_parquet_to_hf"),
22
38
  "create_dataset_repo_on_hf": ("opensportslib.tools.hf_transfer", "create_dataset_repo_on_hf"),
@@ -37,13 +53,20 @@ __all__ = [
37
53
  "DEFAULT_SHARD_SIZE",
38
54
  "parse_shard_size",
39
55
  "convert_parquet_to_json",
56
+ "convert_parquet_metadata_to_json",
40
57
  "convert_sn_vqa_2026_to_osl",
41
58
  "evaluate_sn_vqa_predictions",
42
59
  "HfTransferCancelled",
60
+ "MissingDatasetInputsError",
43
61
  "HF_REPO_ID_KEY",
44
62
  "HF_BRANCH_KEY",
45
63
  "HF_SPLIT_KEY",
64
+ "HF_FORMAT_KEY",
65
+ "HF_COMMIT_KEY",
46
66
  "download_dataset_split_from_hf",
67
+ "download_dataset_sample_inputs_from_hf",
68
+ "download_dataset_missing_inputs_from_hf",
69
+ "find_missing_dataset_inputs",
47
70
  "upload_dataset_inputs_from_json_to_hf",
48
71
  "upload_dataset_as_parquet_to_hf",
49
72
  "create_dataset_repo_on_hf",