ob-metaflow-extensions 1.1.136__tar.gz → 1.1.138__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.
Potentially problematic release.
This version of ob-metaflow-extensions might be problematic. Click here for more details.
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/PKG-INFO +1 -1
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/fast_bakery/docker_environment.py +26 -6
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/ob_metaflow_extensions.egg-info/PKG-INFO +1 -1
- ob-metaflow-extensions-1.1.138/ob_metaflow_extensions.egg-info/requires.txt +3 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/setup.py +2 -2
- ob-metaflow-extensions-1.1.136/ob_metaflow_extensions.egg-info/requires.txt +0 -3
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/README.md +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/config/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/auth_server.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/card_utilities/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/card_utilities/async_cards.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/card_utilities/extra_components.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/card_utilities/injector.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/fast_bakery/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_cli.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_decorator.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/kubernetes/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/kubernetes/kubernetes_client.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nim/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nim/card.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nim/nim_manager.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nim/utilities.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/constants.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/exceptions.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/heartbeat_store.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf_cli.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf_decorator.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/nvcf/utils.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/ollama/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/ollama/ollama.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/perimeters.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/profilers/deco_injector.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/profilers/gpu_profile_decorator.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/secrets/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/secrets/secrets.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowflake/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowflake/snowflake.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_cli.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_client.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_decorator.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_exceptions.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_job.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_service_spec.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/plugins/tensorboard/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/profilers/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/profilers/gpu.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/remote_config.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/toplevel/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/toplevel/global_aliases_for_metaflow_package.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/toplevel/plugins/azure/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/toplevel/plugins/gcp/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/toplevel/plugins/kubernetes/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/toplevel/plugins/ollama/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/metaflow_extensions/outerbounds/toplevel/plugins/snowflake/__init__.py +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/ob_metaflow_extensions.egg-info/SOURCES.txt +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/ob_metaflow_extensions.egg-info/dependency_links.txt +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/ob_metaflow_extensions.egg-info/top_level.txt +0 -0
- {ob-metaflow-extensions-1.1.136 → ob-metaflow-extensions-1.1.138}/setup.cfg +0 -0
|
@@ -267,7 +267,7 @@ class DockerEnvironment(MetaflowEnvironment):
|
|
|
267
267
|
packages = get_pinned_conda_libs(python, self.datastore_type)
|
|
268
268
|
packages.update(dependencies.attributes["packages"] if dependencies else {})
|
|
269
269
|
|
|
270
|
-
|
|
270
|
+
requested = {
|
|
271
271
|
"python": python,
|
|
272
272
|
"pypi_packages": (
|
|
273
273
|
packages if isinstance(dependencies, PyPIStepDecorator) else None
|
|
@@ -277,15 +277,35 @@ class DockerEnvironment(MetaflowEnvironment):
|
|
|
277
277
|
),
|
|
278
278
|
"base_image": base_image,
|
|
279
279
|
}
|
|
280
|
+
dedup_key = hashlib.sha256(
|
|
281
|
+
json.dumps(requested).encode("utf-8")
|
|
282
|
+
).hexdigest()
|
|
283
|
+
|
|
284
|
+
return step.name, dedup_key, requested
|
|
280
285
|
|
|
281
286
|
with ThreadPoolExecutor() as executor:
|
|
282
287
|
prepared_args = list(executor.map(prepare_step, steps))
|
|
283
|
-
for
|
|
284
|
-
|
|
285
|
-
|
|
288
|
+
# Deduplicate the requests for baking images of steps.
|
|
289
|
+
# We do not want to bake the same image twice.
|
|
290
|
+
dedup_requests = {}
|
|
291
|
+
for step_name, key, args in prepared_args:
|
|
292
|
+
if key not in dedup_requests:
|
|
293
|
+
dedup_requests[key] = {"step_names": set(), "args": args}
|
|
294
|
+
dedup_requests[key]["step_names"].add(step_name)
|
|
295
|
+
|
|
296
|
+
# unique futures
|
|
297
|
+
futures = []
|
|
298
|
+
for i, kv in enumerate(dedup_requests.items(), 1):
|
|
299
|
+
key, value = kv
|
|
300
|
+
future = executor.submit(
|
|
301
|
+
_cached_bake, **{**value["args"], "ref": f"#{i:02d}"}
|
|
302
|
+
)
|
|
303
|
+
futures.append({"step_names": value["step_names"], "future": future})
|
|
304
|
+
|
|
286
305
|
results = {}
|
|
287
|
-
for
|
|
288
|
-
|
|
306
|
+
for item in futures:
|
|
307
|
+
for step_name in item["step_names"]:
|
|
308
|
+
results[step_name] = item["future"].result()
|
|
289
309
|
|
|
290
310
|
return results
|
|
291
311
|
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_namespace_packages
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
version = "1.1.
|
|
5
|
+
version = "1.1.138"
|
|
6
6
|
this_directory = Path(__file__).parent
|
|
7
7
|
long_description = (this_directory / "README.md").read_text()
|
|
8
8
|
|
|
@@ -18,6 +18,6 @@ setup(
|
|
|
18
18
|
install_requires=[
|
|
19
19
|
"boto3",
|
|
20
20
|
"kubernetes",
|
|
21
|
-
"ob-metaflow == 2.15.
|
|
21
|
+
"ob-metaflow == 2.15.6.1",
|
|
22
22
|
],
|
|
23
23
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|