hydraflow 0.5.2__tar.gz → 0.5.3__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {hydraflow-0.5.2 → hydraflow-0.5.3}/PKG-INFO +2 -2
- {hydraflow-0.5.2 → hydraflow-0.5.3}/pyproject.toml +2 -2
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/mlflow.py +1 -1
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/utils.py +1 -1
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/test_mlflow.py +13 -10
- {hydraflow-0.5.2 → hydraflow-0.5.3}/.devcontainer/devcontainer.json +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/.devcontainer/postCreate.sh +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/.devcontainer/starship.toml +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/.gitattributes +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/.gitignore +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/LICENSE +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/README.md +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/apps/quickstart.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/mkdocs.yml +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/__init__.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/config.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/context.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/param.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/py.typed +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/run_collection.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/run_data.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/src/hydraflow/run_info.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/__init__.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/config/__init__.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/config/config.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/config/test_config.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/config/test_hydra.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/config/test_params.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/conftest.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/context/__init__.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/context/context.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/context/test_hydra.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/param/__init__.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/param/param.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/param/test_hydra.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/param/test_param.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/__init__.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/filter.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/run.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/test_collection.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/test_data.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/test_filter.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/test_hydra.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/run/test_info.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/utils/__init__.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/utils/test_hydra.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/utils/test_run.py +0 -0
- {hydraflow-0.5.2 → hydraflow-0.5.3}/tests/utils/utils.py +0 -0
@@ -1,8 +1,8 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: hydraflow
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.3
|
4
4
|
Summary: Hydraflow integrates Hydra and MLflow to manage and track machine learning experiments.
|
5
|
-
Project-URL: Documentation, https://github.
|
5
|
+
Project-URL: Documentation, https://daizutabi.github.io/hydraflow/
|
6
6
|
Project-URL: Source, https://github.com/daizutabi/hydraflow
|
7
7
|
Project-URL: Issues, https://github.com/daizutabi/hydraflow/issues
|
8
8
|
Author-email: daizutabi <daizutabi@gmail.com>
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "hydraflow"
|
7
|
-
version = "0.5.
|
7
|
+
version = "0.5.3"
|
8
8
|
description = "Hydraflow integrates Hydra and MLflow to manage and track machine learning experiments."
|
9
9
|
readme = "README.md"
|
10
10
|
license = { file = "LICENSE" }
|
@@ -22,7 +22,7 @@ requires-python = ">=3.10"
|
|
22
22
|
dependencies = ["hydra-core>=1.3", "mlflow>=2.15"]
|
23
23
|
|
24
24
|
[project.urls]
|
25
|
-
Documentation = "https://github.
|
25
|
+
Documentation = "https://daizutabi.github.io/hydraflow/"
|
26
26
|
Source = "https://github.com/daizutabi/hydraflow"
|
27
27
|
Issues = "https://github.com/daizutabi/hydraflow/issues"
|
28
28
|
|
@@ -214,7 +214,7 @@ def _list_runs(
|
|
214
214
|
loc = experiment.artifact_location
|
215
215
|
|
216
216
|
if isinstance(loc, str):
|
217
|
-
if loc.startswith("file
|
217
|
+
if loc.startswith("file:"):
|
218
218
|
path = Path(mlflow.artifacts.download_artifacts(loc))
|
219
219
|
elif Path(loc).is_dir():
|
220
220
|
path = Path(loc)
|
@@ -33,7 +33,7 @@ def get_artifact_dir(run: Run | None = None) -> Path:
|
|
33
33
|
if not isinstance(uri, str):
|
34
34
|
raise NotImplementedError
|
35
35
|
|
36
|
-
if uri.startswith("file
|
36
|
+
if uri.startswith("file:"):
|
37
37
|
return Path(mlflow.artifacts.download_artifacts(uri))
|
38
38
|
|
39
39
|
if Path(uri).is_dir():
|
@@ -1,15 +1,9 @@
|
|
1
|
-
import sys
|
2
1
|
from pathlib import Path
|
3
2
|
|
4
3
|
import mlflow
|
5
4
|
import pytest
|
6
5
|
from mlflow.entities import Experiment, Run, RunStatus
|
7
6
|
|
8
|
-
pytestmark = pytest.mark.skipif(
|
9
|
-
sys.platform == "win32",
|
10
|
-
reason="Windows is not supported",
|
11
|
-
)
|
12
|
-
|
13
7
|
|
14
8
|
@pytest.fixture(scope="module")
|
15
9
|
def experiment(experiment_name: str):
|
@@ -36,8 +30,13 @@ def test_set_experiment_uri(experiment: Experiment):
|
|
36
30
|
|
37
31
|
|
38
32
|
def test_set_experiment_location(experiment: Experiment):
|
39
|
-
loc =
|
40
|
-
assert
|
33
|
+
loc = experiment.artifact_location
|
34
|
+
assert isinstance(loc, str)
|
35
|
+
if loc.startswith("file:"): # for windows
|
36
|
+
loc = loc[loc.index("C:") :]
|
37
|
+
|
38
|
+
path = Path.cwd() / "mlruns" / experiment.experiment_id
|
39
|
+
assert path == Path(loc)
|
41
40
|
|
42
41
|
|
43
42
|
def test_set_experiment_name(experiment: Experiment):
|
@@ -68,8 +67,12 @@ def test_log_params(run: Run, experiment_name):
|
|
68
67
|
def test_get_artifact_dir_from_utils(run: Run, experiment: Experiment):
|
69
68
|
from hydraflow.utils import get_artifact_dir
|
70
69
|
|
71
|
-
|
72
|
-
assert
|
70
|
+
loc = experiment.artifact_location
|
71
|
+
assert isinstance(loc, str)
|
72
|
+
if loc.startswith("file:"): # for windows
|
73
|
+
loc = loc[loc.index("C:") :]
|
74
|
+
|
75
|
+
assert get_artifact_dir(run) == Path(loc) / run.info.run_id / "artifacts"
|
73
76
|
|
74
77
|
|
75
78
|
@pytest.mark.parametrize(
|
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
|