hydraflow 0.4.1__py3-none-any.whl → 0.4.3__py3-none-any.whl

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.
hydraflow/context.py CHANGED
@@ -10,6 +10,7 @@ from pathlib import Path
10
10
  from typing import TYPE_CHECKING
11
11
 
12
12
  import mlflow
13
+ import mlflow.artifacts
13
14
  from hydra.core.hydra_config import HydraConfig
14
15
  from watchdog.events import FileModifiedEvent, PatternMatchingEventHandler
15
16
  from watchdog.observers import Observer
hydraflow/mlflow.py CHANGED
@@ -21,6 +21,7 @@ from typing import TYPE_CHECKING
21
21
 
22
22
  import joblib
23
23
  import mlflow
24
+ import mlflow.artifacts
24
25
  from hydra.core.hydra_config import HydraConfig
25
26
  from mlflow.entities import ViewType
26
27
  from mlflow.tracking.fluent import SEARCH_MAX_RESULTS_PANDAS, _get_experiment_id
hydraflow/param.py CHANGED
@@ -30,7 +30,7 @@ def match(param: str, value: Any) -> bool:
30
30
  False otherwise.
31
31
 
32
32
  """
33
- if value in [None, True, False]:
33
+ if any(value is x for x in [None, True, False]):
34
34
  return param == str(value)
35
35
 
36
36
  if isinstance(value, list) and (m := _match_list(param, value)) is not None:
@@ -39,12 +39,12 @@ def match(param: str, value: Any) -> bool:
39
39
  if isinstance(value, tuple) and (m := _match_tuple(param, value)) is not None:
40
40
  return m
41
41
 
42
+ if isinstance(value, int | float):
43
+ return float(param) == value
44
+
42
45
  if isinstance(value, str):
43
46
  return param == value
44
47
 
45
- if isinstance(value, int | float):
46
- return type(value)(param) == value
47
-
48
48
  return param == str(value)
49
49
 
50
50
 
@@ -98,6 +98,32 @@ class RunCollection:
98
98
  def __bool__(self) -> bool:
99
99
  return bool(self._runs)
100
100
 
101
+ def __add__(self, other: RunCollection) -> RunCollection:
102
+ """Add another `RunCollection` to this one.
103
+
104
+ Args:
105
+ other (RunCollection): The `RunCollection` to add.
106
+
107
+ Returns:
108
+ A new `RunCollection` instance with the runs from both collections.
109
+
110
+ """
111
+ return self.__class__(self._runs + other._runs)
112
+
113
+ def __sub__(self, other: RunCollection) -> RunCollection:
114
+ """Subtract another `RunCollection` from this one.
115
+
116
+ Args:
117
+ other (RunCollection): The `RunCollection` to subtract.
118
+
119
+ Returns:
120
+ A new `RunCollection` instance with the runs that are in this collection
121
+ but not in the other.
122
+
123
+ """
124
+ runs = [run for run in self._runs if run not in other._runs] # noqa: SLF001
125
+ return self.__class__(runs)
126
+
101
127
  @classmethod
102
128
  def from_list(cls, runs: list[Run]) -> RunCollection:
103
129
  """Create a `RunCollection` instance from a list of MLflow `Run` instances."""
hydraflow/utils.py CHANGED
@@ -6,6 +6,7 @@ from pathlib import Path
6
6
  from typing import TYPE_CHECKING
7
7
 
8
8
  import mlflow
9
+ import mlflow.artifacts
9
10
  from hydra.core.hydra_config import HydraConfig
10
11
  from mlflow.entities import Run
11
12
  from mlflow.tracking import artifact_utils
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: hydraflow
3
- Version: 0.4.1
3
+ Version: 0.4.3
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
@@ -0,0 +1,16 @@
1
+ hydraflow/__init__.py,sha256=VbrHKs2Cg93QJ8K9WHYxkXmzOpb8o9ugiwV-mXDT0JE,908
2
+ hydraflow/asyncio.py,sha256=-i1C8KAmNDImrjHnk92Csaa1mpjdK8Vp4ZVaQV-l94s,6634
3
+ hydraflow/config.py,sha256=MNX9da5bPVDcjnpji7Cm9ndK6ura92pt361m4PRh6_E,4326
4
+ hydraflow/context.py,sha256=a6bHmiY16hZ1wvzVzoa7eGDBFjz0GX0iuZNG0EW0wkE,8764
5
+ hydraflow/mlflow.py,sha256=kWVK_Xw2hkRnTg33jSP3VW13UZF6_hBGhN52mPmLgvk,8753
6
+ hydraflow/param.py,sha256=c5sc6NwD6DKwZzVwprXzZD5FSi6qRgSHkc6TXBKQEdg,4502
7
+ hydraflow/progress.py,sha256=zvKX1HCN8_xDOsgYOEcLLhkhdPdep-U8vHrc0XZ-6SQ,6163
8
+ hydraflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ hydraflow/run_collection.py,sha256=eBNGwtvkRKpOEqcwDUS1tkIFuxY_PVi6SEzzd1PwG5s,26774
10
+ hydraflow/run_data.py,sha256=qeFX1iRvNAorXA9QQIjzr0o2_82TI44eZKp7llKG8GI,1549
11
+ hydraflow/run_info.py,sha256=sMXOo20ClaRIommMEzuAbO_OrcXx7M1Yt4FMV7spxz0,998
12
+ hydraflow/utils.py,sha256=Xq78F2iOkgi9JnCYfX1reQw_Y9K6o8oNYBDEwrf18cI,3552
13
+ hydraflow-0.4.3.dist-info/METADATA,sha256=iOjFgOUa78jjthbjZzJ7bMLXLMjrrbztqYTDYueTZ2Y,3840
14
+ hydraflow-0.4.3.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
15
+ hydraflow-0.4.3.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
16
+ hydraflow-0.4.3.dist-info/RECORD,,
@@ -1,16 +0,0 @@
1
- hydraflow/__init__.py,sha256=VbrHKs2Cg93QJ8K9WHYxkXmzOpb8o9ugiwV-mXDT0JE,908
2
- hydraflow/asyncio.py,sha256=-i1C8KAmNDImrjHnk92Csaa1mpjdK8Vp4ZVaQV-l94s,6634
3
- hydraflow/config.py,sha256=MNX9da5bPVDcjnpji7Cm9ndK6ura92pt361m4PRh6_E,4326
4
- hydraflow/context.py,sha256=p1UYHvSCPrp10cBn9TUI9mXMv0h_I0Eou24Wp1rZZ0k,8740
5
- hydraflow/mlflow.py,sha256=JELqXFCJ9MsEJaQWT5dyleTFk8BHL7cQwW_gzhkPoIg,8729
6
- hydraflow/param.py,sha256=rR-BeXSnclOH8U_54xEcY0HPIFIQxBy9lQmone1u8VY,4492
7
- hydraflow/progress.py,sha256=zvKX1HCN8_xDOsgYOEcLLhkhdPdep-U8vHrc0XZ-6SQ,6163
8
- hydraflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- hydraflow/run_collection.py,sha256=zO7OARn0QOGeK3FQH8GnuuDKCnYFqn1fbsKnOuGCa9M,25938
10
- hydraflow/run_data.py,sha256=qeFX1iRvNAorXA9QQIjzr0o2_82TI44eZKp7llKG8GI,1549
11
- hydraflow/run_info.py,sha256=sMXOo20ClaRIommMEzuAbO_OrcXx7M1Yt4FMV7spxz0,998
12
- hydraflow/utils.py,sha256=gNI0Ln2VBHfMBzNB9SNxJfjCLf14irYt0EBeeMXMeyk,3528
13
- hydraflow-0.4.1.dist-info/METADATA,sha256=vkcwItX5TpHozDwACeA1683B93u1NOVhU8y5IO4eraM,3840
14
- hydraflow-0.4.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
15
- hydraflow-0.4.1.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
16
- hydraflow-0.4.1.dist-info/RECORD,,