kaggle 1.7.3b1__tar.gz → 1.7.4__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.
- {kaggle-1.7.3b1 → kaggle-1.7.4}/CHANGELOG.md +25 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/PKG-INFO +11 -1
- {kaggle-1.7.3b1 → kaggle-1.7.4}/README.md +10 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/api/kaggle_api_extended.py +105 -26
- {kaggle-1.7.3b1/src → kaggle-1.7.4}/kaggle/cli.py +24 -13
- {kaggle-1.7.3b1/src → kaggle-1.7.4}/kaggle/models/kaggle_models_extended.py +4 -1
- {kaggle-1.7.3b1/src → kaggle-1.7.4}/kagglesdk/competitions/services/competition_api_service.py +13 -1
- {kaggle-1.7.3b1/src → kaggle-1.7.4}/kagglesdk/competitions/types/competition_api_service.py +161 -6
- {kaggle-1.7.3b1/src → kaggle-1.7.4}/kagglesdk/kaggle_http_client.py +1 -1
- {kaggle-1.7.3b1/src → kaggle-1.7.4}/kagglesdk/models/types/model_api_service.py +0 -16
- {kaggle-1.7.3b1 → kaggle-1.7.4}/setup.py +1 -1
- kaggle-1.7.4/src/__init__.py +1 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/api/kaggle_api_extended.py +105 -26
- {kaggle-1.7.3b1 → kaggle-1.7.4/src}/kaggle/cli.py +24 -13
- {kaggle-1.7.3b1 → kaggle-1.7.4/src}/kaggle/models/kaggle_models_extended.py +4 -1
- {kaggle-1.7.3b1 → kaggle-1.7.4/src}/kagglesdk/competitions/services/competition_api_service.py +13 -1
- {kaggle-1.7.3b1 → kaggle-1.7.4/src}/kagglesdk/competitions/types/competition_api_service.py +161 -6
- {kaggle-1.7.3b1 → kaggle-1.7.4/src}/kagglesdk/kaggle_http_client.py +1 -1
- {kaggle-1.7.3b1 → kaggle-1.7.4/src}/kagglesdk/models/types/model_api_service.py +0 -16
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/setup.py +1 -1
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tests/test_commands.sh +24 -16
- kaggle-1.7.3b1/src/__init__.py +0 -1
- {kaggle-1.7.3b1 → kaggle-1.7.4}/.gcloudignore +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/.gitignore +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/CONTRIBUTING.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/LICENSE.txt +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/MANIFEST.in +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/SECURITY.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/ApiBlobType.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/Collaborator.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/CreateInboxFileRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/DatasetColumn.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/DatasetNewRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/DatasetNewVersionRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/DatasetUpdateSettingsRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/Error.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/KaggleApi.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/KernelPushRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/License.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/ModelInstanceNewVersionRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/ModelInstanceUpdateRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/ModelNewInstanceRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/ModelNewRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/ModelUpdateRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/README.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/Result.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/StartBlobUploadRequest.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/StartBlobUploadResponse.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/UploadFile.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/conf.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/datasets_metadata.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/index.rst +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/kernels_metadata.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/model_card.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/modelinstance_usage.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/docs/models_metadata.md +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/integration_tests/test_models.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/LICENSE +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/api/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/api/kaggle_api.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/configuration.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/api_blob_type.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/dataset_column.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/dataset_new_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/dataset_new_version_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/dataset_update_settings_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/kernel_push_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/model_instance_new_version_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/model_instance_update_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/model_new_instance_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/model_new_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/model_update_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/start_blob_upload_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/start_blob_upload_response.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/models/upload_file.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/test/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kaggle/test/test_authenticate.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/LICENSE +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/admin/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/admin/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/admin/services/inbox_file_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/admin/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/admin/types/inbox_file_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/blobs/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/blobs/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/blobs/services/blob_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/blobs/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/blobs/types/blob_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/common/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/common/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/common/types/file_download.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/common/types/http_redirect.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/competitions/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/competitions/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/competitions/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/competitions/types/competition_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/competitions/types/submission_status.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/datasets/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/datasets/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/datasets/services/dataset_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/datasets/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/datasets/types/dataset_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/datasets/types/dataset_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/datasets/types/dataset_types.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/education/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/education/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/education/services/education_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/education/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/education/types/education_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/education/types/education_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kaggle_client.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kaggle_env.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kaggle_object.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kernels/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kernels/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kernels/services/kernels_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kernels/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kernels/types/kernels_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/kernels/types/kernels_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/models/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/models/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/models/services/model_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/models/services/model_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/models/types/__init__.py +0 -0
- {kaggle-1.7.3b1/src → kaggle-1.7.4}/kagglesdk/models/types/model_enums.py +5 -5
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/models/types/model_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/models/types/model_types.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/test/test_client.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/users/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/users/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/kagglesdk/users/types/users_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/pyproject.toml +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/requirements.in +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/requirements.txt +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/setup.cfg +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/LICENSE +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/api/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/api/kaggle_api.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/configuration.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/api_blob_type.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/dataset_column.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/dataset_new_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/dataset_new_version_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/dataset_update_settings_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/kernel_push_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/model_instance_new_version_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/model_instance_update_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/model_new_instance_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/model_new_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/model_update_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/start_blob_upload_request.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/start_blob_upload_response.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/models/upload_file.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/test/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kaggle/test/test_authenticate.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/LICENSE +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/admin/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/admin/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/admin/services/inbox_file_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/admin/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/admin/types/inbox_file_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/blobs/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/blobs/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/blobs/services/blob_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/blobs/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/blobs/types/blob_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/common/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/common/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/common/types/file_download.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/common/types/http_redirect.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/competitions/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/competitions/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/competitions/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/competitions/types/competition_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/competitions/types/submission_status.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/datasets/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/datasets/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/datasets/services/dataset_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/datasets/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/datasets/types/dataset_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/datasets/types/dataset_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/datasets/types/dataset_types.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/education/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/education/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/education/services/education_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/education/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/education/types/education_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/education/types/education_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kaggle_client.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kaggle_env.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kaggle_object.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kernels/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kernels/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kernels/services/kernels_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kernels/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kernels/types/kernels_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/kernels/types/kernels_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/models/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/models/services/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/models/services/model_api_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/models/services/model_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/models/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4/src}/kagglesdk/models/types/model_enums.py +5 -5
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/models/types/model_service.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/models/types/model_types.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/test/test_client.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/users/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/users/types/__init__.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/kagglesdk/users/types/users_enums.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/src/setup.cfg +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tests/dataset/data.csv +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tests/kernel/testing.ipynb +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tests/model/instance/data.csv +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tests/model/instance/version/metadata.json +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tests/sample_submission.csv +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tests/unit_tests.py +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/GeneratePythonLibrary.sh +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/cicd/integration-tests.yaml +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/releases/Dockerfile +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/releases/cloudbuild.yaml +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/releases/requirements.in +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/releases/requirements.txt +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/use-localhost.sh +0 -0
- {kaggle-1.7.3b1 → kaggle-1.7.4}/tools/use-prod.sh +0 -0
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
====
|
|
3
|
+
|
|
4
|
+
### 1.7.4
|
|
5
|
+
|
|
6
|
+
Version 1.7.3 was never released. There were errors in versioning on
|
|
7
|
+
test.pypi.org. For consistency, we decided to jump several version numbers.
|
|
8
|
+
This is the first release since 1.6.17.
|
|
9
|
+
|
|
10
|
+
The actual changes are described in 1.7.3.
|
|
11
|
+
|
|
12
|
+
### 1.7.3
|
|
13
|
+
|
|
14
|
+
There was an error in versioning. We went from 1.6.17 to 1.7.3.
|
|
15
|
+
|
|
16
|
+
* Added the ability to submit to a code competition. Some required arguments have been made optional.
|
|
17
|
+
* Added a `--timeout` option to `kaggle kernels push` to limit the run-time to the specified number of seconds.
|
|
18
|
+
* Removed Swagger. Projects that use `kaggle/api/kaggle_api.py` may be affected. That file is deprecated and will be
|
|
19
|
+
removed. Most of its functions still work, but those that involve uploading files no longer work.
|
|
20
|
+
The command-line tool uses a higher-level abstraction for uploading, and client code needs
|
|
21
|
+
to be converted to use that.
|
|
22
|
+
|
|
23
|
+
### 1.7.3b2
|
|
24
|
+
|
|
25
|
+
* Added the ability to submit to a code competition. Some required arguments have been made optional.
|
|
26
|
+
* Added a `--timeout` option to `kaggle kernels push` to limit the run-time to the specified number of seconds.
|
|
27
|
+
|
|
3
28
|
### 1.7.3b1
|
|
4
29
|
|
|
5
30
|
* Fix escaped-quote issue in HTTP requests.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kaggle
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.4
|
|
4
4
|
Summary: Access Kaggle resources anywhere
|
|
5
5
|
Project-URL: Homepage, https://github.com/Kaggle/kaggle-api
|
|
6
6
|
Project-URL: Issues, https://github.com/Kaggle/kaggle-api/issues
|
|
@@ -259,6 +259,16 @@ rm -rf /tmp/autogen && mkdir -p /tmp/autogen && unzip -qo /tmp/autogen.zip -d /t
|
|
|
259
259
|
mv /tmp/autogen/autogen-*/* /tmp/autogen && rm -rf /tmp/autogen/autogen-* &&
|
|
260
260
|
sudo chmod a+rx /tmp/autogen/autogen.sh
|
|
261
261
|
```
|
|
262
|
+
The internal documentation needs to be updated. To install a release from test.pypi.org
|
|
263
|
+
you need to do:
|
|
264
|
+
```bash
|
|
265
|
+
pip install \
|
|
266
|
+
--index-url https://test.pypi.org/simple \
|
|
267
|
+
--force \
|
|
268
|
+
--extra-index-url https://pypi.org/simple \
|
|
269
|
+
--break-system-packages \
|
|
270
|
+
kaggle
|
|
271
|
+
```
|
|
262
272
|
|
|
263
273
|
### Prerequisites
|
|
264
274
|
|
|
@@ -29,6 +29,16 @@ rm -rf /tmp/autogen && mkdir -p /tmp/autogen && unzip -qo /tmp/autogen.zip -d /t
|
|
|
29
29
|
mv /tmp/autogen/autogen-*/* /tmp/autogen && rm -rf /tmp/autogen/autogen-* &&
|
|
30
30
|
sudo chmod a+rx /tmp/autogen/autogen.sh
|
|
31
31
|
```
|
|
32
|
+
The internal documentation needs to be updated. To install a release from test.pypi.org
|
|
33
|
+
you need to do:
|
|
34
|
+
```bash
|
|
35
|
+
pip install \
|
|
36
|
+
--index-url https://test.pypi.org/simple \
|
|
37
|
+
--force \
|
|
38
|
+
--extra-index-url https://pypi.org/simple \
|
|
39
|
+
--break-system-packages \
|
|
40
|
+
kaggle
|
|
41
|
+
```
|
|
32
42
|
|
|
33
43
|
### Prerequisites
|
|
34
44
|
|
|
@@ -34,7 +34,8 @@ import requests
|
|
|
34
34
|
import urllib3.exceptions as urllib3_exceptions
|
|
35
35
|
from requests import RequestException
|
|
36
36
|
|
|
37
|
-
from kaggle.models.kaggle_models_extended import ResumableUploadResult, File
|
|
37
|
+
from kaggle.models.kaggle_models_extended import ResumableUploadResult, File, \
|
|
38
|
+
Kernel
|
|
38
39
|
|
|
39
40
|
from requests.adapters import HTTPAdapter
|
|
40
41
|
from slugify import slugify
|
|
@@ -61,7 +62,8 @@ from kagglesdk.datasets.types.dataset_types import DatasetSettings, \
|
|
|
61
62
|
SettingsLicense, DatasetCollaborator
|
|
62
63
|
from kagglesdk.kernels.types.kernels_api_service import ApiListKernelsRequest, \
|
|
63
64
|
ApiListKernelFilesRequest, ApiSaveKernelRequest, ApiGetKernelRequest, \
|
|
64
|
-
ApiListKernelSessionOutputRequest, ApiGetKernelSessionStatusRequest
|
|
65
|
+
ApiListKernelSessionOutputRequest, ApiGetKernelSessionStatusRequest, \
|
|
66
|
+
ApiSaveKernelResponse
|
|
65
67
|
from kagglesdk.kernels.types.kernels_enums import KernelsListSortType, \
|
|
66
68
|
KernelsListViewType
|
|
67
69
|
from kagglesdk.models.types.model_api_service import ApiListModelsRequest, \
|
|
@@ -251,7 +253,7 @@ class ResumableFileUpload(object):
|
|
|
251
253
|
|
|
252
254
|
|
|
253
255
|
class KaggleApi:
|
|
254
|
-
__version__ = '1.7.
|
|
256
|
+
__version__ = '1.7.4'
|
|
255
257
|
|
|
256
258
|
CONFIG_NAME_PROXY = 'proxy'
|
|
257
259
|
CONFIG_NAME_COMPETITION = 'competition'
|
|
@@ -290,7 +292,7 @@ class KaggleApi:
|
|
|
290
292
|
|
|
291
293
|
args = {} # DEBUG Add --local to use localhost
|
|
292
294
|
if os.environ.get('KAGGLE_API_ENVIRONMENT') == 'LOCALHOST':
|
|
293
|
-
args = {'--local'}
|
|
295
|
+
args = {'--verbose','--local'}
|
|
294
296
|
|
|
295
297
|
# Kernels valid types
|
|
296
298
|
valid_push_kernel_types = ['script', 'notebook']
|
|
@@ -700,7 +702,16 @@ class KaggleApi:
|
|
|
700
702
|
return enum_class[item]
|
|
701
703
|
except KeyError:
|
|
702
704
|
prefix = self.camel_to_snake(enum_class.__name__).upper()
|
|
703
|
-
|
|
705
|
+
full_name = f'{prefix}_{self.camel_to_snake(item_name).upper()}'
|
|
706
|
+
try:
|
|
707
|
+
return enum_class[full_name]
|
|
708
|
+
except KeyError:
|
|
709
|
+
# Handle PY_TORCH vs PYTORCH, etc.
|
|
710
|
+
full_name = full_name.replace('_', '')
|
|
711
|
+
for item in vars(enum_class):
|
|
712
|
+
if item.replace('_', '') == full_name:
|
|
713
|
+
return enum_class[item]
|
|
714
|
+
raise
|
|
704
715
|
|
|
705
716
|
def short_enum_name(self, value):
|
|
706
717
|
full_name = str(value)
|
|
@@ -792,8 +803,47 @@ class KaggleApi:
|
|
|
792
803
|
else:
|
|
793
804
|
print('No competitions found')
|
|
794
805
|
|
|
806
|
+
def competition_submit_code(self, file_name, message, competition, kernel=None, kernel_version=None, quiet=False):
|
|
807
|
+
""" Submit to a code competition.
|
|
808
|
+
|
|
809
|
+
Parameters
|
|
810
|
+
==========
|
|
811
|
+
file_name: the name of the output file created by the kernel (not used for packages)
|
|
812
|
+
message: the submission description
|
|
813
|
+
competition: the competition name; if not given use the 'competition' config value
|
|
814
|
+
kernel: the <owner>/<notebook> of the notebook to use for a code competition
|
|
815
|
+
kernel_version: the version number, returned by 'kaggle kernels push ...'
|
|
816
|
+
quiet: suppress verbose output (default is False)
|
|
817
|
+
"""
|
|
818
|
+
if competition is None:
|
|
819
|
+
competition = self.get_config_value(self.CONFIG_NAME_COMPETITION)
|
|
820
|
+
if competition is not None and not quiet:
|
|
821
|
+
print('Using competition: ' + competition)
|
|
822
|
+
if competition is None:
|
|
823
|
+
raise ValueError('No competition specified')
|
|
824
|
+
|
|
825
|
+
if kernel is None:
|
|
826
|
+
raise ValueError('No kernel specified')
|
|
827
|
+
else:
|
|
828
|
+
with self.build_kaggle_client() as kaggle:
|
|
829
|
+
items = kernel.split('/')
|
|
830
|
+
if len(items) != 2:
|
|
831
|
+
raise ValueError('The kernel must be specified as <owner>/<notebook>')
|
|
832
|
+
submit_request = ApiCreateCodeSubmissionRequest()
|
|
833
|
+
submit_request.file_name = file_name
|
|
834
|
+
submit_request.competition_name = competition
|
|
835
|
+
submit_request._kernel_owner = items[0]
|
|
836
|
+
submit_request.kernel_slug = items[1]
|
|
837
|
+
if kernel_version:
|
|
838
|
+
submit_request.kernel_version = int(kernel_version)
|
|
839
|
+
if message:
|
|
840
|
+
submit_request.submission_description = message
|
|
841
|
+
submit_response = kaggle.competitions.competition_api_client.create_code_submission(
|
|
842
|
+
submit_request)
|
|
843
|
+
return submit_response
|
|
844
|
+
|
|
795
845
|
def competition_submit(self, file_name, message, competition, quiet=False):
|
|
796
|
-
""" Submit a competition.
|
|
846
|
+
""" Submit to a competition.
|
|
797
847
|
|
|
798
848
|
Parameters
|
|
799
849
|
==========
|
|
@@ -810,6 +860,8 @@ class KaggleApi:
|
|
|
810
860
|
if competition is None:
|
|
811
861
|
raise ValueError('No competition specified')
|
|
812
862
|
else:
|
|
863
|
+
if file_name is None:
|
|
864
|
+
raise ValueError('No file specified')
|
|
813
865
|
with self.build_kaggle_client() as kaggle:
|
|
814
866
|
request = ApiStartSubmissionUploadRequest()
|
|
815
867
|
request.competition_name = competition
|
|
@@ -828,15 +880,18 @@ class KaggleApi:
|
|
|
828
880
|
submit_request = ApiCreateSubmissionRequest()
|
|
829
881
|
submit_request.competition_name = competition
|
|
830
882
|
submit_request.blob_file_tokens = response.token
|
|
831
|
-
|
|
883
|
+
if message:
|
|
884
|
+
submit_request.submission_description = message
|
|
832
885
|
submit_response = kaggle.competitions.competition_api_client.create_submission(
|
|
833
886
|
submit_request)
|
|
834
887
|
return submit_response
|
|
835
888
|
|
|
836
889
|
def competition_submit_cli(self,
|
|
837
|
-
file_name,
|
|
838
|
-
message,
|
|
839
|
-
competition,
|
|
890
|
+
file_name=None,
|
|
891
|
+
message=None,
|
|
892
|
+
competition=None,
|
|
893
|
+
kernel=None,
|
|
894
|
+
version=None,
|
|
840
895
|
competition_opt=None,
|
|
841
896
|
quiet=False):
|
|
842
897
|
""" Submit a competition using the client. Arguments are same as for
|
|
@@ -847,12 +902,20 @@ class KaggleApi:
|
|
|
847
902
|
file_name: the competition metadata file
|
|
848
903
|
message: the submission description
|
|
849
904
|
competition: the competition name; if not given use the 'competition' config value
|
|
905
|
+
kernel: the name of the kernel to submit to a code competition
|
|
906
|
+
version: the version of the kernel to submit to a code competition, e.g. '1'
|
|
850
907
|
quiet: suppress verbose output (default is False)
|
|
851
908
|
competition_opt: an alternative competition option provided by cli
|
|
852
909
|
"""
|
|
910
|
+
if kernel and not version or version and not kernel:
|
|
911
|
+
raise ValueError('Code competition submissions require both the output file name and the version label')
|
|
853
912
|
competition = competition or competition_opt
|
|
854
913
|
try:
|
|
855
|
-
|
|
914
|
+
if kernel:
|
|
915
|
+
submit_result = self.competition_submit_code(file_name, message, competition,
|
|
916
|
+
kernel, version, quiet)
|
|
917
|
+
else:
|
|
918
|
+
submit_result = self.competition_submit(file_name, message, competition,
|
|
856
919
|
quiet)
|
|
857
920
|
except RequestException as e:
|
|
858
921
|
if e.response and e.response.status_code == 404:
|
|
@@ -1665,8 +1728,14 @@ class KaggleApi:
|
|
|
1665
1728
|
dataset = dataset or dataset_opt
|
|
1666
1729
|
|
|
1667
1730
|
owner_slug, dataset_slug, _ = self.split_dataset_string(dataset)
|
|
1668
|
-
|
|
1669
|
-
|
|
1731
|
+
request = ApiGetDatasetMetadataRequest()
|
|
1732
|
+
request.owner_slug = owner_slug
|
|
1733
|
+
request.dataset_slug = dataset_slug
|
|
1734
|
+
with self.build_kaggle_client() as kaggle:
|
|
1735
|
+
response = kaggle.datasets.dataset_api_client.get_dataset_metadata(request)
|
|
1736
|
+
if response.error_message:
|
|
1737
|
+
raise Exception(response.error_message)
|
|
1738
|
+
metadata = response.info
|
|
1670
1739
|
|
|
1671
1740
|
if 'info' in metadata and 'licenses' in metadata['info']:
|
|
1672
1741
|
# license_objs format is like: [{ 'name': 'CC0-1.0' }]
|
|
@@ -2297,10 +2366,6 @@ class KaggleApi:
|
|
|
2297
2366
|
print('No files found')
|
|
2298
2367
|
return
|
|
2299
2368
|
|
|
2300
|
-
if result.error_message:
|
|
2301
|
-
print(result.error_message)
|
|
2302
|
-
return
|
|
2303
|
-
|
|
2304
2369
|
next_page_token = result.nextPageToken
|
|
2305
2370
|
if next_page_token:
|
|
2306
2371
|
print('Next Page Token = {}'.format(next_page_token))
|
|
@@ -2369,7 +2434,7 @@ class KaggleApi:
|
|
|
2369
2434
|
meta_file = self.kernels_initialize(folder)
|
|
2370
2435
|
print('Kernel metadata template written to: ' + meta_file)
|
|
2371
2436
|
|
|
2372
|
-
def kernels_push(self, folder, timeout):
|
|
2437
|
+
def kernels_push(self, folder, timeout=None) -> ApiSaveKernelResponse:
|
|
2373
2438
|
""" Read the metadata file and kernel files from a notebook, validate
|
|
2374
2439
|
both, and use the Kernel API to push to Kaggle if all is valid.
|
|
2375
2440
|
Parameters
|
|
@@ -2465,7 +2530,7 @@ class KaggleApi:
|
|
|
2465
2530
|
# but the server expects just one
|
|
2466
2531
|
if 'source' in cell and isinstance(cell['source'], list):
|
|
2467
2532
|
cell['source'] = ''.join(cell['source'])
|
|
2468
|
-
script_body = json.dumps(json_body)
|
|
2533
|
+
script_body = json.dumps(json_body)
|
|
2469
2534
|
|
|
2470
2535
|
with self.build_kaggle_client() as kaggle:
|
|
2471
2536
|
request = ApiSaveKernelRequest()
|
|
@@ -2829,9 +2894,9 @@ class KaggleApi:
|
|
|
2829
2894
|
data['slug'] = model_ref_split[1]
|
|
2830
2895
|
data['title'] = model.title
|
|
2831
2896
|
data['subtitle'] = model.subtitle
|
|
2832
|
-
data['isPrivate'] = model.
|
|
2897
|
+
data['isPrivate'] = model.is_private # TODO Test to ensure True default
|
|
2833
2898
|
data['description'] = model.description
|
|
2834
|
-
data['publishTime'] = model.
|
|
2899
|
+
data['publishTime'] = model.publish_time
|
|
2835
2900
|
|
|
2836
2901
|
with open(meta_file, 'w') as f:
|
|
2837
2902
|
json.dump(data, f, indent=2)
|
|
@@ -3010,7 +3075,7 @@ class KaggleApi:
|
|
|
3010
3075
|
folder = folder or os.getcwd()
|
|
3011
3076
|
result = self.model_create_new(folder)
|
|
3012
3077
|
|
|
3013
|
-
if result.
|
|
3078
|
+
if result.id:
|
|
3014
3079
|
print('Your model was created. Id={}. Url={}'.format(
|
|
3015
3080
|
result.id, result.url))
|
|
3016
3081
|
else:
|
|
@@ -3134,7 +3199,7 @@ class KaggleApi:
|
|
|
3134
3199
|
folder = folder or os.getcwd()
|
|
3135
3200
|
result = self.model_update(folder)
|
|
3136
3201
|
|
|
3137
|
-
if result.
|
|
3202
|
+
if result.id:
|
|
3138
3203
|
print('Your model was updated. Id={}. Url={}'.format(
|
|
3139
3204
|
result.id, result.url))
|
|
3140
3205
|
else:
|
|
@@ -3357,7 +3422,7 @@ class KaggleApi:
|
|
|
3357
3422
|
folder = folder or os.getcwd()
|
|
3358
3423
|
result = self.model_instance_create(folder, quiet, dir_mode)
|
|
3359
3424
|
|
|
3360
|
-
if result.
|
|
3425
|
+
if result.id:
|
|
3361
3426
|
print('Your model instance was created. Id={}. Url={}'.format(
|
|
3362
3427
|
result.id, result.url))
|
|
3363
3428
|
else:
|
|
@@ -3442,10 +3507,10 @@ class KaggleApi:
|
|
|
3442
3507
|
next_page_token = response.next_page_token
|
|
3443
3508
|
if next_page_token:
|
|
3444
3509
|
print('Next Page Token = {}'.format(next_page_token))
|
|
3445
|
-
return response
|
|
3510
|
+
return FileList.from_response(response)
|
|
3446
3511
|
else:
|
|
3447
3512
|
print('No files found')
|
|
3448
|
-
return FileList({})
|
|
3513
|
+
return FileList({'files': [], 'nextPageToken': ''})
|
|
3449
3514
|
|
|
3450
3515
|
def model_instance_files_cli(self,
|
|
3451
3516
|
model_instance,
|
|
@@ -4635,6 +4700,20 @@ class FileList(object):
|
|
|
4635
4700
|
else:
|
|
4636
4701
|
self.nextPageToken = ""
|
|
4637
4702
|
|
|
4703
|
+
@staticmethod
|
|
4704
|
+
def from_response(response):
|
|
4705
|
+
inst = FileList({'files': [], 'nextPageToken': ''})
|
|
4706
|
+
inst.error_message = ''
|
|
4707
|
+
files = response.files
|
|
4708
|
+
if files:
|
|
4709
|
+
inst.files = [File(f) for f in files]
|
|
4710
|
+
else:
|
|
4711
|
+
inst.files = []
|
|
4712
|
+
token = response.next_page_token
|
|
4713
|
+
if token:
|
|
4714
|
+
inst.nextPageToken = token
|
|
4715
|
+
else:
|
|
4716
|
+
inst.nextPageToken = ""
|
|
4638
4717
|
def __repr__(self):
|
|
4639
4718
|
return ''
|
|
4640
4719
|
|
|
@@ -136,6 +136,7 @@ def parse_competitions(subparsers):
|
|
|
136
136
|
'--page',
|
|
137
137
|
dest='page',
|
|
138
138
|
default=1,
|
|
139
|
+
type=int,
|
|
139
140
|
required=False,
|
|
140
141
|
help=Help.param_page)
|
|
141
142
|
parser_competitions_list_optional.add_argument(
|
|
@@ -183,6 +184,7 @@ def parse_competitions(subparsers):
|
|
|
183
184
|
dest='page_size',
|
|
184
185
|
required=False,
|
|
185
186
|
default=20,
|
|
187
|
+
type=int,
|
|
186
188
|
help=Help.param_page_size)
|
|
187
189
|
parser_competitions_files._action_groups.append(
|
|
188
190
|
parser_competitions_files_optional)
|
|
@@ -234,8 +236,6 @@ def parse_competitions(subparsers):
|
|
|
234
236
|
help=Help.command_competitions_submit)
|
|
235
237
|
parser_competitions_submit_optional = parser_competitions_submit._action_groups.pop(
|
|
236
238
|
)
|
|
237
|
-
parser_competitions_submit_required = parser_competitions_submit.add_argument_group(
|
|
238
|
-
'required arguments')
|
|
239
239
|
parser_competitions_submit_optional.add_argument(
|
|
240
240
|
'competition', nargs='?', default=None, help=Help.param_competition)
|
|
241
241
|
parser_competitions_submit_optional.add_argument(
|
|
@@ -244,14 +244,18 @@ def parse_competitions(subparsers):
|
|
|
244
244
|
dest='competition_opt',
|
|
245
245
|
required=False,
|
|
246
246
|
help=argparse.SUPPRESS)
|
|
247
|
-
|
|
248
|
-
'-f', '--file', dest='file_name',
|
|
249
|
-
|
|
247
|
+
parser_competitions_submit_optional.add_argument(
|
|
248
|
+
'-f', '--file', dest='file_name', help=Help.param_upfile)
|
|
249
|
+
parser_competitions_submit_optional.add_argument(
|
|
250
|
+
'-k', '--kernel', dest='kernel', help=Help.param_code_kernel)
|
|
251
|
+
parser_competitions_submit_optional.add_argument(
|
|
250
252
|
'-m',
|
|
251
253
|
'--message',
|
|
252
254
|
dest='message',
|
|
253
255
|
required=True,
|
|
254
256
|
help=Help.param_competition_message)
|
|
257
|
+
parser_competitions_submit_optional.add_argument(
|
|
258
|
+
'-v', '--version', dest='version', help=Help.param_code_version)
|
|
255
259
|
parser_competitions_submit_optional.add_argument(
|
|
256
260
|
'-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
|
|
257
261
|
parser_competitions_submit._action_groups.append(
|
|
@@ -358,7 +362,7 @@ def parse_datasets(subparsers):
|
|
|
358
362
|
required=False,
|
|
359
363
|
help=Help.param_dataset_sort_by)
|
|
360
364
|
parser_datasets_list.add_argument(
|
|
361
|
-
'--size', dest='size', required=False, help=Help.param_dataset_size)
|
|
365
|
+
'--size', dest='size', type=int, required=False, help=Help.param_dataset_size)
|
|
362
366
|
parser_datasets_list.add_argument(
|
|
363
367
|
'--file-type',
|
|
364
368
|
dest='file_type',
|
|
@@ -382,6 +386,7 @@ def parse_datasets(subparsers):
|
|
|
382
386
|
'--page',
|
|
383
387
|
dest='page',
|
|
384
388
|
default=1,
|
|
389
|
+
type=int,
|
|
385
390
|
required=False,
|
|
386
391
|
help=Help.param_page)
|
|
387
392
|
parser_datasets_list.add_argument(
|
|
@@ -394,11 +399,13 @@ def parse_datasets(subparsers):
|
|
|
394
399
|
'--max-size',
|
|
395
400
|
dest='max_size',
|
|
396
401
|
required=False,
|
|
402
|
+
type=int,
|
|
397
403
|
help=Help.param_dataset_maxsize)
|
|
398
404
|
parser_datasets_list.add_argument(
|
|
399
405
|
'--min-size',
|
|
400
406
|
dest='min_size',
|
|
401
407
|
required=False,
|
|
408
|
+
type=int,
|
|
402
409
|
help=Help.param_dataset_minsize)
|
|
403
410
|
parser_datasets_list._action_groups.append(parser_datasets_list_optional)
|
|
404
411
|
parser_datasets_list.set_defaults(func=api.dataset_list_cli)
|
|
@@ -433,6 +440,7 @@ def parse_datasets(subparsers):
|
|
|
433
440
|
dest='page_size',
|
|
434
441
|
required=False,
|
|
435
442
|
default=20,
|
|
443
|
+
type=int,
|
|
436
444
|
help=Help.param_page_size)
|
|
437
445
|
parser_datasets_files._action_groups.append(parser_datasets_files_optional)
|
|
438
446
|
parser_datasets_files.set_defaults(func=api.dataset_list_files_cli)
|
|
@@ -645,9 +653,9 @@ def parse_kernels(subparsers):
|
|
|
645
653
|
parser_kernels_list_optional.add_argument(
|
|
646
654
|
'-m', '--mine', dest='mine', action='store_true', help=Help.param_mine)
|
|
647
655
|
parser_kernels_list_optional.add_argument(
|
|
648
|
-
'-p', '--page', dest='page', default=1, help=Help.param_page)
|
|
656
|
+
'-p', '--page', dest='page', default=1, type=int, help=Help.param_page)
|
|
649
657
|
parser_kernels_list_optional.add_argument(
|
|
650
|
-
'--page-size', dest='page_size', default=20, help=Help.param_page_size)
|
|
658
|
+
'--page-size', dest='page_size', default=20, type=int, help=Help.param_page_size)
|
|
651
659
|
parser_kernels_list_optional.add_argument(
|
|
652
660
|
'-s', '--search', dest='search', help=Help.param_search)
|
|
653
661
|
parser_kernels_list_optional.add_argument(
|
|
@@ -716,7 +724,7 @@ def parse_kernels(subparsers):
|
|
|
716
724
|
parser_kernels_files_optional.add_argument(
|
|
717
725
|
'--page-token', dest='page_token', help=Help.param_page_token)
|
|
718
726
|
parser_kernels_files_optional.add_argument(
|
|
719
|
-
'--page-size', dest='page_size', default=20, help=Help.param_page_size)
|
|
727
|
+
'--page-size', dest='page_size', default=20, type=int, help=Help.param_page_size)
|
|
720
728
|
parser_kernels_files._action_groups.append(parser_kernels_files_optional)
|
|
721
729
|
parser_kernels_files.set_defaults(func=api.kernels_list_files_cli)
|
|
722
730
|
|
|
@@ -750,6 +758,7 @@ def parse_kernels(subparsers):
|
|
|
750
758
|
parser_kernels_push_optional.add_argument(
|
|
751
759
|
'-t',
|
|
752
760
|
'--timeout',
|
|
761
|
+
type=int,
|
|
753
762
|
dest='timeout')
|
|
754
763
|
parser_kernels_push._action_groups.append(parser_kernels_push_optional)
|
|
755
764
|
parser_kernels_push.set_defaults(func=api.kernels_push_cli)
|
|
@@ -889,7 +898,7 @@ def parse_models(subparsers):
|
|
|
889
898
|
parser_models_list.add_argument(
|
|
890
899
|
'--owner', dest='owner', required=False, help=Help.param_model_owner)
|
|
891
900
|
parser_models_list.add_argument(
|
|
892
|
-
'--page-size', dest='page_size', default=20, help=Help.param_page_size)
|
|
901
|
+
'--page-size', dest='page_size', default=20, type=int, help=Help.param_page_size)
|
|
893
902
|
parser_models_list.add_argument(
|
|
894
903
|
'--page-token',
|
|
895
904
|
dest='page_token',
|
|
@@ -1056,7 +1065,7 @@ def parse_model_instances(subparsers):
|
|
|
1056
1065
|
action='store_true',
|
|
1057
1066
|
help=Help.param_csv)
|
|
1058
1067
|
parser_model_instances_files_optional.add_argument(
|
|
1059
|
-
'--page-size', dest='page_size', default=20, help=Help.param_page_size)
|
|
1068
|
+
'--page-size', dest='page_size', default=20, type=int, help=Help.param_page_size)
|
|
1060
1069
|
parser_model_instances_files_optional.add_argument(
|
|
1061
1070
|
'--page-token',
|
|
1062
1071
|
dest='page_token',
|
|
@@ -1184,7 +1193,7 @@ def parse_model_instance_versions(subparsers):
|
|
|
1184
1193
|
action='store_true',
|
|
1185
1194
|
help=Help.param_csv)
|
|
1186
1195
|
parser_model_instance_versions_files_optional.add_argument(
|
|
1187
|
-
'--page-size', dest='page_size', default=20, help=Help.param_page_size)
|
|
1196
|
+
'--page-size', dest='page_size', default=20, type=int, help=Help.param_page_size)
|
|
1188
1197
|
parser_model_instance_versions_files_optional.add_argument(
|
|
1189
1198
|
'--page-token',
|
|
1190
1199
|
dest='page_token',
|
|
@@ -1420,7 +1429,9 @@ class Help(object):
|
|
|
1420
1429
|
param_delete_old_version = 'Delete old versions of this dataset'
|
|
1421
1430
|
param_force = ('Skip check whether local version of file is up to date, force'
|
|
1422
1431
|
' file download')
|
|
1423
|
-
param_upfile = 'File for upload (full path)'
|
|
1432
|
+
param_upfile = 'File for upload (full path), or the name of the output file produced by a kernel (for code competitions)'
|
|
1433
|
+
param_code_kernel = 'Name of kernel (notebook) to submit to a code competition'
|
|
1434
|
+
param_code_version = 'Version of kernel to submit to a code competition, e.g. "Version 1"'
|
|
1424
1435
|
param_csv = 'Print results in CSV format (if not set print in table format)'
|
|
1425
1436
|
param_page = 'Page number for results paging. Page size is 20 by default'
|
|
1426
1437
|
# NOTE: Default and max page size are set by the mid-tier code.
|
|
@@ -120,7 +120,10 @@ class File(object):
|
|
|
120
120
|
except AttributeError:
|
|
121
121
|
self.name = init_dict.name
|
|
122
122
|
self.creation_date = init_dict.creation_date
|
|
123
|
-
|
|
123
|
+
try:
|
|
124
|
+
self.size = File.get_size(init_dict.total_bytes)
|
|
125
|
+
except Exception: # AttributeError would be preferred but doesn't work.
|
|
126
|
+
self.size = File.get_size(init_dict.size)
|
|
124
127
|
|
|
125
128
|
def __repr__(self):
|
|
126
129
|
return self.name
|
{kaggle-1.7.3b1/src → kaggle-1.7.4}/kagglesdk/competitions/services/competition_api_service.py
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from kagglesdk.common.types.file_download import FileDownload
|
|
2
2
|
from kagglesdk.common.types.http_redirect import HttpRedirect
|
|
3
|
-
from kagglesdk.competitions.types.competition_api_service import ApiCreateSubmissionRequest, ApiCreateSubmissionResponse, ApiDownloadDataFileRequest, ApiDownloadDataFilesRequest, ApiDownloadLeaderboardRequest, ApiGetLeaderboardRequest, ApiGetLeaderboardResponse, ApiGetSubmissionRequest, ApiListCompetitionsRequest, ApiListCompetitionsResponse, ApiListDataFilesRequest, ApiListDataFilesResponse, ApiListSubmissionsRequest, ApiListSubmissionsResponse, ApiStartSubmissionUploadRequest, ApiStartSubmissionUploadResponse, ApiSubmission
|
|
3
|
+
from kagglesdk.competitions.types.competition_api_service import ApiCreateCodeSubmissionRequest, ApiCreateCodeSubmissionResponse, ApiCreateSubmissionRequest, ApiCreateSubmissionResponse, ApiDownloadDataFileRequest, ApiDownloadDataFilesRequest, ApiDownloadLeaderboardRequest, ApiGetLeaderboardRequest, ApiGetLeaderboardResponse, ApiGetSubmissionRequest, ApiListCompetitionsRequest, ApiListCompetitionsResponse, ApiListDataFilesRequest, ApiListDataFilesResponse, ApiListSubmissionsRequest, ApiListSubmissionsResponse, ApiStartSubmissionUploadRequest, ApiStartSubmissionUploadResponse, ApiSubmission
|
|
4
4
|
from kagglesdk.kaggle_http_client import KaggleHttpClient
|
|
5
5
|
|
|
6
6
|
class CompetitionApiClient(object):
|
|
@@ -80,6 +80,18 @@ class CompetitionApiClient(object):
|
|
|
80
80
|
|
|
81
81
|
return self._client.call("competitions.CompetitionApiService", "ApiCreateSubmission", request, ApiCreateSubmissionResponse)
|
|
82
82
|
|
|
83
|
+
def create_code_submission(self, request: ApiCreateCodeSubmissionRequest = None) -> ApiCreateCodeSubmissionResponse:
|
|
84
|
+
r"""
|
|
85
|
+
Args:
|
|
86
|
+
request (ApiCreateCodeSubmissionRequest):
|
|
87
|
+
The request object; initialized to empty instance if not specified.
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
if request is None:
|
|
91
|
+
request = ApiCreateCodeSubmissionRequest()
|
|
92
|
+
|
|
93
|
+
return self._client.call("competitions.CompetitionApiService", "ApiCreateCodeSubmission", request, ApiCreateCodeSubmissionResponse)
|
|
94
|
+
|
|
83
95
|
def get_submission(self, request: ApiGetSubmissionRequest = None) -> ApiSubmission:
|
|
84
96
|
r"""
|
|
85
97
|
Args:
|