metaflow-netflixext 1.3.4.dev5__tar.gz → 1.3.4.dev7__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.
- {metaflow_netflixext-1.3.4.dev5/metaflow_netflixext.egg-info → metaflow_netflixext-1.3.4.dev7}/PKG-INFO +1 -1
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/pypi_package_builder.py +12 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/__init__.py +1 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/builder_envs_resolver.py +1 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/conda_lock_resolver.py +1 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/micromamba_server_resolver.py +3 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/pip_resolver.py +14 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/pylock_toml_resolver.py +6 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/utils.py +1 -1
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7/metaflow_netflixext.egg-info}/PKG-INFO +1 -1
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/LICENSE +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/README.md +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/constants.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/current_stub_generator.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/debug_cmd.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/debug_script_generator.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/debug_stub_generator.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/debug_utils.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/jupyter_instructions_markdown.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/debug/jupyter_title_markdown.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/environment/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/environment/environment_cmd.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/environment/utils.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/cmd/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/config/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/exceptions/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/exceptions/decorators.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/exceptions/http_helpers.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/generate_vendor.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/http_helpers.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/conda.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/conda_common_decorator.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/conda_environment.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/conda_flow_decorator.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/conda_flow_mutator.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/conda_lock_micromamba_server.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/conda_step_decorator.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/env_descr.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/envsresolver.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/parsers.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/remote_bootstrap.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/conda_resolver.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resources/logo-32x32.png +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resources/logo-64x64.png +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/resources/logo-svg.svg +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/conda/terminal_menu.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/coverage/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/coverage/coveragerc.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/coverage/generate_coveragerc.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/coverage/setup_coverage.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/coverage/upload_coverage_files.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/environment_cli.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/plugins/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/toplevel/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/toplevel/netflixext_toplevel.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_extensions/netflix_ext/toplevel/netflixext_version.py +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_netflixext.egg-info/SOURCES.txt +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_netflixext.egg-info/dependency_links.txt +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_netflixext.egg-info/requires.txt +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/metaflow_netflixext.egg-info/top_level.txt +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/setup.cfg +0 -0
- {metaflow_netflixext-1.3.4.dev5 → metaflow_netflixext-1.3.4.dev7}/setup.py +0 -0
|
@@ -354,6 +354,18 @@ def _build_with_pip(
|
|
|
354
354
|
debug.conda_exec("%s: building from '%s' in '%s'" % (key, src, dest_path))
|
|
355
355
|
|
|
356
356
|
addl_env = {"PATH": os.path.dirname(binary) + ":" + os.environ["PATH"]}
|
|
357
|
+
|
|
358
|
+
# Constrain setuptools<82 in pip's build isolation subprocesses.
|
|
359
|
+
# The top-level pip uses --isolated (ignores env vars), but the build
|
|
360
|
+
# isolation subprocess that installs build deps does NOT, so it honors
|
|
361
|
+
# PIP_CONSTRAINT. This prevents setuptools>=82 (which removed
|
|
362
|
+
# pkg_resources) from being installed in the build environment.
|
|
363
|
+
constraint_file = os.path.join(dest_path, "constraints.txt")
|
|
364
|
+
os.makedirs(dest_path, exist_ok=True)
|
|
365
|
+
with open(constraint_file, "w") as cf:
|
|
366
|
+
cf.write("setuptools<82\n")
|
|
367
|
+
addl_env["PIP_CONSTRAINT"] = constraint_file
|
|
368
|
+
|
|
357
369
|
conda.call_binary(
|
|
358
370
|
[
|
|
359
371
|
"-m",
|
|
@@ -75,6 +75,7 @@ class Resolver:
|
|
|
75
75
|
"metaflow_extensions.netflix_ext.plugins.conda.env_descr.ResolvedEnvironment"
|
|
76
76
|
] = None,
|
|
77
77
|
file_paths: Dict[str, List[str]] = {},
|
|
78
|
+
full_id_unique_keys: Optional[Dict[str, str]] = None,
|
|
78
79
|
) -> Tuple[
|
|
79
80
|
"metaflow_extensions.netflix_ext.plugins.conda.env_descr.ResolvedEnvironment",
|
|
80
81
|
Optional[
|
|
@@ -24,6 +24,7 @@ class BuilderEnvsResolver(Resolver):
|
|
|
24
24
|
builder_envs: Optional[List[ResolvedEnvironment]] = None,
|
|
25
25
|
base_env: Optional[ResolvedEnvironment] = None,
|
|
26
26
|
file_paths: Dict[str, List[str]] = {},
|
|
27
|
+
full_id_unique_keys: Optional[Dict[str, str]] = None,
|
|
27
28
|
) -> Tuple[ResolvedEnvironment, Optional[List[ResolvedEnvironment]]]:
|
|
28
29
|
conda_only_sources = sources.get("conda", [])
|
|
29
30
|
python_deps = [d for d in deps.get("conda", []) if d.startswith("python==")]
|
|
@@ -64,6 +64,7 @@ class CondaLockResolver(Resolver):
|
|
|
64
64
|
builder_envs: Optional[List[ResolvedEnvironment]] = None,
|
|
65
65
|
base_env: Optional[ResolvedEnvironment] = None,
|
|
66
66
|
file_paths: Dict[str, List[str]] = {},
|
|
67
|
+
full_id_unique_keys: Optional[Dict[str, str]] = None,
|
|
67
68
|
) -> Tuple[ResolvedEnvironment, Optional[List[ResolvedEnvironment]]]:
|
|
68
69
|
outfile_name = None
|
|
69
70
|
external_packages = {}
|
|
@@ -15,12 +15,15 @@ class CondaLockResolver(Resolver):
|
|
|
15
15
|
def resolve(
|
|
16
16
|
self,
|
|
17
17
|
env_type: EnvType,
|
|
18
|
+
python_version_requested: str,
|
|
18
19
|
deps: Dict[str, List[str]],
|
|
19
20
|
sources: Dict[str, List[str]],
|
|
20
21
|
extras: Dict[str, List[str]],
|
|
21
22
|
architecture: str,
|
|
22
23
|
builder_envs: Optional[List[ResolvedEnvironment]] = None,
|
|
23
24
|
base_env: Optional[ResolvedEnvironment] = None,
|
|
25
|
+
file_paths: Dict[str, List[str]] = {},
|
|
26
|
+
full_id_unique_keys: Optional[Dict[str, str]] = None,
|
|
24
27
|
) -> Tuple[ResolvedEnvironment, Optional[List[ResolvedEnvironment]]]:
|
|
25
28
|
raise NotImplementedError
|
|
26
29
|
|
|
@@ -144,6 +144,20 @@ class PipResolver(Resolver):
|
|
|
144
144
|
]
|
|
145
145
|
args.extend(extra_args)
|
|
146
146
|
|
|
147
|
+
# Constrain setuptools<82 so that build isolation environments
|
|
148
|
+
# retain pkg_resources (removed in setuptools 82). Many third-party
|
|
149
|
+
# packages still use pkg_resources in their setup.py.
|
|
150
|
+
constraint_file = os.path.join(pypi_dir, "constraints.txt")
|
|
151
|
+
with open(constraint_file, "w") as cf:
|
|
152
|
+
cf.write("setuptools<82\n")
|
|
153
|
+
args.extend(["--constraint", constraint_file])
|
|
154
|
+
# Also set PIP_CONSTRAINT env var so the constraint propagates to
|
|
155
|
+
# pip's build isolation subprocesses (--constraint only applies to
|
|
156
|
+
# the top-level resolution, not to build dependency installation).
|
|
157
|
+
# The main pip command uses --isolated which ignores env vars, but
|
|
158
|
+
# build isolation subprocesses do not, so they will honor this.
|
|
159
|
+
addl_env["PIP_CONSTRAINT"] = constraint_file
|
|
160
|
+
|
|
147
161
|
pypi_sources = sources.get("pypi", [])
|
|
148
162
|
# The first source is always the index
|
|
149
163
|
args.extend(["-i", pypi_sources[0]])
|
|
@@ -48,6 +48,7 @@ class PylockTomlResolver(Resolver):
|
|
|
48
48
|
builder_envs: Optional[List[ResolvedEnvironment]] = None,
|
|
49
49
|
base_env: Optional[ResolvedEnvironment] = None,
|
|
50
50
|
file_paths: Dict[str, List[str]] = {},
|
|
51
|
+
full_id_unique_keys: Optional[Dict[str, str]] = None,
|
|
51
52
|
) -> Tuple[ResolvedEnvironment, Optional[List[ResolvedEnvironment]]]:
|
|
52
53
|
# Checks on len(tom_path_list) >= 1 skiped due to get_resolver_cls()
|
|
53
54
|
# only triggers this class's resolve() call when its len >= 1
|
|
@@ -115,6 +116,7 @@ class PylockTomlResolver(Resolver):
|
|
|
115
116
|
architecture,
|
|
116
117
|
supported_tags,
|
|
117
118
|
filter_func,
|
|
119
|
+
full_id_unique_keys,
|
|
118
120
|
)
|
|
119
121
|
|
|
120
122
|
return (resolved_env, builder_envs)
|
|
@@ -219,6 +221,7 @@ class PylockTomlResolver(Resolver):
|
|
|
219
221
|
Dict[str, List[PackageSpecification]],
|
|
220
222
|
]
|
|
221
223
|
] = None,
|
|
224
|
+
full_id_unique_keys: Dict[str, str] = {},
|
|
222
225
|
) -> ResolvedEnvironment:
|
|
223
226
|
|
|
224
227
|
packages_dict = PylockTomlResolver._pylock_toml_root_obj_to_packages(
|
|
@@ -243,6 +246,7 @@ class PylockTomlResolver(Resolver):
|
|
|
243
246
|
sources,
|
|
244
247
|
extras,
|
|
245
248
|
architecture,
|
|
249
|
+
full_id_unique_keys=full_id_unique_keys,
|
|
246
250
|
)
|
|
247
251
|
|
|
248
252
|
return resolved_env
|
|
@@ -362,6 +366,7 @@ class PylockTomlResolver(Resolver):
|
|
|
362
366
|
sources: Optional[Dict[str, List[str]]],
|
|
363
367
|
extras: Optional[Dict[str, List[str]]],
|
|
364
368
|
architecture: Optional[str] = None,
|
|
369
|
+
full_id_unique_keys: Optional[Dict[str, str]] = None,
|
|
365
370
|
):
|
|
366
371
|
resolved_env = ResolvedEnvironment(
|
|
367
372
|
deps,
|
|
@@ -370,6 +375,7 @@ class PylockTomlResolver(Resolver):
|
|
|
370
375
|
architecture,
|
|
371
376
|
all_packages=packages,
|
|
372
377
|
env_type=env_type,
|
|
378
|
+
full_id_unique_keys=full_id_unique_keys,
|
|
373
379
|
)
|
|
374
380
|
|
|
375
381
|
return resolved_env
|
|
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
|