metaflow-netflixext 1.3.4.dev4__tar.gz → 1.3.4.dev6__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.dev4/metaflow_netflixext.egg-info → metaflow_netflixext-1.3.4.dev6}/PKG-INFO +1 -1
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/conda_environment.py +1 -1
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/pypi_package_builder.py +3 -3
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/__init__.py +9 -8
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/builder_envs_resolver.py +1 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/conda_lock_resolver.py +1 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/micromamba_server_resolver.py +3 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/pylock_toml_resolver.py +1 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/utils.py +3 -3
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/coverage/generate_coveragerc.py +4 -4
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/coverage/setup_coverage.py +12 -2
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/coverage/upload_coverage_files.py +2 -2
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6/metaflow_netflixext.egg-info}/PKG-INFO +1 -1
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/LICENSE +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/README.md +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/constants.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/current_stub_generator.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/debug_cmd.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/debug_script_generator.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/debug_stub_generator.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/debug_utils.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/jupyter_instructions_markdown.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/debug/jupyter_title_markdown.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/environment/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/environment/environment_cmd.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/environment/utils.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/cmd/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/config/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/exceptions/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/exceptions/decorators.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/exceptions/http_helpers.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/generate_vendor.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/http_helpers.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/conda.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/conda_common_decorator.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/conda_flow_decorator.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/conda_flow_mutator.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/conda_lock_micromamba_server.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/conda_step_decorator.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/env_descr.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/envsresolver.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/parsers.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/remote_bootstrap.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/conda_resolver.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resolvers/pip_resolver.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resources/logo-32x32.png +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resources/logo-64x64.png +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/resources/logo-svg.svg +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/conda/terminal_menu.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/coverage/__init__.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/coverage/coveragerc.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/environment_cli.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/plugins/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/toplevel/mfextinit_netflixext.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/toplevel/netflixext_toplevel.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_extensions/netflix_ext/toplevel/netflixext_version.py +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_netflixext.egg-info/SOURCES.txt +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_netflixext.egg-info/dependency_links.txt +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_netflixext.egg-info/requires.txt +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/metaflow_netflixext.egg-info/top_level.txt +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/setup.cfg +0 -0
- {metaflow_netflixext-1.3.4.dev4 → metaflow_netflixext-1.3.4.dev6}/setup.py +0 -0
|
@@ -202,7 +202,7 @@ class CondaEnvironment(MetaflowEnvironment):
|
|
|
202
202
|
"echo 'Bootstrapping environment ...'",
|
|
203
203
|
'python -m %s.remote_bootstrap "%s" "%s" %s %s %s'
|
|
204
204
|
% (
|
|
205
|
-
"metaflow_extensions.
|
|
205
|
+
"metaflow_extensions.netflix_ext.plugins.conda",
|
|
206
206
|
self._flow.name,
|
|
207
207
|
step_name,
|
|
208
208
|
arg1,
|
|
@@ -18,7 +18,7 @@ from typing import (
|
|
|
18
18
|
|
|
19
19
|
if TYPE_CHECKING:
|
|
20
20
|
import metaflow.datastore.datastore_storage
|
|
21
|
-
import metaflow_extensions.
|
|
21
|
+
import metaflow_extensions.netflix_ext.plugins.conda.conda
|
|
22
22
|
|
|
23
23
|
from metaflow.debug import debug
|
|
24
24
|
|
|
@@ -62,7 +62,7 @@ class PackageToBuild:
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
def build_pypi_packages(
|
|
65
|
-
conda: "metaflow_extensions.
|
|
65
|
+
conda: "metaflow_extensions.netflix_ext.plugins.conda.conda.Conda",
|
|
66
66
|
storage: "metaflow.datastore.datastore_storage.DataStoreStorage",
|
|
67
67
|
python_version: str,
|
|
68
68
|
to_build_pkg_info: Dict[str, PackageToBuild],
|
|
@@ -343,7 +343,7 @@ def build_pypi_packages(
|
|
|
343
343
|
|
|
344
344
|
|
|
345
345
|
def _build_with_pip(
|
|
346
|
-
conda: "metaflow_extensions.
|
|
346
|
+
conda: "metaflow_extensions.netflix_ext.plugins.conda.conda.Conda",
|
|
347
347
|
binary: str,
|
|
348
348
|
dest_path: str,
|
|
349
349
|
key: str,
|
|
@@ -5,8 +5,8 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import TYPE_CHECKING, Dict, List, Optional, Tuple, Type
|
|
6
6
|
|
|
7
7
|
if TYPE_CHECKING:
|
|
8
|
-
import metaflow_extensions.
|
|
9
|
-
import metaflow_extensions.
|
|
8
|
+
import metaflow_extensions.netflix_ext.plugins.conda.conda
|
|
9
|
+
import metaflow_extensions.netflix_ext.plugins.conda.env_descr
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
from ..utils import CondaException
|
|
@@ -57,28 +57,29 @@ class Resolver:
|
|
|
57
57
|
)
|
|
58
58
|
return resolver
|
|
59
59
|
|
|
60
|
-
def __init__(self, conda: "metaflow_extensions.
|
|
60
|
+
def __init__(self, conda: "metaflow_extensions.netflix_ext.plugins.conda.conda.Conda"):
|
|
61
61
|
self._conda = conda
|
|
62
62
|
|
|
63
63
|
def resolve(
|
|
64
64
|
self,
|
|
65
|
-
env_type: "metaflow_extensions.
|
|
65
|
+
env_type: "metaflow_extensions.netflix_ext.plugins.conda.env_descr.EnvType",
|
|
66
66
|
python_version_requested: str,
|
|
67
67
|
deps: Dict[str, List[str]],
|
|
68
68
|
sources: Dict[str, List[str]],
|
|
69
69
|
extras: Dict[str, List[str]],
|
|
70
70
|
architecture: str,
|
|
71
71
|
builder_envs: Optional[
|
|
72
|
-
List["metaflow_extensions.
|
|
72
|
+
List["metaflow_extensions.netflix_ext.plugins.conda.env_descr.ResolvedEnvironment"]
|
|
73
73
|
] = None,
|
|
74
74
|
base_env: Optional[
|
|
75
|
-
"metaflow_extensions.
|
|
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
|
-
"metaflow_extensions.
|
|
80
|
+
"metaflow_extensions.netflix_ext.plugins.conda.env_descr.ResolvedEnvironment",
|
|
80
81
|
Optional[
|
|
81
|
-
List["metaflow_extensions.
|
|
82
|
+
List["metaflow_extensions.netflix_ext.plugins.conda.env_descr.ResolvedEnvironment"]
|
|
82
83
|
],
|
|
83
84
|
]:
|
|
84
85
|
"""
|
|
@@ -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
|
|
|
@@ -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
|
|
@@ -59,7 +59,7 @@ from requests import PreparedRequest, Response, Session
|
|
|
59
59
|
from requests.auth import AuthBase, HTTPBasicAuth
|
|
60
60
|
|
|
61
61
|
if TYPE_CHECKING:
|
|
62
|
-
import metaflow_extensions.
|
|
62
|
+
import metaflow_extensions.netflix_ext.plugins.conda.env_descr
|
|
63
63
|
from metaflow_extensions.netflix_ext.plugins.conda.env_descr import (
|
|
64
64
|
PackageSpecification,
|
|
65
65
|
ResolvedEnvironment,
|
|
@@ -567,7 +567,7 @@ def is_alias_mutable(alias_type: AliasType, resolved_alias: str) -> bool:
|
|
|
567
567
|
|
|
568
568
|
def dict_to_tstr(
|
|
569
569
|
deps: Dict[str, List[str]],
|
|
570
|
-
) -> List["metaflow_extensions.
|
|
570
|
+
) -> List["metaflow_extensions.netflix_ext.plugins.conda.env_descr.TStr"]:
|
|
571
571
|
from .env_descr import TStr # Avoid circular import
|
|
572
572
|
|
|
573
573
|
result = [] # type: List[TStr]
|
|
@@ -577,7 +577,7 @@ def dict_to_tstr(
|
|
|
577
577
|
|
|
578
578
|
|
|
579
579
|
def tstr_to_dict(
|
|
580
|
-
deps: List["metaflow_extensions.
|
|
580
|
+
deps: List["metaflow_extensions.netflix_ext.plugins.conda.env_descr.TStr"],
|
|
581
581
|
) -> Dict[str, List[str]]:
|
|
582
582
|
result = {} # type: Dict[str, List[str]]
|
|
583
583
|
for dep in deps:
|
|
@@ -2,7 +2,7 @@ import configparser
|
|
|
2
2
|
import coverage
|
|
3
3
|
import re
|
|
4
4
|
import os
|
|
5
|
-
from metaflow_extensions.netflix_ext.plugins.coverage.setup_coverage import
|
|
5
|
+
from metaflow_extensions.netflix_ext.plugins.coverage.setup_coverage import get_coverage_rcfile
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def get_tmp_dirs(pattern, coverage_rcfile, data_file=".coverage"):
|
|
@@ -91,6 +91,6 @@ def save_updated_coveragerc(config, coverage_rcfile, output_file):
|
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
if __name__ == "__main__":
|
|
94
|
-
cov = coverage.Coverage(data_file=".coverage", config_file=
|
|
95
|
-
remap_tmp_dirs(cov,
|
|
96
|
-
save_updated_coveragerc(cov.config,
|
|
94
|
+
cov = coverage.Coverage(data_file=".coverage", config_file=get_coverage_rcfile())
|
|
95
|
+
remap_tmp_dirs(cov, get_coverage_rcfile(), ".coverage")
|
|
96
|
+
save_updated_coveragerc(cov.config, get_coverage_rcfile(), ".coveragerc")
|
|
@@ -9,10 +9,20 @@ if TYPE_CHECKING:
|
|
|
9
9
|
import sh
|
|
10
10
|
|
|
11
11
|
MODULE_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
12
|
-
COVERAGE_RCFILE = os.path.join(MODULE_DIR, "coveragerc.py")
|
|
13
12
|
SITECUSTOMIZE_FILE = os.path.join(MODULE_DIR, "sitecustomize.py")
|
|
14
13
|
|
|
15
14
|
|
|
15
|
+
def get_coverage_rcfile() -> str:
|
|
16
|
+
"""Return the coveragerc path, allowing extensions to override via env var."""
|
|
17
|
+
return os.environ.get("METAFLOW_COVERAGE_RCFILE_PATH") or os.path.join(
|
|
18
|
+
MODULE_DIR, "coveragerc.py"
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# Backwards-compatible alias — resolved at call time via get_coverage_rcfile()
|
|
23
|
+
COVERAGE_RCFILE = os.path.join(MODULE_DIR, "coveragerc.py")
|
|
24
|
+
|
|
25
|
+
|
|
16
26
|
def get_local_coverage_dir():
|
|
17
27
|
METAFLOW_COVERAGE_S3_PATH = os.environ.get("METAFLOW_COVERAGE_S3_PATH")
|
|
18
28
|
assert METAFLOW_COVERAGE_S3_PATH, "METAFLOW_COVERAGE_S3_PATH is not set"
|
|
@@ -44,7 +54,7 @@ def setup_sitecustomize(python_binary: str):
|
|
|
44
54
|
# so that when the env is saved and restored we will have both.
|
|
45
55
|
coverage_rcfile = os.path.join(site_packages_dir, ".coveragerc")
|
|
46
56
|
if not os.path.exists(coverage_rcfile):
|
|
47
|
-
shutil.copy(
|
|
57
|
+
shutil.copy(get_coverage_rcfile(), coverage_rcfile)
|
|
48
58
|
|
|
49
59
|
# We harden out the environment variables as the fallback so that it will work with
|
|
50
60
|
# subprocesses that are launched without inheriting the environment.
|
|
@@ -7,7 +7,7 @@ import shutil
|
|
|
7
7
|
import subprocess
|
|
8
8
|
import uuid
|
|
9
9
|
|
|
10
|
-
from .setup_coverage import get_local_coverage_dir,
|
|
10
|
+
from .setup_coverage import get_local_coverage_dir, get_coverage_rcfile
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def hash_file(file_path: str) -> str:
|
|
@@ -45,7 +45,7 @@ def combine_coverage_files(local_dir):
|
|
|
45
45
|
if not files:
|
|
46
46
|
return
|
|
47
47
|
cov = coverage.Coverage(
|
|
48
|
-
data_file=combined_coverage_file, config_file=
|
|
48
|
+
data_file=combined_coverage_file, config_file=get_coverage_rcfile()
|
|
49
49
|
)
|
|
50
50
|
try:
|
|
51
51
|
cov.combine(data_paths=files, keep=True)
|
|
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
|