opensportslib 0.3.1.dev1__tar.gz → 0.3.1.dev3__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.1.dev1/opensportslib.egg-info → opensportslib-0.3.1.dev3}/PKG-INFO +27 -4
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/README.md +26 -3
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/tools/__init__.py +23 -0
- opensportslib-0.3.1.dev3/opensportslib/tools/hf_transfer.py +2043 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/tools/parquet_to_osl_json.py +64 -5
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3/opensportslib.egg-info}/PKG-INFO +27 -4
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/pyproject.toml +1 -1
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_hf_transfer_tools.py +971 -11
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/download/download_osl_hf.py +8 -0
- opensportslib-0.3.1.dev1/opensportslib/tools/hf_transfer.py +0 -1094
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/LICENSE +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/LICENSE-COMMERCIAL +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/MANIFEST.in +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/examples/quickstart/basic_classification.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/examples/quickstart/basic_localization.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/examples/quickstart/basic_vqa.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/adaptation/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/adaptation/spotta.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/apis/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/apis/base_task_model.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/apis/classification.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/apis/localization.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/apis/vqa.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/cli.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/classification/default.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/classification/sngar_frames.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/classification/sngar_tracking.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/classification/video.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/default.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/calf_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/default.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/e2e_spotta.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/h5_header_distance.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/h5_header_skeleton.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/netvladpp_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/tracking_action_spotting.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/video_dali.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/localization/video_ocv.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/vqa/default.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/vqa/qwen.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/vqa/qwen3_vl_native.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/vqa/qwen_lora.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/vqa/qwen_sngar_frames.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/configs/vqa/xvars.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/accessors.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/conflicts.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/loader.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/migrate.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/migrations/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/migrations/legacy_to_canonical.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/runtime_adapter.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/schema.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/schemas/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/schemas/schema_canonical.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/schemas/schema_legacy.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/config/validate.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/loss/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/loss/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/loss/calf.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/loss/ce.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/loss/combine.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/loss/nll.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/optimizer/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/optimizer/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/sampler/weighted_sampler.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/scheduler/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/scheduler/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/trainer/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/trainer/classification_trainer.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/trainer/localization_trainer.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/trainer/vqa_trainer.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/checkpoint.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/config.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/config_normalize.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/data.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/ddp.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/default_args.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/hf_runtime.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/lightning.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/load_annotations.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/seed.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/video_processing.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/core/utils/wandb.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/classification_dataset.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/localization_dataset.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/utils/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/utils/h5_tracking.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/utils/tracking.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/datasets/vqa_dataset.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/legacy_config/classification.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/legacy_config/localization-e2e-ocv.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/legacy_config/localization-json_calf_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/legacy_config/localization-json_netvlad++_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/legacy_config/localization.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/legacy_config/sngar-frames.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/legacy_config/sngar-tracking.yaml +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/metrics/classification_metric.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/metrics/localization_metric.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/metrics/vqa_metric.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/backbones/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/contextaware.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/e2e.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/learnablepooling.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/qwen_vl_native.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/qwen_xvars.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/rule_based.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/tracking.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/vars.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/video.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/video_chatgpt_compat.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/video_mae.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/base/xvars_videochatgpt.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/heads/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/neck/builder.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/common.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/impl/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/impl/asformer.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/impl/calf.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/impl/gsm.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/impl/gtad.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/impl/tsm.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/litebase.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/modules.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/shift.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/utils.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/vqa_prediction_priors.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/vqa_prompting.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/models/utils/xvars_clip_index.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/setup/setup.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/tools/_common.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib/tools/osl_json_to_parquet.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib.egg-info/SOURCES.txt +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib.egg-info/dependency_links.txt +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib.egg-info/entry_points.txt +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib.egg-info/requires.txt +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/opensportslib.egg-info/top_level.txt +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/scripts/run_h5_header_rule_inference.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/setup.cfg +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/conftest.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/release/__init__.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/release/_release_common.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/release/test_classification_release.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/release/test_localization_release.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/release/test_vqa_release.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_classification_dataset_paths.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_classification_trainer_dataloader.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_config_architecture.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_config_split_override_sync.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_config_utils_smoke.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_conversion_tools.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_extract_xvars_features.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_h5_header_rule_spotter.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_h5_header_skeleton_spotter.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_h5_tracking_dataset.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_localization_dali_filenames.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_localization_hf_backend_override.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_localization_intervals.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_package_smoke.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_pretrained_config_merge_policy.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_public_apis_smoke.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_setup_cli.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_spotta_e2e.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_subset_train_infer_integration.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_task_model_api_contract.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_vqa_api.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_vqa_metrics_semantic.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_vqa_qwen_xvars.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_vqa_training_lora.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tests/test_vqa_xvars_videochatgpt.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/build_sn_vqa_2026_vqa.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/build_sngar_spotting.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/build_soccernet_gar.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/build_soccernet_gar_action_spotting.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/build_soccernet_gar_vqa.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/build_xvars_indexes.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/extract_xvars_clip_features.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/osl_json_to_parquet_webdataset.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/parquet_webdataset_to_osl_json.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/sngar_dataset_card.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/sngar_events.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/convert/verify_sngar_spotting.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/download/download_hf_repo.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/download/push_sngar_spotting.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/download/upload_osl_hf.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/training/classification.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/training/localization.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/tools/training/vqa.py +0 -0
- {opensportslib-0.3.1.dev1 → opensportslib-0.3.1.dev3}/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.
|
|
3
|
+
Version: 0.3.1.dev3
|
|
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,35 @@ 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
|
-
|
|
389
|
-
|
|
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
|
+
Download APIs accept `byte_progress_cb(filename, downloaded_bytes,
|
|
396
|
+
total_bytes)`. When the repository file is Xet-backed, OpenSportsLib keeps the
|
|
397
|
+
accelerated Xet transfer and adapts Xet's byte updates to this callback. It
|
|
398
|
+
falls back to classic HTTP progress when Xet is unavailable, disabled, or not
|
|
399
|
+
used by the file.
|
|
400
|
+
When byte progress is enabled, Parquet downloads also emit `[current/total]`
|
|
401
|
+
file messages through `progress_cb` so clients can present file-count progress.
|
|
402
|
+
High-level split downloads also accept `file_plan_cb(filenames)`,
|
|
403
|
+
`file_completed_cb(filename, local_path)`, and
|
|
404
|
+
`json_ready_cb(split, json_path)`. These are transfer lifecycle notifications;
|
|
405
|
+
callers remain responsible for queue policy and presentation. For non-dry-run
|
|
406
|
+
JSON datasets, pinned source metadata is persisted before `json_ready_cb` runs.
|
|
407
|
+
|
|
408
|
+
JSON uploads support partially downloaded datasets: the JSON and all
|
|
409
|
+
referenced files available locally are committed, while missing referenced
|
|
410
|
+
files are skipped and reported. Remote files not included in that commit are
|
|
411
|
+
left untouched. Parquet/WebDataset uploads remain strict and require every
|
|
412
|
+
referenced file locally before conversion.
|
|
390
413
|
|
|
391
414
|
---
|
|
392
415
|
|
|
@@ -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,35 @@ 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
|
-
|
|
353
|
-
|
|
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
|
+
Download APIs accept `byte_progress_cb(filename, downloaded_bytes,
|
|
360
|
+
total_bytes)`. When the repository file is Xet-backed, OpenSportsLib keeps the
|
|
361
|
+
accelerated Xet transfer and adapts Xet's byte updates to this callback. It
|
|
362
|
+
falls back to classic HTTP progress when Xet is unavailable, disabled, or not
|
|
363
|
+
used by the file.
|
|
364
|
+
When byte progress is enabled, Parquet downloads also emit `[current/total]`
|
|
365
|
+
file messages through `progress_cb` so clients can present file-count progress.
|
|
366
|
+
High-level split downloads also accept `file_plan_cb(filenames)`,
|
|
367
|
+
`file_completed_cb(filename, local_path)`, and
|
|
368
|
+
`json_ready_cb(split, json_path)`. These are transfer lifecycle notifications;
|
|
369
|
+
callers remain responsible for queue policy and presentation. For non-dry-run
|
|
370
|
+
JSON datasets, pinned source metadata is persisted before `json_ready_cb` runs.
|
|
371
|
+
|
|
372
|
+
JSON uploads support partially downloaded datasets: the JSON and all
|
|
373
|
+
referenced files available locally are committed, while missing referenced
|
|
374
|
+
files are skipped and reported. Remote files not included in that commit are
|
|
375
|
+
left untouched. Parquet/WebDataset uploads remain strict and require every
|
|
376
|
+
referenced file locally before conversion.
|
|
354
377
|
|
|
355
378
|
---
|
|
356
379
|
|
|
@@ -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",
|