opensportslib 0.3.1.dev9__tar.gz → 0.3.1.dev11__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.dev9/opensportslib.egg-info → opensportslib-0.3.1.dev11}/PKG-INFO +5 -1
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/README.md +4 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/base_task_model.py +50 -4
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/classification.py +16 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/localization.py +16 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/vqa.py +16 -12
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11/opensportslib.egg-info}/PKG-INFO +5 -1
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/pyproject.toml +1 -1
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/LICENSE +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/LICENSE-COMMERCIAL +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/MANIFEST.in +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/examples/quickstart/basic_classification.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/examples/quickstart/basic_localization.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/examples/quickstart/basic_vqa.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/adaptation/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/adaptation/spotta.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/config.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/configuration.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/cli.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/classification/default.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/classification/sngar_frames.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/classification/sngar_tracking.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/classification/video.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/default.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/calf_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/default.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/e2e_spotta.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/h5_header_distance.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/h5_header_skeleton.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/netvladpp_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/tracking_action_spotting.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/video_dali.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/localization/video_ocv.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/default.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/qwen.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/qwen3_vl_native.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/qwen_lora.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/qwen_sngar_frames.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/xvars.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/accessors.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/conflicts.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/editable.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/loader.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/migrate.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/migrations/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/migrations/legacy_to_canonical.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/rule_variants.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/runtime_adapter.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/schema.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/schemas/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/schemas/schema_canonical.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/schemas/schema_legacy.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/validate.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/loss/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/loss/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/loss/calf.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/loss/ce.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/loss/combine.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/loss/nll.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/optimizer/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/optimizer/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/sampler/weighted_sampler.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/scheduler/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/scheduler/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/trainer/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/trainer/classification_trainer.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/trainer/localization_trainer.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/trainer/vqa_trainer.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/checkpoint.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/config.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/config_normalize.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/data.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/ddp.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/default_args.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/direct_video.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/hf_runtime.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/lightning.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/load_annotations.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/seed.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/video_processing.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/wandb.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/classification_dataset.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/localization_dataset.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/utils/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/utils/h5_tracking.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/utils/tracking.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/vqa_dataset.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/classification.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/localization-e2e-ocv.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/localization-json_calf_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/localization-json_netvlad++_resnetpca512.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/localization.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/sngar-frames.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/sngar-tracking.yaml +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/metrics/classification_metric.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/metrics/localization_metric.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/metrics/vqa_metric.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/backbones/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/contextaware.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/e2e.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/learnablepooling.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/qwen_vl_native.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/qwen_xvars.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/rule_based.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/tracking.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/vars.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/video.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/video_chatgpt_compat.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/video_mae.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/xvars_videochatgpt.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/heads/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/neck/builder.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/common.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/asformer.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/calf.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/gsm.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/gtad.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/tsm.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/litebase.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/modules.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/shift.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/utils.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/vqa_prediction_priors.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/vqa_prompting.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/xvars_clip_index.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/remote_registry.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/setup/setup.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/tools/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/tools/_common.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/tools/hf_transfer.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/tools/osl_json_to_parquet.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/tools/parquet_to_osl_json.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib.egg-info/SOURCES.txt +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib.egg-info/dependency_links.txt +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib.egg-info/entry_points.txt +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib.egg-info/requires.txt +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib.egg-info/top_level.txt +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/scripts/release_versions.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/scripts/run_h5_header_rule_inference.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/setup.cfg +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/conftest.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/release/__init__.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/release/_release_common.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/release/test_classification_release.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/release/test_localization_release.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/release/test_vqa_release.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_classification_dataset_paths.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_classification_trainer_dataloader.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_config_architecture.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_config_split_override_sync.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_config_utils_smoke.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_conversion_tools.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_editable_config.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_extract_xvars_features.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_h5_header_rule_spotter.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_h5_header_skeleton_spotter.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_h5_tracking_dataset.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_hf_transfer_tools.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_localization_dali_filenames.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_localization_hf_backend_override.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_localization_intervals.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_optional_hf_config.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_package_smoke.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_pretrained_config_merge_policy.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_public_apis_smoke.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_release_versions.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_remote_model_registry.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_server_model_registry.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_setup_cli.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_spotta_e2e.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_subset_train_infer_integration.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_task_model_api_contract.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_vqa_api.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_vqa_metrics_semantic.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_vqa_qwen_xvars.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_vqa_training_lora.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_vqa_xvars_videochatgpt.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_sn_vqa_2026_vqa.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_sngar_spotting.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_soccernet_gar.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_soccernet_gar_action_spotting.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_soccernet_gar_vqa.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_xvars_indexes.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/extract_xvars_clip_features.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/osl_json_to_parquet_webdataset.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/parquet_webdataset_to_osl_json.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/sngar_dataset_card.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/sngar_events.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/verify_sngar_spotting.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/download/download_hf_repo.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/download/download_osl_hf.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/download/push_sngar_spotting.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/download/upload_osl_hf.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/training/classification.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/training/localization.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/training/vqa.py +0 -0
- {opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/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.dev11
|
|
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
|
|
@@ -45,6 +45,10 @@ See the [complete inference server guide](docs/server/inference-server.md) for
|
|
|
45
45
|
installation, registry administration, curl requests, single-video inference,
|
|
46
46
|
full-test-set and per-sample remote inference, job polling, and sessions.
|
|
47
47
|
|
|
48
|
+
For Docker administration, set `OSL_MODEL_ADMIN_TOKEN` in the private
|
|
49
|
+
`server/.env` file, recreate the containers after changes, and use the exact
|
|
50
|
+
same value as the Python client's `admin_token`. Never commit the real token.
|
|
51
|
+
|
|
48
52
|
## Configuration From Hugging Face
|
|
49
53
|
|
|
50
54
|
Prepare and inspect configuration before model weights are allocated:
|
|
@@ -9,6 +9,10 @@ See the [complete inference server guide](docs/server/inference-server.md) for
|
|
|
9
9
|
installation, registry administration, curl requests, single-video inference,
|
|
10
10
|
full-test-set and per-sample remote inference, job polling, and sessions.
|
|
11
11
|
|
|
12
|
+
For Docker administration, set `OSL_MODEL_ADMIN_TOKEN` in the private
|
|
13
|
+
`server/.env` file, recreate the containers after changes, and use the exact
|
|
14
|
+
same value as the Python client's `admin_token`. Never commit the real token.
|
|
15
|
+
|
|
12
16
|
## Configuration From Hugging Face
|
|
13
17
|
|
|
14
18
|
Prepare and inspect configuration before model weights are allocated:
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/apis/base_task_model.py
RENAMED
|
@@ -76,6 +76,7 @@ class BaseTaskModel(ConfigurationMixin, ABC):
|
|
|
76
76
|
self.remote_poll_interval = float(remote_poll_interval)
|
|
77
77
|
self.remote_result_timeout = float(remote_result_timeout)
|
|
78
78
|
self.remote_model_id = remote_model_id
|
|
79
|
+
self.remote_session_id: str | None = None
|
|
79
80
|
if self.remote_timeout <= 0 or self.remote_poll_interval <= 0 or self.remote_result_timeout <= 0:
|
|
80
81
|
raise ValueError("Remote timeout values must be positive.")
|
|
81
82
|
|
|
@@ -86,7 +87,14 @@ class BaseTaskModel(ConfigurationMixin, ABC):
|
|
|
86
87
|
if self.is_remote:
|
|
87
88
|
self._config_editor.remote_overrides()
|
|
88
89
|
|
|
89
|
-
|
|
90
|
+
remote_only = config is None and self._config_editor is None and self.is_remote and weights is None
|
|
91
|
+
if remote_only:
|
|
92
|
+
# Remote workers own model configuration and weights. Keep a
|
|
93
|
+
# minimal namespace so shared decorators and remote-only methods
|
|
94
|
+
# can operate without downloading or constructing a local model.
|
|
95
|
+
self.config_path = None
|
|
96
|
+
self.config = dict_to_namespace({})
|
|
97
|
+
elif config is None and self._config_editor is None:
|
|
90
98
|
from huggingface_hub.utils import HFValidationError, validate_repo_id
|
|
91
99
|
|
|
92
100
|
if (not isinstance(weights, str) or os.path.exists(expand(weights))
|
|
@@ -107,7 +115,7 @@ class BaseTaskModel(ConfigurationMixin, ABC):
|
|
|
107
115
|
if self._config_editor is not None:
|
|
108
116
|
self.config_path = self._config_editor.source
|
|
109
117
|
self.config = dict_to_namespace(self._config_editor.get_config())
|
|
110
|
-
|
|
118
|
+
elif self._config_editor is None and not remote_only:
|
|
111
119
|
self.config_path = resolve_config_path(config)
|
|
112
120
|
self._config_editor = Config.from_file(self.config_path)
|
|
113
121
|
self.config = dict_to_namespace(self._config_editor.get_config())
|
|
@@ -203,7 +211,7 @@ class BaseTaskModel(ConfigurationMixin, ABC):
|
|
|
203
211
|
archive_path,
|
|
204
212
|
archive_path.stat().st_size,
|
|
205
213
|
)
|
|
206
|
-
|
|
214
|
+
response = self._post_multipart(
|
|
207
215
|
"/predict",
|
|
208
216
|
fields={
|
|
209
217
|
"task_type": task_type,
|
|
@@ -215,6 +223,7 @@ class BaseTaskModel(ConfigurationMixin, ABC):
|
|
|
215
223
|
"media_archive": archive_path,
|
|
216
224
|
},
|
|
217
225
|
)
|
|
226
|
+
return response
|
|
218
227
|
|
|
219
228
|
def submit_per_sample_inference(
|
|
220
229
|
self,
|
|
@@ -304,7 +313,44 @@ class BaseTaskModel(ConfigurationMixin, ABC):
|
|
|
304
313
|
fields["question"] = question
|
|
305
314
|
if session_id is not None:
|
|
306
315
|
fields["session_id"] = session_id
|
|
307
|
-
|
|
316
|
+
response = self._post_multipart("/predict", fields=fields, files={"upload_file": source})
|
|
317
|
+
self._remember_remote_session(response)
|
|
318
|
+
return response
|
|
319
|
+
|
|
320
|
+
def submit_session_inference(
|
|
321
|
+
self,
|
|
322
|
+
*,
|
|
323
|
+
task_type: str,
|
|
324
|
+
session_id: str,
|
|
325
|
+
model_id: str | None = None,
|
|
326
|
+
task_options: dict[str, Any] | None = None,
|
|
327
|
+
question: str | None = None,
|
|
328
|
+
) -> dict[str, Any]:
|
|
329
|
+
if not self.remote:
|
|
330
|
+
raise RuntimeError("Remote inference is not configured. Pass `remote=` to the model constructor.")
|
|
331
|
+
fields = {
|
|
332
|
+
"task_type": task_type,
|
|
333
|
+
"model_id": model_id or self.remote_model_id or "",
|
|
334
|
+
"session_id": session_id,
|
|
335
|
+
"task_options": json.dumps(task_options or {}),
|
|
336
|
+
}
|
|
337
|
+
if question is not None:
|
|
338
|
+
fields["question"] = question
|
|
339
|
+
response = self._post_multipart("/predict", fields=fields, files={})
|
|
340
|
+
self._remember_remote_session(response)
|
|
341
|
+
return response
|
|
342
|
+
|
|
343
|
+
def _remember_remote_session(self, response: dict[str, Any]) -> None:
|
|
344
|
+
session_id = response.get("session_id")
|
|
345
|
+
if session_id:
|
|
346
|
+
self.remote_session_id = str(session_id)
|
|
347
|
+
|
|
348
|
+
@property
|
|
349
|
+
def last_remote_session_id(self) -> str | None:
|
|
350
|
+
return self.remote_session_id
|
|
351
|
+
|
|
352
|
+
def clear_remote_session(self) -> None:
|
|
353
|
+
self.remote_session_id = None
|
|
308
354
|
|
|
309
355
|
def get_remote_job(self, job_id: str) -> dict[str, Any]:
|
|
310
356
|
return self._request_json(f"/jobs/{job_id}")
|
|
@@ -261,6 +261,7 @@ class ClassificationModel(BaseTaskModel):
|
|
|
261
261
|
use_ddp=False,
|
|
262
262
|
use_wandb=True,
|
|
263
263
|
video_path: str | None = None,
|
|
264
|
+
session_id: str | None = None,
|
|
264
265
|
**kwargs,
|
|
265
266
|
):
|
|
266
267
|
"""Run model inference and return predictions in OSL JSON format."""
|
|
@@ -273,12 +274,27 @@ class ClassificationModel(BaseTaskModel):
|
|
|
273
274
|
remote_task_options = kwargs.pop("remote_task_options", None)
|
|
274
275
|
if kwargs:
|
|
275
276
|
raise TypeError(f"Unsupported remote inference options: {', '.join(kwargs)}")
|
|
277
|
+
active_session_id = (
|
|
278
|
+
session_id
|
|
279
|
+
if session_id is not None
|
|
280
|
+
else (self.remote_session_id if video_path is None else None)
|
|
281
|
+
)
|
|
276
282
|
if video_path is not None:
|
|
277
283
|
if remote_mode != "full_test_set":
|
|
278
284
|
raise ValueError("`remote_mode=per_sample` requires `test_set`, not direct video input.")
|
|
279
285
|
job = self.submit_video_inference(
|
|
280
286
|
task_type="classification",
|
|
281
287
|
video_path=video_path,
|
|
288
|
+
session_id=active_session_id,
|
|
289
|
+
model_id=remote_model_id,
|
|
290
|
+
task_options=remote_task_options,
|
|
291
|
+
)
|
|
292
|
+
self.last_remote_failures = []
|
|
293
|
+
return self.wait_for_remote_result(job["job_id"])["result"]["predictions"]
|
|
294
|
+
if test_set is None and active_session_id is not None:
|
|
295
|
+
job = self.submit_session_inference(
|
|
296
|
+
task_type="classification",
|
|
297
|
+
session_id=active_session_id,
|
|
282
298
|
model_id=remote_model_id,
|
|
283
299
|
task_options=remote_task_options,
|
|
284
300
|
)
|
|
@@ -427,6 +427,7 @@ class LocalizationModel(BaseTaskModel):
|
|
|
427
427
|
weights=None,
|
|
428
428
|
use_wandb=True,
|
|
429
429
|
video_path: str | None = None,
|
|
430
|
+
session_id: str | None = None,
|
|
430
431
|
**kwargs,
|
|
431
432
|
):
|
|
432
433
|
"""Run model inference and return predictions in OSL JSON format."""
|
|
@@ -439,12 +440,27 @@ class LocalizationModel(BaseTaskModel):
|
|
|
439
440
|
remote_task_options = kwargs.pop("remote_task_options", None)
|
|
440
441
|
if kwargs:
|
|
441
442
|
raise TypeError(f"Unsupported remote inference options: {', '.join(kwargs)}")
|
|
443
|
+
active_session_id = (
|
|
444
|
+
session_id
|
|
445
|
+
if session_id is not None
|
|
446
|
+
else (self.remote_session_id if video_path is None else None)
|
|
447
|
+
)
|
|
442
448
|
if video_path is not None:
|
|
443
449
|
if remote_mode != "full_test_set":
|
|
444
450
|
raise ValueError("`remote_mode=per_sample` requires `test_set`, not direct video input.")
|
|
445
451
|
job = self.submit_video_inference(
|
|
446
452
|
task_type="localization",
|
|
447
453
|
video_path=video_path,
|
|
454
|
+
session_id=active_session_id,
|
|
455
|
+
model_id=remote_model_id,
|
|
456
|
+
task_options=remote_task_options,
|
|
457
|
+
)
|
|
458
|
+
self.last_remote_failures = []
|
|
459
|
+
return self.wait_for_remote_result(job["job_id"])["result"]["predictions"]
|
|
460
|
+
if test_set is None and active_session_id is not None:
|
|
461
|
+
job = self.submit_session_inference(
|
|
462
|
+
task_type="localization",
|
|
463
|
+
session_id=active_session_id,
|
|
448
464
|
model_id=remote_model_id,
|
|
449
465
|
task_options=remote_task_options,
|
|
450
466
|
)
|
|
@@ -274,17 +274,21 @@ class VQAModel(BaseTaskModel):
|
|
|
274
274
|
return self.wait_for_remote_result(job["job_id"])["result"]["predictions"]
|
|
275
275
|
if remote_mode != "full_test_set":
|
|
276
276
|
raise ValueError("`remote_mode=per_sample` requires `test_set`, not direct VQA input.")
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
277
|
+
# A stored session is for question-only follow-ups. A new video
|
|
278
|
+
# must start a fresh server session; explicitly supplied session
|
|
279
|
+
# IDs remain caller-controlled and are forwarded as requested.
|
|
280
|
+
active_session_id = (
|
|
281
|
+
session_id
|
|
282
|
+
if session_id is not None
|
|
283
|
+
else (self.remote_session_id if video_path is None else None)
|
|
284
|
+
)
|
|
285
|
+
if active_session_id is not None and video_path is None and question:
|
|
286
|
+
job = self.submit_session_inference(
|
|
287
|
+
task_type="vqa",
|
|
288
|
+
session_id=active_session_id,
|
|
289
|
+
model_id=remote_model_id,
|
|
290
|
+
task_options=remote_task_options,
|
|
291
|
+
question=str(question),
|
|
288
292
|
)
|
|
289
293
|
return self.wait_for_remote_result(job["job_id"])["result"]["predictions"]
|
|
290
294
|
if not video_path or not str(question or "").strip():
|
|
@@ -293,7 +297,7 @@ class VQAModel(BaseTaskModel):
|
|
|
293
297
|
task_type="vqa",
|
|
294
298
|
video_path=video_path,
|
|
295
299
|
question=str(question),
|
|
296
|
-
session_id=
|
|
300
|
+
session_id=active_session_id,
|
|
297
301
|
model_id=remote_model_id,
|
|
298
302
|
task_options=remote_task_options,
|
|
299
303
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: opensportslib
|
|
3
|
-
Version: 0.3.1.
|
|
3
|
+
Version: 0.3.1.dev11
|
|
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
|
|
@@ -45,6 +45,10 @@ See the [complete inference server guide](docs/server/inference-server.md) for
|
|
|
45
45
|
installation, registry administration, curl requests, single-video inference,
|
|
46
46
|
full-test-set and per-sample remote inference, job polling, and sessions.
|
|
47
47
|
|
|
48
|
+
For Docker administration, set `OSL_MODEL_ADMIN_TOKEN` in the private
|
|
49
|
+
`server/.env` file, recreate the containers after changes, and use the exact
|
|
50
|
+
same value as the Python client's `admin_token`. Never commit the real token.
|
|
51
|
+
|
|
48
52
|
## Configuration From Hugging Face
|
|
49
53
|
|
|
50
54
|
Prepare and inspect configuration before model weights are allocated:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "opensportslib"
|
|
7
|
-
version = "0.3.1.
|
|
7
|
+
version = "0.3.1.dev11"
|
|
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"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/examples/quickstart/basic_classification.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/examples/quickstart/basic_localization.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/default.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/configs/vqa/qwen_lora.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/accessors.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/conflicts.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/editable.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/rule_variants.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/runtime_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/config/schemas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/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.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/optimizer/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/optimizer/builder.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/scheduler/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/scheduler/builder.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/trainer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/trainer/vqa_trainer.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/checkpoint.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/config_normalize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/default_args.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/direct_video.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/hf_runtime.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/lightning.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/core/utils/load_annotations.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/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.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/utils/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/utils/h5_tracking.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/utils/tracking.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/datasets/vqa_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/localization.yaml
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/legacy_config/sngar-frames.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/metrics/localization_metric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/backbones/builder.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/contextaware.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/learnablepooling.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/qwen_vl_native.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/qwen_xvars.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/rule_based.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/tracking.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/base/video_mae.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/heads/builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/__init__.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/asformer.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/calf.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/gsm.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/gtad.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/impl/tsm.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/litebase.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/modules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/models/utils/vqa_prompting.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.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/tools/osl_json_to_parquet.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib/tools/parquet_to_osl_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/opensportslib.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/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.1.dev9 → opensportslib-0.3.1.dev11}/tests/release/test_classification_release.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/release/test_localization_release.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_classification_dataset_paths.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_config_split_override_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_h5_header_skeleton_spotter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_localization_dali_filenames.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_pretrained_config_merge_policy.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.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_subset_train_infer_integration.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tests/test_task_model_api_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_sn_vqa_2026_vqa.py
RENAMED
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_sngar_spotting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/build_soccernet_gar_vqa.py
RENAMED
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/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.1.dev9 → opensportslib-0.3.1.dev11}/tools/convert/verify_sngar_spotting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opensportslib-0.3.1.dev9 → opensportslib-0.3.1.dev11}/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
|