hydraflow 0.4.5__py3-none-any.whl → 0.4.6__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- hydraflow/__init__.py +2 -0
- hydraflow/utils.py +16 -6
- {hydraflow-0.4.5.dist-info → hydraflow-0.4.6.dist-info}/METADATA +3 -2
- {hydraflow-0.4.5.dist-info → hydraflow-0.4.6.dist-info}/RECORD +6 -6
- {hydraflow-0.4.5.dist-info → hydraflow-0.4.6.dist-info}/WHEEL +1 -1
- {hydraflow-0.4.5.dist-info → hydraflow-0.4.6.dist-info}/licenses/LICENSE +0 -0
hydraflow/__init__.py
CHANGED
@@ -11,6 +11,7 @@ from .utils import (
|
|
11
11
|
get_overrides,
|
12
12
|
load_config,
|
13
13
|
load_overrides,
|
14
|
+
remove_run,
|
14
15
|
)
|
15
16
|
|
16
17
|
__all__ = [
|
@@ -26,6 +27,7 @@ __all__ = [
|
|
26
27
|
"log_run",
|
27
28
|
"multi_tasks_progress",
|
28
29
|
"parallel_progress",
|
30
|
+
"remove_run",
|
29
31
|
"search_runs",
|
30
32
|
"select_config",
|
31
33
|
"select_overrides",
|
hydraflow/utils.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
+
import shutil
|
5
6
|
from pathlib import Path
|
6
7
|
from typing import TYPE_CHECKING
|
7
8
|
|
@@ -9,11 +10,10 @@ import mlflow
|
|
9
10
|
import mlflow.artifacts
|
10
11
|
from hydra.core.hydra_config import HydraConfig
|
11
12
|
from mlflow.entities import Run
|
12
|
-
from mlflow.tracking import artifact_utils
|
13
13
|
from omegaconf import DictConfig, OmegaConf
|
14
14
|
|
15
15
|
if TYPE_CHECKING:
|
16
|
-
from
|
16
|
+
from collections.abc import Iterable
|
17
17
|
|
18
18
|
|
19
19
|
def get_artifact_dir(run: Run | None = None) -> Path:
|
@@ -28,10 +28,10 @@ def get_artifact_dir(run: Run | None = None) -> Path:
|
|
28
28
|
The local path to the directory where the artifacts are downloaded.
|
29
29
|
|
30
30
|
"""
|
31
|
-
if run is None
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
uri = mlflow.get_artifact_uri() if run is None else run.info.artifact_uri
|
32
|
+
|
33
|
+
if not (isinstance(uri, str) and uri.startswith("file://")):
|
34
|
+
raise NotImplementedError
|
35
35
|
|
36
36
|
return Path(mlflow.artifacts.download_artifacts(uri))
|
37
37
|
|
@@ -112,3 +112,13 @@ def load_overrides(run: Run) -> list[str]:
|
|
112
112
|
"""
|
113
113
|
path = get_artifact_dir(run) / ".hydra/overrides.yaml"
|
114
114
|
return [str(x) for x in OmegaConf.load(path)]
|
115
|
+
|
116
|
+
|
117
|
+
def remove_run(run: Run | Iterable[Run]) -> None:
|
118
|
+
"""Remove the given run from the MLflow tracking server."""
|
119
|
+
if not isinstance(run, Run):
|
120
|
+
for r in run:
|
121
|
+
remove_run(r)
|
122
|
+
return
|
123
|
+
|
124
|
+
shutil.rmtree(get_artifact_dir(run).parent)
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: hydraflow
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.6
|
4
4
|
Summary: Hydraflow integrates Hydra and MLflow to manage and track machine learning experiments.
|
5
5
|
Project-URL: Documentation, https://github.com/daizutabi/hydraflow
|
6
6
|
Project-URL: Source, https://github.com/daizutabi/hydraflow
|
@@ -27,6 +27,7 @@ License: MIT License
|
|
27
27
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
28
28
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
29
29
|
SOFTWARE.
|
30
|
+
License-File: LICENSE
|
30
31
|
Classifier: Development Status :: 4 - Beta
|
31
32
|
Classifier: License :: OSI Approved :: MIT License
|
32
33
|
Classifier: Programming Language :: Python
|
@@ -1,4 +1,4 @@
|
|
1
|
-
hydraflow/__init__.py,sha256=
|
1
|
+
hydraflow/__init__.py,sha256=4wUu8HR__oM0lTUiIqxO7iP6ubLSfKI6y7_P9_RuYtA,942
|
2
2
|
hydraflow/asyncio.py,sha256=-i1C8KAmNDImrjHnk92Csaa1mpjdK8Vp4ZVaQV-l94s,6634
|
3
3
|
hydraflow/config.py,sha256=MNX9da5bPVDcjnpji7Cm9ndK6ura92pt361m4PRh6_E,4326
|
4
4
|
hydraflow/context.py,sha256=kz5SvjvjN7Z_2WjHYpO9SWwDfsPT_UeZcsm8pDymhjs,8836
|
@@ -9,8 +9,8 @@ hydraflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
hydraflow/run_collection.py,sha256=eBNGwtvkRKpOEqcwDUS1tkIFuxY_PVi6SEzzd1PwG5s,26774
|
10
10
|
hydraflow/run_data.py,sha256=qeFX1iRvNAorXA9QQIjzr0o2_82TI44eZKp7llKG8GI,1549
|
11
11
|
hydraflow/run_info.py,sha256=sMXOo20ClaRIommMEzuAbO_OrcXx7M1Yt4FMV7spxz0,998
|
12
|
-
hydraflow/utils.py,sha256=
|
13
|
-
hydraflow-0.4.
|
14
|
-
hydraflow-0.4.
|
15
|
-
hydraflow-0.4.
|
16
|
-
hydraflow-0.4.
|
12
|
+
hydraflow/utils.py,sha256=jbNrbtIfMqxE4LrdTNd1g7sF68XgAvydGqW5iAZ6n-c,3834
|
13
|
+
hydraflow-0.4.6.dist-info/METADATA,sha256=s3eXM1oDcJVWj930b3c_9iKATXLoYZMMDmA9THkCdu8,5149
|
14
|
+
hydraflow-0.4.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
15
|
+
hydraflow-0.4.6.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
|
16
|
+
hydraflow-0.4.6.dist-info/RECORD,,
|
File without changes
|