kaggle 1.7.4__py3-none-any.whl → 1.7.4.2__py3-none-any.whl

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.
@@ -253,7 +253,7 @@ class ResumableFileUpload(object):
253
253
 
254
254
 
255
255
  class KaggleApi:
256
- __version__ = '1.7.4'
256
+ __version__ = '1.7.4.2'
257
257
 
258
258
  CONFIG_NAME_PROXY = 'proxy'
259
259
  CONFIG_NAME_COMPETITION = 'competition'
@@ -1737,13 +1737,13 @@ class KaggleApi:
1737
1737
  raise Exception(response.error_message)
1738
1738
  metadata = response.info
1739
1739
 
1740
- if 'info' in metadata and 'licenses' in metadata['info']:
1740
+ if metadata and metadata.licenses:
1741
1741
  # license_objs format is like: [{ 'name': 'CC0-1.0' }]
1742
- license_objs = metadata['info']['licenses']
1742
+ license_objs = metadata.licenses
1743
1743
  licenses = [
1744
- license_obj['name']
1744
+ license_obj.name
1745
1745
  for license_obj in license_objs
1746
- if 'name' in license_obj
1746
+ if license_obj.name
1747
1747
  ]
1748
1748
  else:
1749
1749
  licenses = [
@@ -2440,6 +2440,7 @@ class KaggleApi:
2440
2440
  Parameters
2441
2441
  ==========
2442
2442
  folder: the path of the folder
2443
+ timeout: maximum run time iin seconds
2443
2444
  """
2444
2445
  if not os.path.isdir(folder):
2445
2446
  raise ValueError('Invalid folder: ' + folder)
@@ -2561,6 +2562,7 @@ class KaggleApi:
2561
2562
  Parameters
2562
2563
  ==========
2563
2564
  folder: the path of the folder
2565
+ timeout: maximum run time in seconds
2564
2566
  """
2565
2567
  folder = folder or os.getcwd()
2566
2568
  result = self.kernels_push(folder, timeout)
@@ -2780,9 +2782,9 @@ class KaggleApi:
2780
2782
 
2781
2783
  outfiles = []
2782
2784
  for item in response.files:
2783
- outfile = os.path.join(target_dir, item['fileName'])
2785
+ outfile = os.path.join(target_dir, item.file_name)
2784
2786
  outfiles.append(outfile)
2785
- download_response = requests.get(item['url'], stream=True)
2787
+ download_response = requests.get(item.url, stream=True)
2786
2788
  if force or self.download_needed(download_response, outfile, quiet):
2787
2789
  os.makedirs(os.path.split(outfile)[0], exist_ok=True)
2788
2790
  with open(outfile, 'wb') as out:
kaggle/cli.py CHANGED
@@ -759,7 +759,8 @@ def parse_kernels(subparsers):
759
759
  '-t',
760
760
  '--timeout',
761
761
  type=int,
762
- dest='timeout')
762
+ dest='timeout',
763
+ help=Help.param_kernel_timeout)
763
764
  parser_kernels_push._action_groups.append(parser_kernels_push_optional)
764
765
  parser_kernels_push.set_defaults(func=api.kernels_push_cli)
765
766
 
@@ -1526,6 +1527,9 @@ class Help(object):
1526
1527
  param_kernel_competition = 'Find kernels for a given competition slug'
1527
1528
  param_kernel_dataset = ('Find kernels for a given dataset slug. Format is '
1528
1529
  '{username/dataset-slug}')
1530
+ param_kernel_timeout = ('Limit the run time of a kernel to the given number '
1531
+ 'of seconds. The global maximum time will not be '
1532
+ 'exceeded.')
1529
1533
  param_kernel_user = 'Find kernels created by a given username'
1530
1534
  # TODO(b/129357583): Pull these from the same spot as the api impl
1531
1535
  param_kernel_language = (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaggle
3
- Version: 1.7.4
3
+ Version: 1.7.4.2
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,16 +259,6 @@ 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
- ```
272
262
 
273
263
  ### Prerequisites
274
264
 
@@ -1,10 +1,10 @@
1
1
  kaggle/LICENSE,sha256=PN5H3cwV3xW9nvUXKcB_XOH60cWqne6qK3SAE8NI74s,11340
2
2
  kaggle/__init__.py,sha256=XFAbsmBy7kvlQrRhwEl2f8sb0-RdaLOieLQsX0CkEHU,151
3
- kaggle/cli.py,sha256=nXfgsgrj6VK5qeN7BevVZ7bpGDYABbGdJfy4Wpt3LWE,63484
3
+ kaggle/cli.py,sha256=xhlpnWLtKAUG2m3baqODIX-1Lev4Un2IoHLDHbGU06E,63718
4
4
  kaggle/configuration.py,sha256=rgBGwX_iQnHMerDO0oOJJDClq_VRQeKmg0XMfgn5mzg,6069
5
5
  kaggle/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  kaggle/api/kaggle_api.py,sha256=vyvS-HH2sEftKYxl1Y4nQWSbDXYW57NXDcezQKECtac,24828
7
- kaggle/api/kaggle_api_extended.py,sha256=kLeNYmr7geD76PxAhPqOJz_UT6ddlxUAQHv_RaX7XeE,185764
7
+ kaggle/api/kaggle_api_extended.py,sha256=cblrXw6TpIiBlUMc0SFk0J-TryH3JBJFY7KYai8Bvds,185820
8
8
  kaggle/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  kaggle/models/api_blob_type.py,sha256=wLxLS86hWWlCM-cad4WITBiUEIVNkBbclJ7sZm72u0A,85
10
10
  kaggle/models/dataset_column.py,sha256=q1cQnOHPVEV8olnpwAHnB4z7w9AHMGR2iA6OKZaLKKE,6768
@@ -28,7 +28,7 @@ kagglesdk/__init__.py,sha256=IJFgr7644bKJJb8xPv9SwE4y7ZFff2kaO9fqFCPZMLI,91
28
28
  kagglesdk/kaggle_client.py,sha256=ZAONI1jbSlQE97RtxlSm07LReYwkGoVab22nrTmQTxU,2779
29
29
  kagglesdk/kaggle_env.py,sha256=0R-RIbO09nud9eZsb9YB72W9enI92j4jmgVxILj-AkQ,1146
30
30
  kagglesdk/kaggle_http_client.py,sha256=aGWaU98cw4IdEM95sC1GmX6IqF5JOE5rhK5mNHczum8,10172
31
- kagglesdk/kaggle_object.py,sha256=ZbCxMsA4AC-nefTy8X-2K8AsDdh9Gx0NYlnOBT5VCbU,10734
31
+ kagglesdk/kaggle_object.py,sha256=eng8cWtDwkAKS4kbjXSfnpN_7PfpCyLlQRz8Lnpk6_w,10787
32
32
  kagglesdk/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  kagglesdk/admin/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  kagglesdk/admin/services/inbox_file_service.py,sha256=dbNqDOZChTWolt9eP39M8dPg7AXEXWIwgjLgV8thsik,777
@@ -82,8 +82,8 @@ kagglesdk/test/test_client.py,sha256=Z5hkIE7EeoM5bUfgAqid1YuZ1EAkzvw_PFIZiy0X3UQ
82
82
  kagglesdk/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
83
  kagglesdk/users/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
84
  kagglesdk/users/types/users_enums.py,sha256=iAzI5TAM8tysOcqG2AUsb-DTdWEQF9XPOCy-M8Vv_ro,380
85
- kaggle-1.7.4.dist-info/METADATA,sha256=jTMviYS7rgiCrOwMx0X7LnzYjeUZNsD9RtuZUcfpKeM,17236
86
- kaggle-1.7.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
87
- kaggle-1.7.4.dist-info/entry_points.txt,sha256=hl3dQAS4qpVkC5FWiqfnU6qKJU924OEN6PsHEiw-FGg,43
88
- kaggle-1.7.4.dist-info/licenses/LICENSE.txt,sha256=IzhfWrxIlFAci3lzZCg5WWHZJBI1QSzsHxO0plI63vk,11541
89
- kaggle-1.7.4.dist-info/RECORD,,
85
+ kaggle-1.7.4.2.dist-info/METADATA,sha256=EKBrRlTOAHAd8E67ulK9mQ8SjayhD5191SP0cdriyFc,16953
86
+ kaggle-1.7.4.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
87
+ kaggle-1.7.4.2.dist-info/entry_points.txt,sha256=hl3dQAS4qpVkC5FWiqfnU6qKJU924OEN6PsHEiw-FGg,43
88
+ kaggle-1.7.4.2.dist-info/licenses/LICENSE.txt,sha256=IzhfWrxIlFAci3lzZCg5WWHZJBI1QSzsHxO0plI63vk,11541
89
+ kaggle-1.7.4.2.dist-info/RECORD,,
@@ -275,7 +275,10 @@ class KaggleObject(object):
275
275
  return KaggleObject.to_json(self, ignore_defaults=False)
276
276
 
277
277
  def __contains__(self, field_name):
278
- field = self._get_field(field_name)
278
+ try:
279
+ field = self._get_field(field_name)
280
+ except ValueError:
281
+ return False
279
282
  value = getattr(self, field.private_field_name)
280
283
  if field.optional:
281
284
  return value is not None