opensportslib 0.3.0.dev17__tar.gz → 0.3.0.dev19__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.
- {opensportslib-0.3.0.dev17/opensportslib.egg-info → opensportslib-0.3.0.dev19}/PKG-INFO +3 -1
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/README.md +2 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/setup/setup.py +4 -4
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/tools/hf_transfer.py +28 -3
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19/opensportslib.egg-info}/PKG-INFO +3 -1
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/pyproject.toml +1 -1
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/release/test_classification_release.py +36 -5
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_hf_transfer_tools.py +35 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/LICENSE +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/LICENSE-COMMERCIAL +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/MANIFEST.in +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/examples/quickstart/basic_classification.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/examples/quickstart/basic_localization.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/examples/quickstart/basic_vqa.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/adaptation/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/adaptation/spotta.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/apis/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/apis/base_task_model.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/apis/classification.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/apis/localization.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/apis/vqa.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/cli.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/classification/default.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/classification/sngar_frames.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/classification/sngar_tracking.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/classification/video.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/default.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/calf_resnetpca512.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/default.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/e2e_spotta.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/h5_header_distance.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/h5_header_skeleton.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/netvladpp_resnetpca512.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/tracking_action_spotting.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/video_dali.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/localization/video_ocv.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/default.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/qwen.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/qwen3_vl_native.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/qwen_lora.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/qwen_sngar_frames.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/xvars.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/accessors.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/conflicts.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/loader.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/migrate.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/migrations/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/migrations/legacy_to_canonical.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/runtime_adapter.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/schema.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/schemas/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/schemas/schema_canonical.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/schemas/schema_legacy.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/validate.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/loss/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/loss/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/loss/calf.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/loss/ce.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/loss/combine.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/loss/nll.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/optimizer/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/optimizer/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/sampler/weighted_sampler.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/scheduler/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/scheduler/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/trainer/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/trainer/classification_trainer.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/trainer/localization_trainer.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/trainer/vqa_trainer.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/checkpoint.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/config.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/config_normalize.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/data.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/ddp.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/default_args.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/hf_runtime.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/lightning.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/load_annotations.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/seed.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/video_processing.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/wandb.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/classification_dataset.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/localization_dataset.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/utils/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/utils/h5_tracking.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/utils/tracking.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/vqa_dataset.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/legacy_config/classification.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/legacy_config/localization-e2e-ocv.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/legacy_config/localization-json_calf_resnetpca512.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/legacy_config/localization-json_netvlad++_resnetpca512.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/legacy_config/localization.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/legacy_config/sngar-frames.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/legacy_config/sngar-tracking.yaml +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/metrics/classification_metric.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/metrics/localization_metric.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/metrics/vqa_metric.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/backbones/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/contextaware.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/e2e.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/learnablepooling.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/qwen_vl_native.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/qwen_xvars.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/rule_based.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/tracking.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/vars.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/video.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/video_chatgpt_compat.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/video_mae.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/xvars_videochatgpt.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/heads/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/neck/builder.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/common.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/asformer.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/calf.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/gsm.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/gtad.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/tsm.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/litebase.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/modules.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/shift.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/utils.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/vqa_prediction_priors.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/vqa_prompting.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/xvars_clip_index.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/tools/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/tools/_common.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/tools/osl_json_to_parquet.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/tools/parquet_to_osl_json.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/SOURCES.txt +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/dependency_links.txt +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/entry_points.txt +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/requires.txt +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/top_level.txt +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/scripts/run_h5_header_rule_inference.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/setup.cfg +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/conftest.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/release/__init__.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/release/_release_common.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/release/test_localization_release.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/release/test_vqa_release.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_classification_dataset_paths.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_classification_trainer_dataloader.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_config_architecture.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_config_split_override_sync.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_config_utils_smoke.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_conversion_tools.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_extract_xvars_features.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_h5_header_rule_spotter.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_h5_header_skeleton_spotter.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_h5_tracking_dataset.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_localization_dali_filenames.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_localization_hf_backend_override.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_localization_intervals.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_package_smoke.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_pretrained_config_merge_policy.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_public_apis_smoke.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_setup_cli.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_spotta_e2e.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_subset_train_infer_integration.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_task_model_api_contract.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_vqa_api.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_vqa_metrics_semantic.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_vqa_qwen_xvars.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_vqa_training_lora.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_vqa_xvars_videochatgpt.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_sn_vqa_2026_vqa.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_sngar_spotting.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_soccernet_gar.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_soccernet_gar_action_spotting.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_soccernet_gar_vqa.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_xvars_indexes.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/extract_xvars_clip_features.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/osl_json_to_parquet_webdataset.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/parquet_webdataset_to_osl_json.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/sngar_dataset_card.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/sngar_events.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/verify_sngar_spotting.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/download/download_hf_repo.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/download/download_osl_hf.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/download/push_sngar_spotting.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/download/upload_osl_hf.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/training/classification.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/training/localization.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/training/vqa.py +0 -0
- {opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/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.
|
|
3
|
+
Version: 0.3.0.dev19
|
|
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
|
|
@@ -385,6 +385,8 @@ python tools/download/upload_osl_hf.py --repo-id <org/repo> --json-path <local_d
|
|
|
385
385
|
```
|
|
386
386
|
|
|
387
387
|
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.
|
|
388
390
|
|
|
389
391
|
---
|
|
390
392
|
|
|
@@ -349,6 +349,8 @@ python tools/download/upload_osl_hf.py --repo-id <org/repo> --json-path <local_d
|
|
|
349
349
|
```
|
|
350
350
|
|
|
351
351
|
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.
|
|
352
354
|
|
|
353
355
|
---
|
|
354
356
|
|
|
@@ -140,10 +140,10 @@ def select_cuda_wheel(cuda_version, compute_capabilities):
|
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
def select_torch_packages(compute_capabilities):
|
|
143
|
-
if compute_capabilities and any(
|
|
144
|
-
|
|
145
|
-
):
|
|
146
|
-
|
|
143
|
+
# if compute_capabilities and any(
|
|
144
|
+
# capability <= LEGACY_GPU_MAX_COMPUTE_CAPABILITY for capability in compute_capabilities
|
|
145
|
+
# ):
|
|
146
|
+
# return LEGACY_GPU_TORCH_PACKAGES
|
|
147
147
|
return ("torch", "torchvision", "torchaudio")
|
|
148
148
|
|
|
149
149
|
|
|
@@ -211,7 +211,6 @@ def _download_parquet_split_and_convert(
|
|
|
211
211
|
progress_cb: ProgressCallback | None = None,
|
|
212
212
|
is_cancelled: CancelCheck | None = None,
|
|
213
213
|
) -> dict[str, Any]:
|
|
214
|
-
_, _, snapshot_download = _import_hf_hub()
|
|
215
214
|
cleaned_repo_id = str(repo_id or "").strip()
|
|
216
215
|
cleaned_revision = str(revision or "").strip() or "main"
|
|
217
216
|
cleaned_split = _clean_hf_split(split)
|
|
@@ -219,9 +218,36 @@ def _download_parquet_split_and_convert(
|
|
|
219
218
|
raise ValueError("repo_id is required.")
|
|
220
219
|
|
|
221
220
|
os.makedirs(output_dir, exist_ok=True)
|
|
221
|
+
output_json_path = Path(output_dir) / f"{cleaned_split}.json"
|
|
222
|
+
if output_json_path.is_file():
|
|
223
|
+
_emit_progress(
|
|
224
|
+
progress_cb,
|
|
225
|
+
f"JSON already exists at {output_json_path}; skipping Parquet/WebDataset download and conversion.",
|
|
226
|
+
)
|
|
227
|
+
return {
|
|
228
|
+
"repo_id": cleaned_repo_id,
|
|
229
|
+
"revision": cleaned_revision,
|
|
230
|
+
"split": cleaned_split,
|
|
231
|
+
"folder_path": cleaned_split,
|
|
232
|
+
"output_dir": output_dir,
|
|
233
|
+
"json_path": str(output_json_path),
|
|
234
|
+
"source": "parquet_split",
|
|
235
|
+
"download_kind": "parquet",
|
|
236
|
+
"downloaded_file_count": 0,
|
|
237
|
+
"download_skipped": True,
|
|
238
|
+
"extracted_media": True,
|
|
239
|
+
"extracted_media_count": 0,
|
|
240
|
+
"hf_source_metadata": {
|
|
241
|
+
"repo_id": cleaned_repo_id,
|
|
242
|
+
"branch": cleaned_revision,
|
|
243
|
+
"split": cleaned_split,
|
|
244
|
+
},
|
|
245
|
+
}
|
|
246
|
+
|
|
222
247
|
_ensure_not_cancelled(is_cancelled)
|
|
223
248
|
_emit_progress(progress_cb, f"Downloading Parquet split '{cleaned_split}' from {cleaned_repo_id}@{cleaned_revision}...")
|
|
224
249
|
|
|
250
|
+
_, _, snapshot_download = _import_hf_hub()
|
|
225
251
|
tmp_dir = tempfile.mkdtemp(prefix="hf_parquet_dl_", dir=output_dir)
|
|
226
252
|
try:
|
|
227
253
|
snapshot_download(
|
|
@@ -235,8 +261,6 @@ def _download_parquet_split_and_convert(
|
|
|
235
261
|
_ensure_not_cancelled(is_cancelled)
|
|
236
262
|
|
|
237
263
|
parquet_dataset_dir = Path(tmp_dir) / cleaned_split
|
|
238
|
-
output_json_path = Path(output_dir) / f"{cleaned_split}.json"
|
|
239
|
-
|
|
240
264
|
_emit_progress(progress_cb, f"Converting Parquet split to JSON and extracting media into {output_dir}...")
|
|
241
265
|
conversion_result = convert_parquet_to_json(
|
|
242
266
|
dataset_dir=parquet_dataset_dir,
|
|
@@ -269,6 +293,7 @@ def _download_parquet_split_and_convert(
|
|
|
269
293
|
"json_path": str(output_json_path),
|
|
270
294
|
"source": "parquet_split",
|
|
271
295
|
"download_kind": "parquet",
|
|
296
|
+
"download_skipped": False,
|
|
272
297
|
"num_samples": int(conversion_result.get("num_samples") or 0),
|
|
273
298
|
"extracted_media": True,
|
|
274
299
|
"extracted_media_count": int(conversion_result.get("extracted_media_files") or 0),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: opensportslib
|
|
3
|
-
Version: 0.3.0.
|
|
3
|
+
Version: 0.3.0.dev19
|
|
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
|
|
@@ -385,6 +385,8 @@ python tools/download/upload_osl_hf.py --repo-id <org/repo> --json-path <local_d
|
|
|
385
385
|
```
|
|
386
386
|
|
|
387
387
|
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.
|
|
388
390
|
|
|
389
391
|
---
|
|
390
392
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "opensportslib"
|
|
7
|
-
version = "0.3.0.
|
|
7
|
+
version = "0.3.0.dev19"
|
|
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"
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/release/test_classification_release.py
RENAMED
|
@@ -104,6 +104,19 @@ os.environ.setdefault("OSL_PRETRAINED_WEIGHTS", "0")
|
|
|
104
104
|
# Dataset prep
|
|
105
105
|
# --------------------------------------------------------------------------
|
|
106
106
|
|
|
107
|
+
# opensportslib.datasets.classification_dataset.ClassificationDataset
|
|
108
|
+
# hardcodes exclude_labels = ["Unknown", "Dont know"] and drops them from
|
|
109
|
+
# the label space it actually builds (label_map, class weights, etc). If
|
|
110
|
+
# DATA.common.classes / num_classes don't apply the same exclusion, the
|
|
111
|
+
# model is built with the wrong output size and weighted-loss class weights
|
|
112
|
+
# come back the wrong shape ("weight tensor should be defined for all N
|
|
113
|
+
# classes but got shape [N-k]"). Keep this in sync with that hardcoded list.
|
|
114
|
+
_DATASET_EXCLUDED_LABELS = {"Unknown", "Dont know"}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
def _exclude_dataset_labels(classes: list[str]) -> list[str]:
|
|
118
|
+
return [c for c in classes if c not in _DATASET_EXCLUDED_LABELS]
|
|
119
|
+
|
|
107
120
|
|
|
108
121
|
def _resolve_label(record: dict) -> str | None:
|
|
109
122
|
for key in ("label", "action_class", "foul_type", "class", "action"):
|
|
@@ -225,8 +238,21 @@ def classification_dataset():
|
|
|
225
238
|
split: download_shard_split(repo_id, split, root, revision=revision)
|
|
226
239
|
for split in ("train", "valid", "test")
|
|
227
240
|
}
|
|
228
|
-
classes =
|
|
229
|
-
|
|
241
|
+
classes = _exclude_dataset_labels(
|
|
242
|
+
classes_from_osl_json(json.loads(split_paths["test"].read_text(encoding="utf-8")), head="action")
|
|
243
|
+
)
|
|
244
|
+
# Each split's media is extracted under its own split directory (see
|
|
245
|
+
# download_dataset_split_from_hf's split_output_dir), and the json's
|
|
246
|
+
# "inputs[].path" values (e.g. "train/action_0/clip_0.mp4") are
|
|
247
|
+
# relative to that directory -- NOT to a single shared data_root, so
|
|
248
|
+
# source_path must be resolved per split.
|
|
249
|
+
source_paths = {split: path.parent for split, path in split_paths.items()}
|
|
250
|
+
return {
|
|
251
|
+
"data_root": root,
|
|
252
|
+
"classes": classes,
|
|
253
|
+
"split_paths": split_paths,
|
|
254
|
+
"source_paths": source_paths,
|
|
255
|
+
}
|
|
230
256
|
|
|
231
257
|
# Fallback: known-good, real (gated) dataset -- not sharded, but small
|
|
232
258
|
# (13 clips), so downloaded and split locally rather than capped.
|
|
@@ -246,15 +272,20 @@ def classification_dataset():
|
|
|
246
272
|
path.write_text(json.dumps(split_payload, indent=2), encoding="utf-8")
|
|
247
273
|
split_paths[split] = path
|
|
248
274
|
|
|
249
|
-
classes = payload["labels"]["action"]["labels"]
|
|
275
|
+
classes = _exclude_dataset_labels(payload["labels"]["action"]["labels"])
|
|
250
276
|
counts = Counter(item["labels"]["action"]["label"] for item in payload["data"])
|
|
251
277
|
print(f"Classes ({len(classes)}): {classes}")
|
|
252
278
|
print(f"Label distribution: {dict(counts)}")
|
|
253
279
|
|
|
280
|
+
# All splits share one media root here (processed_videos/<id>.mp4
|
|
281
|
+
# relative to `root`), unlike the sharded branch above.
|
|
282
|
+
source_paths = {split: root for split in split_paths}
|
|
283
|
+
|
|
254
284
|
return {
|
|
255
285
|
"data_root": root,
|
|
256
286
|
"classes": classes,
|
|
257
287
|
"split_paths": split_paths,
|
|
288
|
+
"source_paths": source_paths,
|
|
258
289
|
}
|
|
259
290
|
|
|
260
291
|
|
|
@@ -312,7 +343,7 @@ def test_classification_mvnetwork_backbone(classification_dataset, backbone):
|
|
|
312
343
|
"splits": {
|
|
313
344
|
split: {
|
|
314
345
|
"annotation_path": str(path),
|
|
315
|
-
"source_path": str(dataset["
|
|
346
|
+
"source_path": str(dataset["source_paths"][split]),
|
|
316
347
|
}
|
|
317
348
|
for split, path in dataset["split_paths"].items()
|
|
318
349
|
},
|
|
@@ -356,7 +387,7 @@ def test_classification_video_mae_huggingface_backend(classification_dataset):
|
|
|
356
387
|
"splits": {
|
|
357
388
|
split: {
|
|
358
389
|
"annotation_path": str(path),
|
|
359
|
-
"source_path": str(dataset["
|
|
390
|
+
"source_path": str(dataset["source_paths"][split]),
|
|
360
391
|
}
|
|
361
392
|
for split, path in dataset["split_paths"].items()
|
|
362
393
|
},
|
|
@@ -607,6 +607,41 @@ def test_download_dataset_split_from_hf_parquet_downloads_split_folder(monkeypat
|
|
|
607
607
|
assert result["output_dir"] == str(tmp_path / "dev" / "test")
|
|
608
608
|
assert result["json_path"] == str(tmp_path / "dev" / "test" / "test.json")
|
|
609
609
|
assert result["num_samples"] == 3
|
|
610
|
+
assert result["download_skipped"] is False
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
def test_download_dataset_split_from_hf_parquet_skips_download_when_json_exists(
|
|
614
|
+
monkeypatch, tmp_path
|
|
615
|
+
):
|
|
616
|
+
output_json_path = tmp_path / "dev" / "test" / "test.json"
|
|
617
|
+
output_json_path.parent.mkdir(parents=True)
|
|
618
|
+
output_json_path.write_text(json.dumps({"data": []}), encoding="utf-8")
|
|
619
|
+
progress_messages = []
|
|
620
|
+
|
|
621
|
+
def _fail_hf_import():
|
|
622
|
+
raise AssertionError("Hugging Face must not be imported for an existing JSON")
|
|
623
|
+
|
|
624
|
+
def _fail_conversion(**kwargs):
|
|
625
|
+
raise AssertionError("Existing JSON must not be converted again")
|
|
626
|
+
|
|
627
|
+
monkeypatch.setattr("opensportslib.tools.hf_transfer._import_hf_hub", _fail_hf_import)
|
|
628
|
+
monkeypatch.setattr("opensportslib.tools.hf_transfer.convert_parquet_to_json", _fail_conversion)
|
|
629
|
+
|
|
630
|
+
result = download_dataset_split_from_hf(
|
|
631
|
+
"OpenSportsLab/repo",
|
|
632
|
+
"dev",
|
|
633
|
+
"test",
|
|
634
|
+
str(tmp_path),
|
|
635
|
+
download_format="parquet",
|
|
636
|
+
progress_cb=progress_messages.append,
|
|
637
|
+
)
|
|
638
|
+
|
|
639
|
+
assert result["json_path"] == str(output_json_path)
|
|
640
|
+
assert result["downloaded_file_count"] == 0
|
|
641
|
+
assert result["download_skipped"] is True
|
|
642
|
+
assert progress_messages == [
|
|
643
|
+
f"JSON already exists at {output_json_path}; skipping Parquet/WebDataset download and conversion."
|
|
644
|
+
]
|
|
610
645
|
|
|
611
646
|
|
|
612
647
|
def test_download_dataset_split_from_hf_json_writes_hf_metadata_on_non_dry_run(monkeypatch, tmp_path):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/examples/quickstart/basic_classification.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/examples/quickstart/basic_localization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/adaptation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/apis/base_task_model.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/apis/classification.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
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/default.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/qwen_lora.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/configs/vqa/xvars.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/accessors.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/conflicts.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/migrate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/runtime_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/config/validate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/optimizer/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/optimizer/builder.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/scheduler/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/scheduler/builder.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/trainer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/trainer/vqa_trainer.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/checkpoint.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/config_normalize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/default_args.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/hf_runtime.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/lightning.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/load_annotations.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/core/utils/video_processing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/utils/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/utils/h5_tracking.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/utils/tracking.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/datasets/vqa_dataset.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
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/metrics/localization_metric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/backbones/builder.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/contextaware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/qwen_vl_native.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/qwen_xvars.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/rule_based.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/tracking.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/base/video_mae.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/heads/builder.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/neck/builder.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/common.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/asformer.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/calf.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/gsm.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/gtad.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/impl/tsm.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/litebase.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/modules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/models/utils/vqa_prompting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/tools/osl_json_to_parquet.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib/tools/parquet_to_osl_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/opensportslib.egg-info/top_level.txt
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/scripts/run_h5_header_rule_inference.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/release/test_localization_release.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_classification_dataset_paths.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_config_split_override_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_extract_xvars_features.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_h5_header_rule_spotter.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_h5_header_skeleton_spotter.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_localization_dali_filenames.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_localization_intervals.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_pretrained_config_merge_policy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_subset_train_infer_integration.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_task_model_api_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tests/test_vqa_xvars_videochatgpt.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_sn_vqa_2026_vqa.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_sngar_spotting.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_soccernet_gar.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_soccernet_gar_vqa.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/build_xvars_indexes.py
RENAMED
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/extract_xvars_clip_features.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/convert/verify_sngar_spotting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.0.dev17 → opensportslib-0.3.0.dev19}/tools/download/push_sngar_spotting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|