metaflow 2.11.6__py2.py3-none-any.whl → 2.11.8__py2.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.
metaflow/parameters.py CHANGED
@@ -342,10 +342,10 @@ class Parameter(object):
342
342
  )
343
343
 
344
344
  def __repr__(self):
345
- return "metaflow.Parameter(name=%s, kwargs=%s)" % (name, kwargs)
345
+ return "metaflow.Parameter(name=%s, kwargs=%s)" % (self.name, self.kwargs)
346
346
 
347
347
  def __str__(self):
348
- return "metaflow.Parameter(name=%s, kwargs=%s)" % (name, kwargs)
348
+ return "metaflow.Parameter(name=%s, kwargs=%s)" % (self.name, self.kwargs)
349
349
 
350
350
  def option_kwargs(self, deploy_mode):
351
351
  kwargs = self.kwargs
@@ -206,14 +206,16 @@ class BatchJob(object):
206
206
  k, v = each_log_option.split(":", 1)
207
207
  log_options_dict[k] = v
208
208
 
209
- job_definition["containerProperties"]["logConfiguration"] = {
210
- "logDriver": log_driver if log_driver is not None else "awslogs",
211
- "options": log_options_dict
212
- if log_options is not None
213
- else {
214
- "awslogs-group": "aws/batch/job",
215
- },
216
- }
209
+ if log_driver is not None or log_options is not None:
210
+ job_definition["containerProperties"]["logConfiguration"] = {}
211
+ if log_driver is not None:
212
+ job_definition["containerProperties"]["logConfiguration"][
213
+ "logDriver"
214
+ ] = log_driver
215
+ if log_options is not None:
216
+ job_definition["containerProperties"]["logConfiguration"][
217
+ "options"
218
+ ] = log_options_dict
217
219
 
218
220
  if platform == "FARGATE" or platform == "FARGATE_SPOT":
219
221
  if num_parallel > 1:
@@ -282,6 +282,15 @@ class CondaEnvironment(MetaflowEnvironment):
282
282
  # Match PyPI and Conda python versions with the resolved environment Python.
283
283
  environment["pypi"]["python"] = environment["conda"]["python"] = env_python
284
284
 
285
+ # When using `Application Default Credentials` for private GCP
286
+ # PyPI registries, the usage of environment variable `GOOGLE_APPLICATION_CREDENTIALS`
287
+ # demands that `keyrings.google-artifactregistry-auth` has to be installed
288
+ # and available in the underlying python environment.
289
+ if os.getenv("GOOGLE_APPLICATION_CREDENTIALS"):
290
+ environment["conda"]["packages"][
291
+ "keyrings.google-artifactregistry-auth"
292
+ ] = ">=1.1.1"
293
+
285
294
  # Z combinator for a recursive lambda
286
295
  deep_sort = (lambda f: f(f))(
287
296
  lambda f: lambda obj: (
@@ -92,7 +92,14 @@ class Pip(object):
92
92
  # so using @branch as a version acts as expected.
93
93
  vcs_info = dl_info.get("vcs_info")
94
94
  if vcs_info:
95
- res["url"] = "{vcs}+{url}@{commit_id}".format(**vcs_info, **res)
95
+ subdirectory = dl_info.get("subdirectory")
96
+ res["url"] = "{vcs}+{url}@{commit_id}{subdir_str}".format(
97
+ **vcs_info,
98
+ **res,
99
+ subdir_str="#subdirectory=%s" % subdirectory
100
+ if subdirectory
101
+ else ""
102
+ )
96
103
  # used to deduplicate the storage location in case wheel does not
97
104
  # build with enough unique identifiers.
98
105
  res["hash"] = vcs_info["commit_id"]
@@ -270,9 +277,17 @@ class Pip(object):
270
277
  prefix,
271
278
  "pip3",
272
279
  "--disable-pip-version-check",
273
- "--no-input",
274
280
  "--no-color",
275
281
  ]
282
+ # credentials are being determined from the JSON file referenced by
283
+ # the GOOGLE_APPLICATION_CREDENTIALS environment variable and are
284
+ # probably injected dynamically via `keyrings.google-artifactregistry-auth`
285
+ # Thus, we avoid passing `--no-input` in this case.
286
+ + (
287
+ ["--no-input"]
288
+ if os.getenv("GOOGLE_APPLICATION_CREDENTIALS") is None
289
+ else []
290
+ )
276
291
  + (["--isolated"] if isolated else [])
277
292
  + args,
278
293
  stderr=subprocess.PIPE,
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.11.6"
1
+ metaflow_version = "2.11.8"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: metaflow
3
- Version: 2.11.6
3
+ Version: 2.11.8
4
4
  Summary: Metaflow: More Data Science, Less Engineering
5
5
  Author: Metaflow Developers
6
6
  Author-email: help@metaflow.org
@@ -26,7 +26,7 @@ License-File: LICENSE
26
26
  Requires-Dist: requests
27
27
  Requires-Dist: boto3
28
28
  Provides-Extra: stubs
29
- Requires-Dist: metaflow-stubs ==2.11.6 ; extra == 'stubs'
29
+ Requires-Dist: metaflow-stubs ==2.11.8 ; extra == 'stubs'
30
30
 
31
31
  ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)
32
32
 
@@ -24,7 +24,7 @@ metaflow/metaflow_version.py,sha256=mPQ6g_3XjNdi0NrxDzwlW8ZH0nMyYpwqmJ04P7TIdP0,
24
24
  metaflow/monitor.py,sha256=T0NMaBPvXynlJAO_avKtk8OIIRMyEuMAyF8bIp79aZU,5323
25
25
  metaflow/multicore_utils.py,sha256=vdTNgczVLODifscUbbveJbuSDOl3Y9pAxhr7sqYiNf4,4760
26
26
  metaflow/package.py,sha256=sOvRpnvqVaQa6eR8lwcfb5HYCGqmpYFPm-cLgOEdl04,7377
27
- metaflow/parameters.py,sha256=K1LSSm_Pql8XQrzTEUkk9TiM6mDudvfyDZ8unhu37YY,14101
27
+ metaflow/parameters.py,sha256=uuYCtpPycFbnYXrFn89zunzTfTi76NFaPCBasNZGYJE,14121
28
28
  metaflow/procpoll.py,sha256=22ppTUyaTYVn1UUG4RNG1LnCKBwRbaTmhYiYN_7OVN8,2861
29
29
  metaflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  metaflow/pylint_wrapper.py,sha256=zzBY9YaSUZOGH-ypDKAv2B_7XcoyMZj-zCoCrmYqNRc,2865
@@ -34,7 +34,7 @@ metaflow/task.py,sha256=ecGaULbK8kXPnyWzH1u6wtGclm0qeJm7K95amEL17sQ,25863
34
34
  metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
35
35
  metaflow/util.py,sha256=RrjsvADLKxSqjL76CxKh_J4OJl840B9Ak3V-vXleGas,13429
36
36
  metaflow/vendor.py,sha256=LZgXrh7ZSDmD32D1T5jj3OKKpXIqqxKzdMAOc5V0SD4,5162
37
- metaflow/version.py,sha256=RUHOdOponbUjrs5LpcL9chGvt_5m1NlSUOt-QSsefnQ,28
37
+ metaflow/version.py,sha256=7o_0YNBHyBm4MfovHAyRrE0W6DUzB0TYdptHlJlDxyU,28
38
38
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
39
39
  metaflow/_vendor/click/__init__.py,sha256=FkyGDQ-cbiQxP_lxgUspyFYS48f2S_pTcfKPz-d_RMo,2463
40
40
  metaflow/_vendor/click/_bashcomplete.py,sha256=9J98IHQYmCAr2Jup6TDshUr5FJEen-AoQCZR0K5nKxQ,12309
@@ -159,7 +159,7 @@ metaflow/plugins/aws/aws_utils.py,sha256=pkkH8Cy9sF5tp3HoZ84wkN-84NmksgCdNN4cMSd
159
159
  metaflow/plugins/aws/batch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  metaflow/plugins/aws/batch/batch.py,sha256=e9ssahWM18GnipPK2sqYB-ztx9w7Eoo7YtWyEtufYxs,17787
161
161
  metaflow/plugins/aws/batch/batch_cli.py,sha256=8j5s9RMZu0aJW76GY2lQkJT5tVDzamg9G_iu1AUpW8o,11632
162
- metaflow/plugins/aws/batch/batch_client.py,sha256=NbwQuU6fMaNfSIOUfN-1maJwQqL9r8ZKTKWdX0Ts27Y,28470
162
+ metaflow/plugins/aws/batch/batch_client.py,sha256=VWprdpI2Gem9GTezqgmYU_6yU4C2ChrFVMxOsQgr5oY,28613
163
163
  metaflow/plugins/aws/batch/batch_decorator.py,sha256=o2UH_E6k98ZpbWTvMooKv4V7nwpdHmh5SwCGzWubv0c,17313
164
164
  metaflow/plugins/aws/secrets_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py,sha256=JtFUVu00Cg0FzAizgrPLXmrMqsT7YeQMkQlgeivUxcE,7986
@@ -257,9 +257,9 @@ metaflow/plugins/metadata/service.py,sha256=ihq5F7KQZlxvYwzH_-jyP2aWN_I96i2vp92j
257
257
  metaflow/plugins/pypi/__init__.py,sha256=0YFZpXvX7HCkyBFglatual7XGifdA1RwC3U4kcizyak,1037
258
258
  metaflow/plugins/pypi/bootstrap.py,sha256=nCe8FadqfIM19yj64m4JWdv_QEnQEp01bzQZrxzo5bs,5087
259
259
  metaflow/plugins/pypi/conda_decorator.py,sha256=-bPxNtZKjxqOo4sj89uIp8ZVrCIontWhAp7wwRFjYpg,14189
260
- metaflow/plugins/pypi/conda_environment.py,sha256=gfSa50ukez72aB16RZmILPuc8GXCfw0W-sbmWzcmfsE,18575
260
+ metaflow/plugins/pypi/conda_environment.py,sha256=UnqWnc7vNPWJCWgnqKDsrIIHg99M1T0SZc6B73Jaqms,19102
261
261
  metaflow/plugins/pypi/micromamba.py,sha256=wlVN2fm4WXFh3jVNtpDfu4XEz6VJKbmFNp0QvqlMIuI,12179
262
- metaflow/plugins/pypi/pip.py,sha256=paL-hbj5j-vcYOeSm04OiBix-TpoKMF7bRfGVdXfGZs,11685
262
+ metaflow/plugins/pypi/pip.py,sha256=MAgdyP7wK7Cp6iusG6S-jeKKDCxlA9k-jMqIGvyi0Ng,12472
263
263
  metaflow/plugins/pypi/pypi_decorator.py,sha256=syWk_oSQhIK9Y7OeOINMG2XVyxh9sj5uJhapwAXRBDw,5583
264
264
  metaflow/plugins/pypi/pypi_environment.py,sha256=FYMg8kF3lXqcLfRYWD83a9zpVjcoo_TARqMGZ763rRk,230
265
265
  metaflow/plugins/pypi/utils.py,sha256=ds1Mnv_DaxGnLAYp7ozg_K6oyguGyNhvHfE-75Ia1YA,2836
@@ -298,9 +298,9 @@ metaflow/tutorials/07-worldview/README.md,sha256=5vQTrFqulJ7rWN6r20dhot9lI2sVj9W
298
298
  metaflow/tutorials/07-worldview/worldview.ipynb,sha256=ztPZPI9BXxvW1QdS2Tfe7LBuVzvFvv0AToDnsDJhLdE,2237
299
299
  metaflow/tutorials/08-autopilot/README.md,sha256=GnePFp_q76jPs991lMUqfIIh5zSorIeWznyiUxzeUVE,1039
300
300
  metaflow/tutorials/08-autopilot/autopilot.ipynb,sha256=DQoJlILV7Mq9vfPBGW-QV_kNhWPjS5n6SJLqePjFYLY,3191
301
- metaflow-2.11.6.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
302
- metaflow-2.11.6.dist-info/METADATA,sha256=5cCCYu2YhIsTnhpzNb_JPcPkPa6PEQT38I0hRNxJLVA,5906
303
- metaflow-2.11.6.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
304
- metaflow-2.11.6.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
305
- metaflow-2.11.6.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
306
- metaflow-2.11.6.dist-info/RECORD,,
301
+ metaflow-2.11.8.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
302
+ metaflow-2.11.8.dist-info/METADATA,sha256=dIYhQaapvxdUqjxYGkt-XB6u7pL4885OraaGanBuCUA,5906
303
+ metaflow-2.11.8.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
304
+ metaflow-2.11.8.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
305
+ metaflow-2.11.8.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
306
+ metaflow-2.11.8.dist-info/RECORD,,