opensportslib 0.3.0.dev5__tar.gz → 0.3.0.dev7__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 (183) hide show
  1. {opensportslib-0.3.0.dev5/opensportslib.egg-info → opensportslib-0.3.0.dev7}/PKG-INFO +8 -1
  2. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/README.md +7 -0
  3. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/localization_dataset.py +23 -14
  4. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7/opensportslib.egg-info}/PKG-INFO +8 -1
  5. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/pyproject.toml +1 -1
  6. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_localization_dali_filenames.py +8 -1
  7. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/LICENSE +0 -0
  8. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/LICENSE-COMMERCIAL +0 -0
  9. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/MANIFEST.in +0 -0
  10. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/examples/quickstart/basic_classification.py +0 -0
  11. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/examples/quickstart/basic_localization.py +0 -0
  12. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/examples/quickstart/basic_vqa.py +0 -0
  13. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/__init__.py +0 -0
  14. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/apis/__init__.py +0 -0
  15. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/apis/base_task_model.py +0 -0
  16. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/apis/classification.py +0 -0
  17. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/apis/localization.py +0 -0
  18. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/apis/vqa.py +0 -0
  19. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/cli.py +0 -0
  20. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/classification/default.yaml +0 -0
  21. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/classification/sngar_frames.yaml +0 -0
  22. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/classification/sngar_tracking.yaml +0 -0
  23. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/classification/video.yaml +0 -0
  24. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/default.yaml +0 -0
  25. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/calf_resnetpca512.yaml +0 -0
  26. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/default.yaml +0 -0
  27. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/h5_header_distance.yaml +0 -0
  28. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/h5_header_distance_angle.yaml +0 -0
  29. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/h5_header_distance_speed.yaml +0 -0
  30. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/h5_header_distance_speed_angle.yaml +0 -0
  31. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/h5_header_rule.yaml +0 -0
  32. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/h5_header_skeleton.yaml +0 -0
  33. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/netvladpp_resnetpca512.yaml +0 -0
  34. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/video_dali.yaml +0 -0
  35. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/localization/video_ocv.yaml +0 -0
  36. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/vqa/default.yaml +0 -0
  37. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/vqa/qwen.yaml +0 -0
  38. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/vqa/qwen3_vl_native.yaml +0 -0
  39. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/vqa/qwen_lora.yaml +0 -0
  40. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/vqa/qwen_sngar_frames.yaml +0 -0
  41. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/configs/vqa/xvars.yaml +0 -0
  42. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/__init__.py +0 -0
  43. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/__init__.py +0 -0
  44. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/accessors.py +0 -0
  45. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/conflicts.py +0 -0
  46. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/loader.py +0 -0
  47. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/migrate.py +0 -0
  48. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/migrations/__init__.py +0 -0
  49. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/migrations/legacy_to_canonical.py +0 -0
  50. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/runtime_adapter.py +0 -0
  51. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/schema.py +0 -0
  52. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/schemas/__init__.py +0 -0
  53. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/schemas/schema_canonical.py +0 -0
  54. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/schemas/schema_legacy.py +0 -0
  55. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/config/validate.py +0 -0
  56. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/loss/__init__.py +0 -0
  57. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/loss/builder.py +0 -0
  58. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/loss/calf.py +0 -0
  59. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/loss/ce.py +0 -0
  60. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/loss/combine.py +0 -0
  61. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/loss/nll.py +0 -0
  62. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/optimizer/__init__.py +0 -0
  63. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/optimizer/builder.py +0 -0
  64. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/sampler/weighted_sampler.py +0 -0
  65. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/scheduler/__init__.py +0 -0
  66. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/scheduler/builder.py +0 -0
  67. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/trainer/__init__.py +0 -0
  68. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/trainer/classification_trainer.py +0 -0
  69. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/trainer/localization_trainer.py +0 -0
  70. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/trainer/vqa_trainer.py +0 -0
  71. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/checkpoint.py +0 -0
  72. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/config.py +0 -0
  73. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/config_normalize.py +0 -0
  74. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/data.py +0 -0
  75. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/ddp.py +0 -0
  76. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/default_args.py +0 -0
  77. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/hf_runtime.py +0 -0
  78. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/lightning.py +0 -0
  79. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/load_annotations.py +0 -0
  80. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/seed.py +0 -0
  81. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/video_processing.py +0 -0
  82. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/core/utils/wandb.py +0 -0
  83. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/__init__.py +0 -0
  84. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/builder.py +0 -0
  85. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/classification_dataset.py +0 -0
  86. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/utils/__init__.py +0 -0
  87. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/utils/h5_tracking.py +0 -0
  88. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/utils/tracking.py +0 -0
  89. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/datasets/vqa_dataset.py +0 -0
  90. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/legacy_config/classification.yaml +0 -0
  91. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/legacy_config/localization-e2e-ocv.yaml +0 -0
  92. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/legacy_config/localization-json_calf_resnetpca512.yaml +0 -0
  93. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/legacy_config/localization-json_netvlad++_resnetpca512.yaml +0 -0
  94. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/legacy_config/localization.yaml +0 -0
  95. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/legacy_config/sngar-frames.yaml +0 -0
  96. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/legacy_config/sngar-tracking.yaml +0 -0
  97. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/metrics/classification_metric.py +0 -0
  98. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/metrics/localization_metric.py +0 -0
  99. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/metrics/vqa_metric.py +0 -0
  100. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/__init__.py +0 -0
  101. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/backbones/builder.py +0 -0
  102. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/contextaware.py +0 -0
  103. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/e2e.py +0 -0
  104. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/learnablepooling.py +0 -0
  105. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/qwen_vl_native.py +0 -0
  106. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/qwen_xvars.py +0 -0
  107. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/rule_based.py +0 -0
  108. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/tracking.py +0 -0
  109. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/vars.py +0 -0
  110. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/video.py +0 -0
  111. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/video_chatgpt_compat.py +0 -0
  112. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/video_mae.py +0 -0
  113. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/base/xvars_videochatgpt.py +0 -0
  114. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/builder.py +0 -0
  115. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/heads/builder.py +0 -0
  116. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/neck/builder.py +0 -0
  117. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/common.py +0 -0
  118. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/impl/__init__.py +0 -0
  119. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/impl/asformer.py +0 -0
  120. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/impl/calf.py +0 -0
  121. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/impl/gsm.py +0 -0
  122. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/impl/gtad.py +0 -0
  123. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/impl/tsm.py +0 -0
  124. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/litebase.py +0 -0
  125. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/modules.py +0 -0
  126. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/shift.py +0 -0
  127. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/utils.py +0 -0
  128. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/vqa_prediction_priors.py +0 -0
  129. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/vqa_prompting.py +0 -0
  130. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/models/utils/xvars_clip_index.py +0 -0
  131. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/setup/setup.py +0 -0
  132. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/tools/__init__.py +0 -0
  133. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/tools/_common.py +0 -0
  134. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/tools/hf_transfer.py +0 -0
  135. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/tools/osl_json_to_parquet.py +0 -0
  136. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib/tools/parquet_to_osl_json.py +0 -0
  137. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib.egg-info/SOURCES.txt +0 -0
  138. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib.egg-info/dependency_links.txt +0 -0
  139. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib.egg-info/entry_points.txt +0 -0
  140. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib.egg-info/requires.txt +0 -0
  141. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/opensportslib.egg-info/top_level.txt +0 -0
  142. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/scripts/run_h5_header_rule_inference.py +0 -0
  143. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/scripts/run_header_spotting_eval.py +0 -0
  144. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/setup.cfg +0 -0
  145. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/conftest.py +0 -0
  146. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_classification_dataset_paths.py +0 -0
  147. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_classification_trainer_dataloader.py +0 -0
  148. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_config_architecture.py +0 -0
  149. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_config_split_override_sync.py +0 -0
  150. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_config_utils_smoke.py +0 -0
  151. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_conversion_tools.py +0 -0
  152. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_extract_xvars_features.py +0 -0
  153. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_h5_header_rule_spotter.py +0 -0
  154. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_h5_header_skeleton_spotter.py +0 -0
  155. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_h5_tracking_dataset.py +0 -0
  156. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_hf_transfer_tools.py +0 -0
  157. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_localization_hf_backend_override.py +0 -0
  158. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_package_smoke.py +0 -0
  159. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_pretrained_config_merge_policy.py +0 -0
  160. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_public_apis_smoke.py +0 -0
  161. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_setup_cli.py +0 -0
  162. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_subset_train_infer_integration.py +0 -0
  163. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_task_model_api_contract.py +0 -0
  164. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_vqa_api.py +0 -0
  165. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_vqa_metrics_semantic.py +0 -0
  166. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_vqa_qwen_xvars.py +0 -0
  167. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_vqa_training_lora.py +0 -0
  168. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tests/test_vqa_xvars_videochatgpt.py +0 -0
  169. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/build_sn_vqa_2026_vqa.py +0 -0
  170. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/build_soccernet_gar.py +0 -0
  171. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/build_soccernet_gar_action_spotting.py +0 -0
  172. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/build_soccernet_gar_vqa.py +0 -0
  173. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/build_xvars_indexes.py +0 -0
  174. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/extract_xvars_clip_features.py +0 -0
  175. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/osl_json_to_parquet_webdataset.py +0 -0
  176. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/convert/parquet_webdataset_to_osl_json.py +0 -0
  177. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/download/download_hf_repo.py +0 -0
  178. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/download/download_osl_hf.py +0 -0
  179. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/download/upload_osl_hf.py +0 -0
  180. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/training/classification.py +0 -0
  181. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/training/localization.py +0 -0
  182. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/tools/training/vqa.py +0 -0
  183. {opensportslib-0.3.0.dev5 → opensportslib-0.3.0.dev7}/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.0.dev5
3
+ Version: 0.3.0.dev7
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
@@ -72,6 +72,13 @@ OpenSportsLib is designed for **researchers, ML engineers, and sports analytics
72
72
  > Supports CUDA 12.6 / 12.8 / 13.0 (with CPU fallback).
73
73
  > PyTorch Geometric is supported up to PyTorch 2.10.*.
74
74
 
75
+ ### Create conda env
76
+
77
+ ```bash
78
+ conda create -n osl python=3.12 pip
79
+ conda activate osl
80
+ ```
81
+
75
82
  ### Stable release
76
83
 
77
84
  ```bash
@@ -36,6 +36,13 @@ OpenSportsLib is designed for **researchers, ML engineers, and sports analytics
36
36
  > Supports CUDA 12.6 / 12.8 / 13.0 (with CPU fallback).
37
37
  > PyTorch Geometric is supported up to PyTorch 2.10.*.
38
38
 
39
+ ### Create conda env
40
+
41
+ ```bash
42
+ conda create -n osl python=3.12 pip
43
+ conda activate osl
44
+ ```
45
+
39
46
  ### Stable release
40
47
 
41
48
  ```bash
@@ -74,6 +74,15 @@ def _build_dali_filenames_and_labels(labels):
74
74
  return filenames, label_indices
75
75
 
76
76
 
77
+ def _normalize_dali_devices(devices, sample_count):
78
+ devices = list(devices or [])
79
+ if not devices:
80
+ return [0]
81
+ if sample_count <= 0:
82
+ return devices[:1]
83
+ return devices[: max(1, min(len(devices), int(sample_count)))]
84
+
85
+
77
86
  def _dali_frame_num_to_local_frame(frame_num, stride):
78
87
  return frame_num // stride + 1
79
88
 
@@ -1538,13 +1547,16 @@ if DALI_AVAILABLE:
1538
1547
  else:
1539
1548
  self.batch_size = batch_size
1540
1549
 
1541
- self.batch_size_per_pipe = distribute_elements(self.batch_size, len(devices))
1550
+ self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1551
+ self._labels
1552
+ )
1553
+ self.devices = _normalize_dali_devices(devices, len(self._filenames))
1554
+ self.batch_size_per_pipe = distribute_elements(self.batch_size, len(self.devices))
1542
1555
 
1543
1556
  self.batch_size = batch_size
1544
1557
  self.nb_videos = dataset_len * 2 if mixup else dataset_len
1545
1558
  self.mixup = mixup
1546
1559
  self.output_map = output_map
1547
- self.devices = devices
1548
1560
  self.is_eval = is_eval
1549
1561
  self.crop_dim = crop_dim
1550
1562
  self.dilate_len = dilate_len
@@ -1555,9 +1567,6 @@ if DALI_AVAILABLE:
1555
1567
  self.TARGET_WIDTH = TARGET_WIDTH
1556
1568
 
1557
1569
  self._stride = get_stride(input_fps, extract_fps)
1558
- self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1559
- self._labels
1560
- )
1561
1570
 
1562
1571
  self.pipes = [
1563
1572
  self.video_pipe(
@@ -1570,9 +1579,9 @@ if DALI_AVAILABLE:
1570
1579
  num_threads=8,
1571
1580
  device_id=i,
1572
1581
  shard_id=index,
1573
- num_shards=len(devices),
1582
+ num_shards=len(self.devices),
1574
1583
  )
1575
- for index, i in enumerate(devices)
1584
+ for index, i in enumerate(self.devices)
1576
1585
  ]
1577
1586
 
1578
1587
  for pipe in self.pipes:
@@ -1931,16 +1940,16 @@ if DALI_AVAILABLE:
1931
1940
  self._stride_dali = stride_dali
1932
1941
  self._flip = flip
1933
1942
  self._multi_crop = multi_crop
1934
- self.batch_size = batch_size // len(devices)
1943
+ self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1944
+ self._labels
1945
+ )
1946
+ self.devices = _normalize_dali_devices(devices, len(self._filenames))
1947
+ self.batch_size = batch_size // len(self.devices)
1935
1948
  self.global_batch_size = batch_size
1936
- self.devices = devices
1937
1949
  self.IMAGENET_MEAN = IMAGENET_MEAN
1938
1950
  self.IMAGENET_STD = IMAGENET_STD
1939
1951
  self.TARGET_HEIGHT = TARGET_HEIGHT
1940
1952
  self.TARGET_WIDTH = TARGET_WIDTH
1941
- self._filenames, self._video_indices = _build_dali_filenames_and_labels(
1942
- self._labels
1943
- )
1944
1953
  clip_count = 0
1945
1954
  for video in self._labels:
1946
1955
  num_clips = _count_dali_video_samples(
@@ -1961,9 +1970,9 @@ if DALI_AVAILABLE:
1961
1970
  num_threads=8,
1962
1971
  device_id=i,
1963
1972
  shard_id=index,
1964
- num_shards=len(devices),
1973
+ num_shards=len(self.devices),
1965
1974
  )
1966
- for index, i in enumerate(devices)
1975
+ for index, i in enumerate(self.devices)
1967
1976
  ]
1968
1977
 
1969
1978
  for pipe in self.pipes:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensportslib
3
- Version: 0.3.0.dev5
3
+ Version: 0.3.0.dev7
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
@@ -72,6 +72,13 @@ OpenSportsLib is designed for **researchers, ML engineers, and sports analytics
72
72
  > Supports CUDA 12.6 / 12.8 / 13.0 (with CPU fallback).
73
73
  > PyTorch Geometric is supported up to PyTorch 2.10.*.
74
74
 
75
+ ### Create conda env
76
+
77
+ ```bash
78
+ conda create -n osl python=3.12 pip
79
+ conda activate osl
80
+ ```
81
+
75
82
  ### Stable release
76
83
 
77
84
  ```bash
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "opensportslib"
7
- version = "0.3.0.dev5"
7
+ version = "0.3.0.dev7"
8
8
  description = "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."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -4,6 +4,7 @@ from opensportslib.datasets.localization_dataset import (
4
4
  _build_dali_filenames_and_labels,
5
5
  _count_dali_video_samples,
6
6
  _dali_frame_num_to_local_frame,
7
+ _normalize_dali_devices,
7
8
  _pad_dali_iterator_size,
8
9
  _resolve_dali_video_sample,
9
10
  )
@@ -56,4 +57,10 @@ def test_resolve_dali_video_sample_uses_relative_path_and_one_based_start():
56
57
  video_name, start = _resolve_dali_video_sample(labels, 0, 24, 12)
57
58
 
58
59
  assert video_name == "train/match one.mp4"
59
- assert start == 3
60
+ assert start == 3
61
+
62
+
63
+ def test_normalize_dali_devices_caps_shards_to_sample_count():
64
+ assert _normalize_dali_devices([0, 1, 2, 3], 1) == [0]
65
+ assert _normalize_dali_devices([0, 1, 2, 3], 2) == [0, 1]
66
+ assert _normalize_dali_devices([], 1) == [0]