metaflow 2.15.4__py2.py3-none-any.whl → 2.15.6__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.
Files changed (59) hide show
  1. metaflow/_vendor/typeguard/_checkers.py +259 -95
  2. metaflow/_vendor/typeguard/_config.py +4 -4
  3. metaflow/_vendor/typeguard/_decorators.py +8 -12
  4. metaflow/_vendor/typeguard/_functions.py +33 -32
  5. metaflow/_vendor/typeguard/_pytest_plugin.py +40 -13
  6. metaflow/_vendor/typeguard/_suppression.py +3 -5
  7. metaflow/_vendor/typeguard/_transformer.py +84 -48
  8. metaflow/_vendor/typeguard/_union_transformer.py +1 -0
  9. metaflow/_vendor/typeguard/_utils.py +13 -9
  10. metaflow/_vendor/typing_extensions.py +1088 -500
  11. metaflow/_vendor/v3_7/__init__.py +1 -0
  12. metaflow/_vendor/v3_7/importlib_metadata/__init__.py +1063 -0
  13. metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +68 -0
  14. metaflow/_vendor/v3_7/importlib_metadata/_collections.py +30 -0
  15. metaflow/_vendor/v3_7/importlib_metadata/_compat.py +71 -0
  16. metaflow/_vendor/v3_7/importlib_metadata/_functools.py +104 -0
  17. metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +73 -0
  18. metaflow/_vendor/v3_7/importlib_metadata/_meta.py +48 -0
  19. metaflow/_vendor/v3_7/importlib_metadata/_text.py +99 -0
  20. metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
  21. metaflow/_vendor/v3_7/typeguard/__init__.py +48 -0
  22. metaflow/_vendor/v3_7/typeguard/_checkers.py +906 -0
  23. metaflow/_vendor/v3_7/typeguard/_config.py +108 -0
  24. metaflow/_vendor/v3_7/typeguard/_decorators.py +237 -0
  25. metaflow/_vendor/v3_7/typeguard/_exceptions.py +42 -0
  26. metaflow/_vendor/v3_7/typeguard/_functions.py +310 -0
  27. metaflow/_vendor/v3_7/typeguard/_importhook.py +213 -0
  28. metaflow/_vendor/v3_7/typeguard/_memo.py +48 -0
  29. metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +100 -0
  30. metaflow/_vendor/v3_7/typeguard/_suppression.py +88 -0
  31. metaflow/_vendor/v3_7/typeguard/_transformer.py +1207 -0
  32. metaflow/_vendor/v3_7/typeguard/_union_transformer.py +54 -0
  33. metaflow/_vendor/v3_7/typeguard/_utils.py +169 -0
  34. metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
  35. metaflow/_vendor/v3_7/typing_extensions.py +3072 -0
  36. metaflow/_vendor/v3_7/zipp.py +329 -0
  37. metaflow/cmd/develop/stubs.py +1 -1
  38. metaflow/extension_support/__init__.py +1 -1
  39. metaflow/plugins/argo/argo_client.py +9 -2
  40. metaflow/plugins/argo/argo_workflows.py +79 -28
  41. metaflow/plugins/argo/argo_workflows_cli.py +16 -25
  42. metaflow/plugins/argo/argo_workflows_deployer_objects.py +5 -2
  43. metaflow/plugins/cards/card_modules/main.js +52 -50
  44. metaflow/plugins/metadata_providers/service.py +16 -7
  45. metaflow/plugins/pypi/utils.py +4 -0
  46. metaflow/runner/click_api.py +7 -2
  47. metaflow/runner/deployer.py +3 -2
  48. metaflow/vendor.py +1 -0
  49. metaflow/version.py +1 -1
  50. {metaflow-2.15.4.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/Tiltfile +4 -4
  51. metaflow-2.15.6.dist-info/METADATA +103 -0
  52. {metaflow-2.15.4.dist-info → metaflow-2.15.6.dist-info}/RECORD +58 -32
  53. {metaflow-2.15.4.dist-info → metaflow-2.15.6.dist-info}/WHEEL +1 -1
  54. metaflow-2.15.4.dist-info/METADATA +0 -110
  55. {metaflow-2.15.4.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/Makefile +0 -0
  56. {metaflow-2.15.4.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/pick_services.sh +0 -0
  57. {metaflow-2.15.4.dist-info → metaflow-2.15.6.dist-info}/LICENSE +0 -0
  58. {metaflow-2.15.4.dist-info → metaflow-2.15.6.dist-info}/entry_points.txt +0 -0
  59. {metaflow-2.15.4.dist-info → metaflow-2.15.6.dist-info}/top_level.txt +0 -0
@@ -350,23 +350,32 @@ class ServiceMetadataProvider(MetadataProvider):
350
350
  List[str]
351
351
  List of task pathspecs that satisfy the query
352
352
  """
353
- query_params = {
354
- "metadata_field_name": field_name,
355
- "pattern": pattern,
356
- "step_name": step_name,
357
- }
353
+ query_params = {}
354
+
355
+ if pattern == ".*":
356
+ # we do not need to filter tasks at all if pattern allows 'any'
357
+ query_params = {}
358
+ else:
359
+ if field_name:
360
+ query_params["metadata_field_name"] = field_name
361
+ if pattern:
362
+ query_params["pattern"] = pattern
363
+
358
364
  url = ServiceMetadataProvider._obj_path(flow_name, run_id, step_name)
359
365
  url = f"{url}/filtered_tasks?{urlencode(query_params)}"
366
+
360
367
  try:
361
- resp = cls._request(None, url, "GET")
368
+ resp, _ = cls._request(None, url, "GET")
362
369
  except Exception as e:
363
370
  if e.http_code == 404:
364
371
  # filter_tasks_by_metadata endpoint does not exist in the version of metadata service
365
372
  # deployed currently. Raise a more informative error message.
366
373
  raise MetaflowInternalError(
367
374
  "The version of metadata service deployed currently does not support filtering tasks by metadata. "
368
- "Upgrade Metadata service to version 2.15 or greater to use this feature."
375
+ "Upgrade Metadata service to version 2.5.0 or greater to use this feature."
369
376
  ) from e
377
+ # Other unknown exception
378
+ raise e
370
379
  return resp
371
380
 
372
381
  @staticmethod
@@ -69,6 +69,8 @@ def pip_tags(python_version, mamba_platform):
69
69
  "_2_25",
70
70
  "_2_26",
71
71
  "_2_27",
72
+ "_2_28",
73
+ "_2_29",
72
74
  )
73
75
  ]
74
76
  platforms.append("linux_x86_64")
@@ -87,6 +89,8 @@ def pip_tags(python_version, mamba_platform):
87
89
  "_2_25",
88
90
  "_2_26",
89
91
  "_2_27",
92
+ "_2_28",
93
+ "_2_29",
90
94
  )
91
95
  ]
92
96
  platforms.append("linux_aarch64")
@@ -1,7 +1,13 @@
1
1
  import os
2
2
  import sys
3
3
 
4
- if sys.version_info < (3, 7):
4
+ _py_ver = sys.version_info[:2]
5
+
6
+ if _py_ver >= (3, 8):
7
+ from metaflow._vendor.typeguard import TypeCheckError, check_type
8
+ elif _py_ver >= (3, 7):
9
+ from metaflow._vendor.v3_7.typeguard import TypeCheckError, check_type
10
+ else:
5
11
  raise RuntimeError(
6
12
  """
7
13
  The Metaflow Programmatic API is not supported for versions of Python less than 3.7
@@ -35,7 +41,6 @@ from metaflow._vendor.click.types import (
35
41
  Tuple,
36
42
  UUIDParameterType,
37
43
  )
38
- from metaflow._vendor.typeguard import TypeCheckError, check_type
39
44
  from metaflow.decorators import add_decorator_options
40
45
  from metaflow.exception import MetaflowException
41
46
  from metaflow.includefile import FilePathClass
@@ -106,7 +106,7 @@ class TriggeredRun(object):
106
106
  self.pathspec = content_json.get("pathspec")
107
107
  self.name = content_json.get("name")
108
108
 
109
- def wait_for_run(self, timeout: Optional[int] = None):
109
+ def wait_for_run(self, check_interval: int = 5, timeout: Optional[int] = None):
110
110
  """
111
111
  Wait for the `run` property to become available.
112
112
 
@@ -115,6 +115,8 @@ class TriggeredRun(object):
115
115
 
116
116
  Parameters
117
117
  ----------
118
+ check_interval: int, default: 5
119
+ Frequency of checking for the `run` to become available, in seconds.
118
120
  timeout : int, optional, default None
119
121
  Maximum time to wait for the `run` to become available, in seconds. If
120
122
  None, wait indefinitely.
@@ -125,7 +127,6 @@ class TriggeredRun(object):
125
127
  If the `run` is not available within the specified timeout.
126
128
  """
127
129
  start_time = time.time()
128
- check_interval = 5
129
130
  while True:
130
131
  if self.run is not None:
131
132
  return self.run
metaflow/vendor.py CHANGED
@@ -13,6 +13,7 @@ WHITELIST = {
13
13
  "vendor_any.txt",
14
14
  "vendor_v3_5.txt",
15
15
  "vendor_v3_6.txt",
16
+ "vendor_v3_7.txt",
16
17
  "pip.LICENSE",
17
18
  }
18
19
 
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.15.4"
1
+ metaflow_version = "2.15.6"
@@ -529,8 +529,8 @@ if "metadata-service" in enabled_components:
529
529
  'metadatadb.password=metaflow123',
530
530
  'metadatadb.database=metaflow',
531
531
  'metadatadb.host=postgresql',
532
- 'image.repository=public.ecr.aws/p7g1e3j4/metaflow-service',
533
- 'image.tag=2.4.13-fbcc7d04',
532
+ 'image.repository=public.ecr.aws/outerbounds/metaflow_metadata_service',
533
+ 'image.tag=2.4.13-2-g70af4ed',
534
534
  'resources.requests.cpu=25m',
535
535
  'resources.requests.memory=64Mi',
536
536
  'resources.limits.cpu=50m',
@@ -567,8 +567,8 @@ if "ui" in enabled_components:
567
567
  'uiBackend.metadatadb.host=postgresql',
568
568
  'uiBackend.metaflowDatastoreSysRootS3=s3://metaflow-test',
569
569
  'uiBackend.metaflowS3EndpointURL=http://minio.default.svc.cluster.local:9000',
570
- 'uiBackend.image.name=public.ecr.aws/p7g1e3j4/metaflow-service',
571
- 'uiBackend.image.tag=2.4.13-fbcc7d04',
570
+ 'uiBackend.image.name=public.ecr.aws/outerbounds/metaflow_metadata_service',
571
+ 'uiBackend.image.tag=2.4.13-2-g70af4ed',
572
572
  'uiBackend.env[0].name=AWS_ACCESS_KEY_ID',
573
573
  'uiBackend.env[0].value=rootuser',
574
574
  'uiBackend.env[1].name=AWS_SECRET_ACCESS_KEY',
@@ -0,0 +1,103 @@
1
+ Metadata-Version: 2.2
2
+ Name: metaflow
3
+ Version: 2.15.6
4
+ Summary: Metaflow: More AI and ML, Less Engineering
5
+ Author: Metaflow Developers
6
+ Author-email: help@metaflow.org
7
+ License: Apache Software License
8
+ Project-URL: Source, https://github.com/Netflix/metaflow
9
+ Project-URL: Issues, https://github.com/Netflix/metaflow/issues
10
+ Project-URL: Documentation, https://docs.metaflow.org
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Operating System :: MacOS :: MacOS X
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.6
17
+ Classifier: Programming Language :: Python :: 3.7
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: requests
27
+ Requires-Dist: boto3
28
+ Provides-Extra: stubs
29
+ Requires-Dist: metaflow-stubs==2.15.6; extra == "stubs"
30
+ Dynamic: author
31
+ Dynamic: author-email
32
+ Dynamic: classifier
33
+ Dynamic: description
34
+ Dynamic: description-content-type
35
+ Dynamic: license
36
+ Dynamic: project-url
37
+ Dynamic: provides-extra
38
+ Dynamic: requires-dist
39
+ Dynamic: summary
40
+
41
+ ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)
42
+
43
+ # Metaflow
44
+
45
+ [Metaflow](https://metaflow.org) is a human-centric framework designed to help scientists and engineers **build and manage real-life AI and ML systems**. Serving teams of all sizes and scale, Metaflow streamlines the entire development lifecycle—from rapid prototyping in notebooks to reliable, maintainable production deployments—enabling teams to iterate quickly and deliver robust systems efficiently.
46
+
47
+ Originally developed at [Netflix](https://netflixtechblog.com/open-sourcing-metaflow-a-human-centric-framework-for-data-science-fa72e04a5d9) and now supported by [Outerbounds](https://outerbounds.com), Metaflow is designed to boost the productivity for research and engineering teams working on [a wide variety of projects](https://netflixtechblog.com/supporting-diverse-ml-systems-at-netflix-2d2e6b6d205d), from classical statistics to state-of-the-art deep learning and foundation models. By unifying code, data, and compute at every stage, Metaflow ensures seamless, end-to-end management of real-world AI and ML systems.
48
+
49
+ Today, Metaflow powers thousands of AI and ML experiences across a diverse array of companies, large and small, including Amazon, Doordash, Dyson, Goldman Sachs, Ramp, and [many others](ADOPTERS.md). At Netflix alone, Metaflow supports over 3000 AI and ML projects, executes hundreds of millions of data-intensive high-performance compute jobs processing petabytes of data and manages tens of petabytes of models and artifacts for hundreds of users across its AI, ML, data science, and engineering teams.
50
+
51
+ ## From prototype to production (and back)
52
+
53
+ Metaflow provides a simple and friendly pythonic [API](https://docs.metaflow.org) that covers foundational needs of AI and ML systems:
54
+ <img src="./docs/prototype-to-prod.png" width="800px">
55
+
56
+ 1. [Rapid local prototyping](https://docs.metaflow.org/metaflow/basics), [support for notebooks](https://docs.metaflow.org/metaflow/managing-flows/notebook-runs), and built-in support for [experiment tracking, versioning](https://docs.metaflow.org/metaflow/client) and [visualization](https://docs.metaflow.org/metaflow/visualizing-results).
57
+ 2. [Effortlessly scale horizontally and vertically in your cloud](https://docs.metaflow.org/scaling/remote-tasks/introduction), utilizing both CPUs and GPUs, with [fast data access](https://docs.metaflow.org/scaling/data) for running [massive embarrassingly parallel](https://docs.metaflow.org/metaflow/basics#foreach) as well as [gang-scheduled](https://docs.metaflow.org/scaling/remote-tasks/distributed-computing) compute workloads [reliably](https://docs.metaflow.org/scaling/failures) and [efficiently](https://docs.metaflow.org/scaling/checkpoint/introduction).
58
+ 3. [Easily manage dependencies](https://docs.metaflow.org/scaling/dependencies) and [deploy with one-click](https://docs.metaflow.org/production/introduction) to highly available production orchestrators with built in support for [reactive orchestration](https://docs.metaflow.org/production/event-triggering).
59
+
60
+ For full documentation, check out our [API Reference](https://docs.metaflow.org/api) or see our [Release Notes](https://github.com/Netflix/metaflow/releases) for the latest features and improvements.
61
+
62
+
63
+ ## Getting started
64
+
65
+ Getting up and running is easy. If you don't know where to start, [Metaflow sandbox](https://outerbounds.com/sandbox) will have you running and exploring in seconds.
66
+
67
+ ### Installing Metaflow
68
+
69
+ To install Metaflow in your Python environment from [PyPI](https://pypi.org/project/metaflow/):
70
+
71
+ ```sh
72
+ pip install metaflow
73
+ ```
74
+ Alternatively, using [conda-forge](https://anaconda.org/conda-forge/metaflow):
75
+
76
+ ```sh
77
+ conda install -c conda-forge metaflow
78
+ ```
79
+
80
+ Once installed, a great way to get started is by following our [tutorial](https://docs.metaflow.org/getting-started/tutorials). It walks you through creating and running your first Metaflow flow step by step.
81
+
82
+ For more details on Metaflow’s features and best practices, check out:
83
+ - [How Metaflow works](https://docs.metaflow.org/metaflow/basics)
84
+ - [Additional resources](https://docs.metaflow.org/introduction/metaflow-resources)
85
+
86
+ If you need help, don’t hesitate to reach out on our [Slack community](http://slack.outerbounds.co/)!
87
+
88
+
89
+ ### Deploying infrastructure for Metaflow in your cloud
90
+ <img src="./docs/multicloud.png" width="800px">
91
+
92
+
93
+ While you can get started with Metaflow easily on your laptop, the main benefits of Metaflow lie in its ability to [scale out to external compute clusters](https://docs.metaflow.org/scaling/remote-tasks/introduction)
94
+ and to [deploy to production-grade workflow orchestrators](https://docs.metaflow.org/production/introduction). To benefit from these features, follow this [guide](https://outerbounds.com/engineering/welcome/) to
95
+ configure Metaflow and the infrastructure behind it appropriately.
96
+
97
+
98
+ ## Get in touch
99
+ We'd love to hear from you. Join our community [Slack workspace](http://slack.outerbounds.co/)!
100
+
101
+ ## Contributing
102
+ We welcome contributions to Metaflow. Please see our [contribution guide](https://docs.metaflow.org/introduction/contributing-to-metaflow) for more details.
103
+
@@ -35,10 +35,10 @@ metaflow/task.py,sha256=IYOql3joTnL3N5V2LESeII0B6Xc3_EM6at_Jg14-UZU,30412
35
35
  metaflow/tuple_util.py,sha256=_G5YIEhuugwJ_f6rrZoelMFak3DqAR2tt_5CapS1XTY,830
36
36
  metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
37
37
  metaflow/util.py,sha256=mJBkV5tShIyCsLDeM1zygQGeciQVMrVPm_qI8Oi33G0,14656
38
- metaflow/vendor.py,sha256=FchtA9tH22JM-eEtJ2c9FpUdMn8sSb1VHuQS56EcdZk,5139
39
- metaflow/version.py,sha256=8gmOK5nOrYvsTYFANlWGndgOC76I4oOAcsSnZrMSsyM,28
38
+ metaflow/vendor.py,sha256=LZgXrh7ZSDmD32D1T5jj3OKKpXIqqxKzdMAOc5V0SD4,5162
39
+ metaflow/version.py,sha256=ZlN1EXXY-FUfZFt8QU0JnBgafO3TEIZep8DTZHldVYg,28
40
40
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
41
- metaflow/_vendor/typing_extensions.py,sha256=0nUs5p1A_UrZigrAVBoOEM6TxU37zzPDUtiij1ZwpNc,110417
41
+ metaflow/_vendor/typing_extensions.py,sha256=q9zxWa6p6CzF1zZvSkygSlklduHf_b3K7MCxGz7MJRc,134519
42
42
  metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
43
43
  metaflow/_vendor/click/__init__.py,sha256=FkyGDQ-cbiQxP_lxgUspyFYS48f2S_pTcfKPz-d_RMo,2463
44
44
  metaflow/_vendor/click/_bashcomplete.py,sha256=9J98IHQYmCAr2Jup6TDshUr5FJEen-AoQCZR0K5nKxQ,12309
@@ -81,18 +81,18 @@ metaflow/_vendor/packaging/tags.py,sha256=fOKnZVfiU3oc9CPSzjJUsMk5VTfgOfpNhWobUH
81
81
  metaflow/_vendor/packaging/utils.py,sha256=es0cCezKspzriQ-3V88h3yJzxz028euV2sUwM61kE-o,4355
82
82
  metaflow/_vendor/packaging/version.py,sha256=0zkwY8_t0OX8lvLTaIGdc9g2WvqdEKpmGxrS1DvgmS4,16312
83
83
  metaflow/_vendor/typeguard/__init__.py,sha256=Onh4w38elPCjtlcU3JY9k3h70NjsxXIkAflmQn-Z0FY,2071
84
- metaflow/_vendor/typeguard/_checkers.py,sha256=PVMQp4Yx4e7wtWuJ2STGEM9IDgFTcGuvDQ_82SWccjM,27479
85
- metaflow/_vendor/typeguard/_config.py,sha256=TS0uJ-zrCShIS15jUvJH_OUoDI9Npya1uIavFaYnQVs,2851
86
- metaflow/_vendor/typeguard/_decorators.py,sha256=EFS4sWnbbqolgLfo_-pXgRogUa8SqdpIFOimRao9pw0,9039
84
+ metaflow/_vendor/typeguard/_checkers.py,sha256=WokrSy3YFCASMcMsKr8l8q6GbSzUv7NCVzpExHrqnbk,34481
85
+ metaflow/_vendor/typeguard/_config.py,sha256=nIz8QwDa-oFO3L9O8_6srzlmd99pSby2wOM4Wb7F_B0,2846
86
+ metaflow/_vendor/typeguard/_decorators.py,sha256=Lez5ovlF1thXqW-FubtNJT_OP55UNWzCEqixHoddzcM,9037
87
87
  metaflow/_vendor/typeguard/_exceptions.py,sha256=ZIPeiV-FBd5Emw2EaWd2Fvlsrwi4ocwT2fVGBIAtHcQ,1121
88
- metaflow/_vendor/typeguard/_functions.py,sha256=-us91HRMAoTQxQRahgIupG-BybVKa94bKU4s1IczVko,10195
88
+ metaflow/_vendor/typeguard/_functions.py,sha256=jU5L1LbtiawrG3LqoJjMRrT6VfNZdjYD8dChSGfvZhA,10410
89
89
  metaflow/_vendor/typeguard/_importhook.py,sha256=0toX7fBdZgDkpjxs_g5-y5_bonFj_XbdRPVdZb6VQ_Y,6440
90
90
  metaflow/_vendor/typeguard/_memo.py,sha256=lD8p7_OkaN_5pQYTjCNrGIxttepytNUhyh5qFhcbUTw,1320
91
- metaflow/_vendor/typeguard/_pytest_plugin.py,sha256=6ZzLWvgkIXDSR3EjqBIaSMDe_ufc1bSzGKPhdENjZ2I,3784
92
- metaflow/_vendor/typeguard/_suppression.py,sha256=GBVHApXeclBK-iggSRpirehwBYBN3b5P22BxcRcbdgk,2290
93
- metaflow/_vendor/typeguard/_transformer.py,sha256=H3OE-pQmV15-HykHXrX7Wz323ralxzFwq76J0k_LYS8,43580
94
- metaflow/_vendor/typeguard/_union_transformer.py,sha256=qdAi2FQYikacoCk3YybNcYjWbC4jDM3y0Jfcu3qvfKw,1353
95
- metaflow/_vendor/typeguard/_utils.py,sha256=MRxRtrolY3Eo73ZELGm98BSi4y1-1T8jEBfo9Qlcc8o,5076
91
+ metaflow/_vendor/typeguard/_pytest_plugin.py,sha256=Id07LTmLSHCsGp159r1i20N10zSwTTCNYFASZgwidU4,4484
92
+ metaflow/_vendor/typeguard/_suppression.py,sha256=r-_a-LvsMMP6Y8xoeuK0kzvQXgcTvCq-munv-nxCY44,2283
93
+ metaflow/_vendor/typeguard/_transformer.py,sha256=9Ha7_QhdwoUni_6hvdY-hZbuEergowHrNL2vzHIakFY,44937
94
+ metaflow/_vendor/typeguard/_union_transformer.py,sha256=v_42r7-6HuRX2SoFwnyJ-E5PlxXpVeUJPJR1-HU9qSo,1354
95
+ metaflow/_vendor/typeguard/_utils.py,sha256=A8jluNB05hdZfzY_AXqa5oB9fY0jZsq_SCsyWy6g-1A,5287
96
96
  metaflow/_vendor/typeguard/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  metaflow/_vendor/v3_5/__init__.py,sha256=98e_aAZvsdPvFOT7hg_UM6i7DGHOLEdaeFiGVZLMRqA,12
98
98
  metaflow/_vendor/v3_5/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
@@ -110,6 +110,32 @@ metaflow/_vendor/v3_6/importlib_metadata/_itertools.py,sha256=cvr_2v8BRbxcIl5x5l
110
110
  metaflow/_vendor/v3_6/importlib_metadata/_meta.py,sha256=_F48Hu_jFxkfKWz5wcYS8vO23qEygbVdF9r-6qh-hjE,1154
111
111
  metaflow/_vendor/v3_6/importlib_metadata/_text.py,sha256=HCsFksZpJLeTP3NEk_ngrAeXVRRtTrtyh9eOABoRP4A,2166
112
112
  metaflow/_vendor/v3_6/importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
+ metaflow/_vendor/v3_7/__init__.py,sha256=98e_aAZvsdPvFOT7hg_UM6i7DGHOLEdaeFiGVZLMRqA,12
114
+ metaflow/_vendor/v3_7/typing_extensions.py,sha256=lRTMR7cA-AKtEOBs0ctb4sX2dBNMDYgaweGKimM78oQ,111170
115
+ metaflow/_vendor/v3_7/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
116
+ metaflow/_vendor/v3_7/importlib_metadata/__init__.py,sha256=8iV1BbjJfBSbQXCL8RivImyn0EEy6EXIddafq4fcgBo,30530
117
+ metaflow/_vendor/v3_7/importlib_metadata/_adapters.py,sha256=B6fCi5-8mLVDFUZj3krI5nAo-mKp1dH_qIavyIyFrJs,1862
118
+ metaflow/_vendor/v3_7/importlib_metadata/_collections.py,sha256=CJ0OTCHIjWA0ZIVS4voORAsn2R4R2cQBEtPsZEJpASY,743
119
+ metaflow/_vendor/v3_7/importlib_metadata/_compat.py,sha256=KIKOPX59lLjLsr5htYD2h-6_bpAaCw_d7sJAcoHzzok,1848
120
+ metaflow/_vendor/v3_7/importlib_metadata/_functools.py,sha256=PsY2-4rrKX4RVeRC1oGp1lB1pmC9eKN88_f-bD9uOoA,2895
121
+ metaflow/_vendor/v3_7/importlib_metadata/_itertools.py,sha256=cvr_2v8BRbxcIl5x5ldfqdHjhI8Yi8s8yk50G_nm6jQ,2068
122
+ metaflow/_vendor/v3_7/importlib_metadata/_meta.py,sha256=_F48Hu_jFxkfKWz5wcYS8vO23qEygbVdF9r-6qh-hjE,1154
123
+ metaflow/_vendor/v3_7/importlib_metadata/_text.py,sha256=HCsFksZpJLeTP3NEk_ngrAeXVRRtTrtyh9eOABoRP4A,2166
124
+ metaflow/_vendor/v3_7/importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
+ metaflow/_vendor/v3_7/typeguard/__init__.py,sha256=Onh4w38elPCjtlcU3JY9k3h70NjsxXIkAflmQn-Z0FY,2071
126
+ metaflow/_vendor/v3_7/typeguard/_checkers.py,sha256=6H3vCM6_cWrD0qDh1ZLbcJaGgAgpXOmvdYICXFl0SJ4,27518
127
+ metaflow/_vendor/v3_7/typeguard/_config.py,sha256=TS0uJ-zrCShIS15jUvJH_OUoDI9Npya1uIavFaYnQVs,2851
128
+ metaflow/_vendor/v3_7/typeguard/_decorators.py,sha256=EFS4sWnbbqolgLfo_-pXgRogUa8SqdpIFOimRao9pw0,9039
129
+ metaflow/_vendor/v3_7/typeguard/_exceptions.py,sha256=ZIPeiV-FBd5Emw2EaWd2Fvlsrwi4ocwT2fVGBIAtHcQ,1121
130
+ metaflow/_vendor/v3_7/typeguard/_functions.py,sha256=7A0VfAWoLfe3m_1OAlTY2-zD9_fFS3-w6oYkfBAT86Q,10425
131
+ metaflow/_vendor/v3_7/typeguard/_importhook.py,sha256=QVyreYs32jlLkd1ItzWeDsm-i9WJry87XV2wfpBvmaw,6455
132
+ metaflow/_vendor/v3_7/typeguard/_memo.py,sha256=ceykeiNkMjNwZ1vMw3WEAHwW6WXBdBL36UYY1f_V6bk,1325
133
+ metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py,sha256=1Mt0VHbslJZ3hR7b7B9nueu0_c6QA4yJqoqgdtjtHvY,3804
134
+ metaflow/_vendor/v3_7/typeguard/_suppression.py,sha256=vFuoBm-crW4Qc5NbB6zSFOSX7bNM-tbwXUzDj7m88g4,2295
135
+ metaflow/_vendor/v3_7/typeguard/_transformer.py,sha256=ezvPCMScd3XQUj_QDKGaPJSQFW-Q6FX_FgqlApsDm9U,43918
136
+ metaflow/_vendor/v3_7/typeguard/_union_transformer.py,sha256=qdAi2FQYikacoCk3YybNcYjWbC4jDM3y0Jfcu3qvfKw,1353
137
+ metaflow/_vendor/v3_7/typeguard/_utils.py,sha256=Bj8D17zny8yTan8CNG6HhlL8Gb-BOMGP-5mmElNk6e8,5086
138
+ metaflow/_vendor/v3_7/typeguard/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
139
  metaflow/cli_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
140
  metaflow/cli_components/dump_cmd.py,sha256=SZEX51BWNd1o3H2uHDkYA8KRvou5X8g5rTwpdu5vnNQ,2704
115
141
  metaflow/cli_components/init_cmd.py,sha256=Er-BO59UEUV1HIsg81bRtZWT2D2IZNMp93l-AoZLCls,1519
@@ -128,7 +154,7 @@ metaflow/cmd/util.py,sha256=jS_0rUjOnGGzPT65fzRLdGjrYAOOLA4jU2S0HJLV0oc,406
128
154
  metaflow/cmd/code/__init__.py,sha256=VO4dNM9M9LHYy5nTgEiJvCV1RBl8lpDlYGJm6GIcaBA,7413
129
155
  metaflow/cmd/develop/__init__.py,sha256=p1Sy8yU1MEKSrH5ttOWOZvNcI1qYu6J6jghdTHwPgOw,689
130
156
  metaflow/cmd/develop/stub_generator.py,sha256=bo2yWe0kvCZ-3arEFe9eAnPN-h8oNNPcQsDwsL350UM,65217
131
- metaflow/cmd/develop/stubs.py,sha256=JX2qNZDvG0upvPueAcLhoR_zyLtRranZMwY05tLdpRQ,11884
157
+ metaflow/cmd/develop/stubs.py,sha256=Q0ERQHGb0cC8P6eb0mQlE1RHUo8sCJ2zFvIW7rL6C_g,11889
132
158
  metaflow/datastore/__init__.py,sha256=VxP6ddJt3rwiCkpiSfAhyVkUCOe1pgZZsytVEJzFmSQ,155
133
159
  metaflow/datastore/content_addressed_store.py,sha256=6T7tNqL29kpmecyMLHF35RhoSBOb-OZcExnsB65AvnI,7641
134
160
  metaflow/datastore/datastore_set.py,sha256=R5pwnxg1DD8kBY9vElvd2eMknrvwTyiSwvQs67_z9bc,2361
@@ -137,7 +163,7 @@ metaflow/datastore/exceptions.py,sha256=r7Ab5FvHIzyFh6kwiptA1lO5nLqWg0xRBoeYGefv
137
163
  metaflow/datastore/flow_datastore.py,sha256=rDMEHdYwub1PwLp2uaK-8CHdd8hiwxqeELXzsUfuqZs,10250
138
164
  metaflow/datastore/inputs.py,sha256=i43dXr2xvgtsgKMO9allgCR18bk80GeayeQFyUTH36w,449
139
165
  metaflow/datastore/task_datastore.py,sha256=VCV-5v3gYbzhmrBr9zcrrzQWJ-L7N-ZbRGbAiVE2aH4,35060
140
- metaflow/extension_support/__init__.py,sha256=2z0c4R8zsVmEFOMGT2Jujsl6xveDVa9KLll7moL58NE,52984
166
+ metaflow/extension_support/__init__.py,sha256=uhGpz75G-dhrSjVRc9EYJmppeWesrg4tPsh2mhNQMCM,52989
141
167
  metaflow/extension_support/_empty_file.py,sha256=HENjnM4uAfeNygxMB_feCCWORFoSat9n_QwzSx2oXPw,109
142
168
  metaflow/extension_support/cmd.py,sha256=hk8iBUUINqvKCDxInKgWpum8ThiRZtHSJP7qBASHzl8,5711
143
169
  metaflow/extension_support/integrations.py,sha256=AWAh-AZ-vo9IxuAVEjGw3s8p_NMm2DKHYx10oC51gPU,5506
@@ -181,13 +207,13 @@ metaflow/plugins/airflow/sensors/base_sensor.py,sha256=s-OQBfPWZ_T3wn96Ua59CCEj1
181
207
  metaflow/plugins/airflow/sensors/external_task_sensor.py,sha256=zhYlrZnXT20KW8-fVk0fCNtTyNiKJB5PMVASacu30r0,6034
182
208
  metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=iDReG-7FKnumrtQg-HY6cCUAAqNA90nARrjjjEEk_x4,3275
183
209
  metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
- metaflow/plugins/argo/argo_client.py,sha256=PS_cYGnPw9h4X7TP_plObDH3clMw4reOsBLkkGPTd0Y,16282
210
+ metaflow/plugins/argo/argo_client.py,sha256=A1kI9rjVjCadDsBscZ2Wk8xRBI6GNgWV6SU7TyrdfrI,16530
185
211
  metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
186
- metaflow/plugins/argo/argo_workflows.py,sha256=sSlRCGk5lrYF_jOtNm6_dVLrcPCrjgYvZVbfBhi_0-E,181665
187
- metaflow/plugins/argo/argo_workflows_cli.py,sha256=_SLMQos3oTz7Zp08q4Z0E2OJV85dl2QZvd3B9VwhaeE,38428
212
+ metaflow/plugins/argo/argo_workflows.py,sha256=OUrRmn_IJbyk2qbkVViH1NCczRb2G7bO2ePQ3fBPFxg,183561
213
+ metaflow/plugins/argo/argo_workflows_cli.py,sha256=27eLtcp5N5plapP-uIJqR41B0zDfXOV39AGM0nchymo,37952
188
214
  metaflow/plugins/argo/argo_workflows_decorator.py,sha256=ogCSBmwsC2C3eusydrgjuAJd4qK18f1sI4jJwA4Fd-o,7800
189
215
  metaflow/plugins/argo/argo_workflows_deployer.py,sha256=6kHxEnYXJwzNCM9swI8-0AckxtPWqwhZLerYkX8fxUM,4444
190
- metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=bs0E8WJGQYXuwi6u0OiwTn_jkfeKb5DywCmuJHeRl8I,13949
216
+ metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=oumYqwW7CsIsUuCIoP7Eo6VGB5R126CAqcCq2M57Cxw,14072
191
217
  metaflow/plugins/argo/capture_error.py,sha256=Ys9dscGrTpW-ZCirLBU0gD9qBM0BjxyxGlUMKcwewQc,1852
192
218
  metaflow/plugins/argo/generate_input_paths.py,sha256=loYsI6RFX9LlFsHb7Fe-mzlTTtRdySoOu7sYDy-uXK0,881
193
219
  metaflow/plugins/argo/jobset_input_paths.py,sha256=-h0E_e0w6FMiBUod9Rf_XOSCtZv_C0exacw4q1SfIfg,501
@@ -238,7 +264,7 @@ metaflow/plugins/cards/card_modules/bundle.css,sha256=ms2wOKftlPM_i6bC_4BkrmqCOj
238
264
  metaflow/plugins/cards/card_modules/card.py,sha256=6sbqP5mwf7QWvQvX2N_bC78H9ixuI5sQ8612Q5islys,4627
239
265
  metaflow/plugins/cards/card_modules/components.py,sha256=Y-Yo7UgSOyTB3zs-wDfUqUKl0PI_BzeY1QGcy2fqE2M,26752
240
266
  metaflow/plugins/cards/card_modules/convert_to_native_type.py,sha256=eGaQ8BabJ489a8AiyhXFy1pWJZl99gH0FQzwsNVxAGQ,15782
241
- metaflow/plugins/cards/card_modules/main.js,sha256=K_ZO41THtbjZC3hNSQn2rG5UUbubFgkgU6RxBjMmApk,1028430
267
+ metaflow/plugins/cards/card_modules/main.js,sha256=72mKcMEjrne7TlLxc-LkxTJVoM4z2pLWGtU1NzHtlWM,1043628
242
268
  metaflow/plugins/cards/card_modules/renderer_tools.py,sha256=uiTdKHWFInWgtfWArOUSQLnTwqVd4hAw49jfOfg8rGA,1642
243
269
  metaflow/plugins/cards/card_modules/test_cards.py,sha256=74H0JdWrcoc5eITxCLSUwwa1kJZ3YMteynaKsCBihXE,5361
244
270
  metaflow/plugins/cards/card_modules/chevron/__init__.py,sha256=SicpH_1eT76HUTA8aMuiGLRNKTqgYD1Qfutt2NdTL0E,156
@@ -300,7 +326,7 @@ metaflow/plugins/kubernetes/spot_metadata_cli.py,sha256=an0nWCxgflmqIPBCBrlb4m3D
300
326
  metaflow/plugins/kubernetes/spot_monitor_sidecar.py,sha256=zrWU-smQwPnL6MBHmzTxWyEA00R6iKKQbhhy50xFwQ8,3832
301
327
  metaflow/plugins/metadata_providers/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
302
328
  metaflow/plugins/metadata_providers/local.py,sha256=Z0CXaGZJbAkj4II3WspJi-uCCtShH64yaXZQ5i9Ym7g,24390
303
- metaflow/plugins/metadata_providers/service.py,sha256=K0Ym6lcmegX6wBC5uZbeAFQJSDFc8e6DzJiCB1VIqjc,22554
329
+ metaflow/plugins/metadata_providers/service.py,sha256=9j0db_EOGFdb49YTgr9q4EWqVAm1YUaW-Baj5gyRqIo,22809
304
330
  metaflow/plugins/pypi/__init__.py,sha256=0YFZpXvX7HCkyBFglatual7XGifdA1RwC3U4kcizyak,1037
305
331
  metaflow/plugins/pypi/bootstrap.py,sha256=SNONquX6QnTbu7htmhaQeVeZ2ofaFaUCDScRIrTTERc,14718
306
332
  metaflow/plugins/pypi/conda_decorator.py,sha256=piFcE4uGmWhhbGlxMK0GHd7BGEyqy6r9BFy8Mjoi80Q,15937
@@ -310,13 +336,13 @@ metaflow/plugins/pypi/parsers.py,sha256=gpOOG2Ph95wI73MWCAi7XjpK0gYhv5k5YIGBs73Q
310
336
  metaflow/plugins/pypi/pip.py,sha256=H0cIy8odpZ-JTn4SwF0b74tuC3uRU7X8TdAQJ2kODG8,13971
311
337
  metaflow/plugins/pypi/pypi_decorator.py,sha256=ybNgo-T5Z_0W2KNuED0pdjyI0qygZ4a1MXAzKqdHt_E,7250
312
338
  metaflow/plugins/pypi/pypi_environment.py,sha256=FYMg8kF3lXqcLfRYWD83a9zpVjcoo_TARqMGZ763rRk,230
313
- metaflow/plugins/pypi/utils.py,sha256=glfXN0Do8HleB8YE9LE9Pb1tIBivqdPGmS0sUtO1e7k,3451
339
+ metaflow/plugins/pypi/utils.py,sha256=W8OhDrhz7YIE-2MSSN5Rj7AmESwsN5YDmdnro152J4w,3551
314
340
  metaflow/plugins/secrets/__init__.py,sha256=mhJaN2eMS_ZZVewAMR2E-JdP5i0t3v9e6Dcwd-WpruE,310
315
341
  metaflow/plugins/secrets/inline_secrets_provider.py,sha256=EChmoBGA1i7qM3jtYwPpLZDBybXLergiDlN63E0u3x8,294
316
342
  metaflow/plugins/secrets/secrets_decorator.py,sha256=s-sFzPWOjahhpr5fMj-ZEaHkDYAPTO0isYXGvaUwlG8,11273
317
343
  metaflow/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
- metaflow/runner/click_api.py,sha256=4GbLSTA0Ju2kfjcslNn4yUOzGFcoMPFK00N_Q-q3IuY,23359
319
- metaflow/runner/deployer.py,sha256=Yas_SZCss3kfJw3hLC8_IyzgiytUFGoEGHz-l-rBBKk,8980
344
+ metaflow/runner/click_api.py,sha256=nAT1mSV40YKiHTyTr4RDZBCGgGFV6K0TXCTL4xtUOAc,23492
345
+ metaflow/runner/deployer.py,sha256=6ixXonNyLB1dfTNl1HVGVT5M8CybXDUa3oFTabn9Sp8,9099
320
346
  metaflow/runner/deployer_impl.py,sha256=Kab9rLoA3EiBJDtTTulhPCeKzqiljW366nx2Tm0LYy0,6143
321
347
  metaflow/runner/metaflow_runner.py,sha256=L302ew_BPBPs-NnW8n92dqqbqmHwrwGL5D6kTZvl5vY,16074
322
348
  metaflow/runner/nbdeploy.py,sha256=Sp5w-6nCZwjHaRBHWxi8udya-RYnJOB76KNLjB4L7Gs,4166
@@ -363,12 +389,12 @@ metaflow/user_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
363
389
  metaflow/user_configs/config_decorators.py,sha256=qCKVAvd0NKgaCxQ2OThes5-DYHXq6A1HqURubYNeFdw,20481
364
390
  metaflow/user_configs/config_options.py,sha256=m6jccSpzI4qUJ7vyYkYBIf8G3V0Caunxg_k7zg4Zlqg,21067
365
391
  metaflow/user_configs/config_parameters.py,sha256=oeJGVKu1ao_YQX6Lg6P2FEv5k5-_F4sARLlVpTW9ezM,15502
366
- metaflow-2.15.4.data/data/share/metaflow/devtools/Makefile,sha256=l0dYh6E_qdNjda6mwEHm5isoG9wsFh77i3CZQ5P53ZQ,13665
367
- metaflow-2.15.4.data/data/share/metaflow/devtools/Tiltfile,sha256=6xZrL354f8B5PKeoPUJnwka0gHUXl7XSPzNGgf5mcRI,20606
368
- metaflow-2.15.4.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
369
- metaflow-2.15.4.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
370
- metaflow-2.15.4.dist-info/METADATA,sha256=-usJR4VP8nvEh4izXRkjxjgYh12TUefjiey95XQuNZE,6118
371
- metaflow-2.15.4.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
372
- metaflow-2.15.4.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
373
- metaflow-2.15.4.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
374
- metaflow-2.15.4.dist-info/RECORD,,
392
+ metaflow-2.15.6.data/data/share/metaflow/devtools/Makefile,sha256=l0dYh6E_qdNjda6mwEHm5isoG9wsFh77i3CZQ5P53ZQ,13665
393
+ metaflow-2.15.6.data/data/share/metaflow/devtools/Tiltfile,sha256=P5_rn_F3xYLN1_cEAQ9mNeS22HG2rb8beKIz2RIK6fU,20634
394
+ metaflow-2.15.6.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
395
+ metaflow-2.15.6.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
396
+ metaflow-2.15.6.dist-info/METADATA,sha256=lih3_iL1Hv8zIGy2vaHnB8r4en2LyjkDRL3NZYTGQWc,6718
397
+ metaflow-2.15.6.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
398
+ metaflow-2.15.6.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
399
+ metaflow-2.15.6.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
400
+ metaflow-2.15.6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
@@ -1,110 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: metaflow
3
- Version: 2.15.4
4
- Summary: Metaflow: More AI and ML, Less Engineering
5
- Author: Metaflow Developers
6
- Author-email: help@metaflow.org
7
- License: Apache Software License
8
- Project-URL: Source, https://github.com/Netflix/metaflow
9
- Project-URL: Issues, https://github.com/Netflix/metaflow/issues
10
- Project-URL: Documentation, https://docs.metaflow.org
11
- Classifier: Development Status :: 5 - Production/Stable
12
- Classifier: License :: OSI Approved :: Apache Software License
13
- Classifier: Operating System :: MacOS :: MacOS X
14
- Classifier: Operating System :: POSIX :: Linux
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.6
17
- Classifier: Programming Language :: Python :: 3.7
18
- Classifier: Programming Language :: Python :: 3.8
19
- Classifier: Programming Language :: Python :: 3.9
20
- Classifier: Programming Language :: Python :: 3.10
21
- Classifier: Programming Language :: Python :: 3.11
22
- Classifier: Programming Language :: Python :: 3.12
23
- Classifier: Programming Language :: Python :: 3.13
24
- Description-Content-Type: text/markdown
25
- License-File: LICENSE
26
- Requires-Dist: requests
27
- Requires-Dist: boto3
28
- Provides-Extra: stubs
29
- Requires-Dist: metaflow-stubs==2.15.4; extra == "stubs"
30
- Dynamic: author
31
- Dynamic: author-email
32
- Dynamic: classifier
33
- Dynamic: description
34
- Dynamic: description-content-type
35
- Dynamic: license
36
- Dynamic: project-url
37
- Dynamic: provides-extra
38
- Dynamic: requires-dist
39
- Dynamic: summary
40
-
41
- ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)
42
-
43
- # Metaflow
44
-
45
- Metaflow is a human-friendly library that helps scientists and engineers build and manage real-life data science projects. Metaflow was [originally developed at Netflix](https://netflixtechblog.com/open-sourcing-metaflow-a-human-centric-framework-for-data-science-fa72e04a5d9) to boost productivity of data scientists who work on a wide variety of projects from classical statistics to state-of-the-art deep learning.
46
-
47
- For more information, see [Metaflow's website](https://metaflow.org) and [documentation](https://docs.metaflow.org).
48
-
49
- ## From prototype to production (and back)
50
-
51
- Metaflow provides a simple, friendly API that covers foundational needs of ML, AI, and data science projects:
52
- <img src="./docs/prototype-to-prod.png" width="800px">
53
-
54
- 1. [Rapid local prototyping](https://docs.metaflow.org/metaflow/basics), [support for notebooks](https://docs.metaflow.org/metaflow/visualizing-results), and [built-in experiment tracking and versioning](https://docs.metaflow.org/metaflow/client).
55
- 2. [Horizontal and vertical scalability to the cloud](https://docs.metaflow.org/scaling/remote-tasks/introduction), utilizing both CPUs and GPUs, and [fast data access](https://docs.metaflow.org/scaling/data).
56
- 3. [Managing dependencies](https://docs.metaflow.org/scaling/dependencies) and [one-click deployments to highly available production orchestrators](https://docs.metaflow.org/production/introduction).
57
-
58
-
59
- ## Getting started
60
-
61
- Getting up and running is easy. If you don't know where to start, [Metaflow sandbox](https://outerbounds.com/sandbox) will have you running and exploring Metaflow in seconds.
62
-
63
- ### Installing Metaflow in your Python environment
64
-
65
- To install Metaflow in your local environment, you can install from [PyPi](https://pypi.org/project/metaflow/):
66
-
67
- ```sh
68
- pip install metaflow
69
- ```
70
- Alternatively, you can also install from [conda-forge](https://anaconda.org/conda-forge/metaflow):
71
-
72
- ```sh
73
- conda install -c conda-forge metaflow
74
- ```
75
- If you are eager to try out Metaflow in practice, you can start with the [tutorial](https://docs.metaflow.org/getting-started/tutorials). After the tutorial, you can learn more about how Metaflow works [here](https://docs.metaflow.org/metaflow/basics).
76
-
77
- ### Deploying infrastructure for Metaflow in your cloud
78
- <img src="./docs/multicloud.png" width="800px">
79
-
80
-
81
- While you can get started with Metaflow easily on your laptop, the main benefits of Metaflow lie in its ability to [scale out to external compute clusters](https://docs.metaflow.org/scaling/remote-tasks/introduction)
82
- and to [deploy to production-grade workflow orchestrators](https://docs.metaflow.org/production/introduction). To benefit from these features, follow this [guide](https://outerbounds.com/engineering/welcome/) to
83
- configure Metaflow and the infrastructure behind it appropriately.
84
-
85
- ## [Resources](https://docs.metaflow.org/introduction/metaflow-resources)
86
-
87
- ### [Slack Community](http://slack.outerbounds.co/)
88
- An active [community](http://slack.outerbounds.co/) of thousands of data scientists and ML engineers discussing the ins-and-outs of applied machine learning.
89
-
90
- ### [Tutorials](https://outerbounds.com/docs/tutorials-index/)
91
- - [Introduction to Metaflow](https://outerbounds.com/docs/intro-tutorial-overview/)
92
- - [Natural Language Processing with Metaflow](https://outerbounds.com/docs/nlp-tutorial-overview/)
93
- - [Computer Vision with Metaflow](https://outerbounds.com/docs/cv-tutorial-overview/)
94
- - [Recommender Systems with Metaflow](https://outerbounds.com/docs/recsys-tutorial-overview/)
95
- - And more advanced content [here](https://outerbounds.com/docs/tutorials-index/)
96
-
97
- ### [Generative AI and LLM use cases](https://outerbounds.com/blog/?category=Foundation%20Models)
98
- - [Infrastructure Stack for Large Language Models](https://outerbounds.com/blog/llm-infrastructure-stack/)
99
- - [Parallelizing Stable Diffusion for Production Use Cases](https://outerbounds.com/blog/parallelizing-stable-diffusion-production-use-cases/)
100
- - [Whisper with Metaflow on Kubernetes](https://outerbounds.com/blog/whisper-kubernetes/)
101
- - [Training a Large Language Model With Metaflow, Featuring Dolly](https://outerbounds.com/blog/train-dolly-metaflow/)
102
-
103
- ## Get in touch
104
- There are several ways to get in touch with us:
105
- - [Slack Community](http://slack.outerbounds.co/)
106
- - [Github Issues](https://github.com/Netflix/metaflow/issues)
107
-
108
- ## Contributing
109
- We welcome contributions to Metaflow. Please see our [contribution guide](https://docs.metaflow.org/introduction/contributing-to-metaflow) for more details.
110
-