hydraflow 0.5.0__py3-none-any.whl → 0.5.2__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/__init__.py +2 -0
- hydraflow/mlflow.py +6 -1
- hydraflow/run_collection.py +2 -2
- hydraflow/run_info.py +2 -0
- hydraflow/utils.py +24 -2
- {hydraflow-0.5.0.dist-info → hydraflow-0.5.2.dist-info}/METADATA +2 -2
- hydraflow-0.5.2.dist-info/RECORD +14 -0
- hydraflow-0.5.0.dist-info/RECORD +0 -14
- {hydraflow-0.5.0.dist-info → hydraflow-0.5.2.dist-info}/WHEEL +0 -0
- {hydraflow-0.5.0.dist-info → hydraflow-0.5.2.dist-info}/licenses/LICENSE +0 -0
    
        hydraflow/__init__.py
    CHANGED
    
    | @@ -6,6 +6,7 @@ from .mlflow import list_runs, search_runs, set_experiment | |
| 6 6 | 
             
            from .run_collection import RunCollection
         | 
| 7 7 | 
             
            from .utils import (
         | 
| 8 8 | 
             
                get_artifact_dir,
         | 
| 9 | 
            +
                get_artifact_path,
         | 
| 9 10 | 
             
                get_hydra_output_dir,
         | 
| 10 11 | 
             
                get_overrides,
         | 
| 11 12 | 
             
                load_config,
         | 
| @@ -18,6 +19,7 @@ __all__ = [ | |
| 18 19 | 
             
                "chdir_artifact",
         | 
| 19 20 | 
             
                "chdir_hydra_output",
         | 
| 20 21 | 
             
                "get_artifact_dir",
         | 
| 22 | 
            +
                "get_artifact_path",
         | 
| 21 23 | 
             
                "get_hydra_output_dir",
         | 
| 22 24 | 
             
                "get_overrides",
         | 
| 23 25 | 
             
                "list_runs",
         | 
    
        hydraflow/mlflow.py
    CHANGED
    
    | @@ -37,6 +37,7 @@ def set_experiment( | |
| 37 37 | 
             
                prefix: str = "",
         | 
| 38 38 | 
             
                suffix: str = "",
         | 
| 39 39 | 
             
                uri: str | Path | None = None,
         | 
| 40 | 
            +
                name: str | None = None,
         | 
| 40 41 | 
             
            ) -> Experiment:
         | 
| 41 42 | 
             
                """Set the experiment name and tracking URI optionally.
         | 
| 42 43 |  | 
| @@ -48,6 +49,7 @@ def set_experiment( | |
| 48 49 | 
             
                    prefix (str): The prefix to prepend to the experiment name.
         | 
| 49 50 | 
             
                    suffix (str): The suffix to append to the experiment name.
         | 
| 50 51 | 
             
                    uri (str | Path | None): The tracking URI to use. Defaults to None.
         | 
| 52 | 
            +
                    name (str | None): The name of the experiment. Defaults to None.
         | 
| 51 53 |  | 
| 52 54 | 
             
                Returns:
         | 
| 53 55 | 
             
                    Experiment: An instance of `mlflow.entities.Experiment` representing
         | 
| @@ -57,6 +59,9 @@ def set_experiment( | |
| 57 59 | 
             
                if uri is not None:
         | 
| 58 60 | 
             
                    mlflow.set_tracking_uri(uri)
         | 
| 59 61 |  | 
| 62 | 
            +
                if name is not None:
         | 
| 63 | 
            +
                    return mlflow.set_experiment(name)
         | 
| 64 | 
            +
             | 
| 60 65 | 
             
                hc = HydraConfig.get()
         | 
| 61 66 | 
             
                name = f"{prefix}{hc.job.name}{suffix}"
         | 
| 62 67 | 
             
                return mlflow.set_experiment(name)
         | 
| @@ -214,7 +219,7 @@ def _list_runs( | |
| 214 219 | 
             
                            elif Path(loc).is_dir():
         | 
| 215 220 | 
             
                                path = Path(loc)
         | 
| 216 221 | 
             
                            else:
         | 
| 217 | 
            -
                                continue
         | 
| 222 | 
            +
                                continue  # no cov
         | 
| 218 223 |  | 
| 219 224 | 
             
                            run_ids.extend(file.stem for file in path.iterdir() if file.is_dir())
         | 
| 220 225 |  | 
    
        hydraflow/run_collection.py
    CHANGED
    
    | @@ -609,8 +609,8 @@ class RunCollection: | |
| 609 609 |  | 
| 610 610 | 
             
                def sort(
         | 
| 611 611 | 
             
                    self,
         | 
| 612 | 
            -
                    key: Callable[[Run], Any] | None = None,
         | 
| 613 612 | 
             
                    *,
         | 
| 613 | 
            +
                    key: Callable[[Run], Any] | None = None,
         | 
| 614 614 | 
             
                    reverse: bool = False,
         | 
| 615 615 | 
             
                ) -> None:
         | 
| 616 616 | 
             
                    """Sort the runs in the collection.
         | 
| @@ -652,7 +652,7 @@ class RunCollection: | |
| 652 652 |  | 
| 653 653 | 
             
                    return [v[0] for v in values]
         | 
| 654 654 |  | 
| 655 | 
            -
                def  | 
| 655 | 
            +
                def sorted(
         | 
| 656 656 | 
             
                    self,
         | 
| 657 657 | 
             
                    names: str | list[str],
         | 
| 658 658 | 
             
                    *,
         | 
    
        hydraflow/run_info.py
    CHANGED
    
    
    
        hydraflow/utils.py
    CHANGED
    
    | @@ -30,10 +30,32 @@ def get_artifact_dir(run: Run | None = None) -> Path: | |
| 30 30 | 
             
                """
         | 
| 31 31 | 
             
                uri = mlflow.get_artifact_uri() if run is None else run.info.artifact_uri
         | 
| 32 32 |  | 
| 33 | 
            -
                if not  | 
| 33 | 
            +
                if not isinstance(uri, str):
         | 
| 34 34 | 
             
                    raise NotImplementedError
         | 
| 35 35 |  | 
| 36 | 
            -
                 | 
| 36 | 
            +
                if uri.startswith("file://"):
         | 
| 37 | 
            +
                    return Path(mlflow.artifacts.download_artifacts(uri))
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                if Path(uri).is_dir():
         | 
| 40 | 
            +
                    return Path(uri)
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                raise NotImplementedError
         | 
| 43 | 
            +
             | 
| 44 | 
            +
             | 
| 45 | 
            +
            def get_artifact_path(run: Run | None, path: str) -> Path:
         | 
| 46 | 
            +
                """Retrieve the artifact path for the given run and path.
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                This function uses MLflow to get the artifact path for the given run and path.
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                Args:
         | 
| 51 | 
            +
                    run (Run | None): The run object. Defaults to None.
         | 
| 52 | 
            +
                    path (str): The path to the artifact.
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                Returns:
         | 
| 55 | 
            +
                    The local path to the artifact.
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                """
         | 
| 58 | 
            +
                return get_artifact_dir(run) / path
         | 
| 37 59 |  | 
| 38 60 |  | 
| 39 61 | 
             
            def get_hydra_output_dir(run: Run | None = None) -> Path:
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Metadata-Version: 2.4
         | 
| 2 2 | 
             
            Name: hydraflow
         | 
| 3 | 
            -
            Version: 0.5. | 
| 3 | 
            +
            Version: 0.5.2
         | 
| 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
         | 
| @@ -111,7 +111,7 @@ def my_app(cfg: MySQLConfig) -> None: | |
| 111 111 | 
             
                hydraflow.set_experiment()
         | 
| 112 112 |  | 
| 113 113 | 
             
                # Automatically log Hydra config as params.
         | 
| 114 | 
            -
                with hydraflow.start_run():
         | 
| 114 | 
            +
                with hydraflow.start_run(cfg):
         | 
| 115 115 | 
             
                    # Your app code below.
         | 
| 116 116 |  | 
| 117 117 |  | 
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            hydraflow/__init__.py,sha256=9XO9FD3uiTTPN6X6UAC9FtkJjEqUQZNqpoAmSrjUHfI,855
         | 
| 2 | 
            +
            hydraflow/config.py,sha256=MNX9da5bPVDcjnpji7Cm9ndK6ura92pt361m4PRh6_E,4326
         | 
| 3 | 
            +
            hydraflow/context.py,sha256=3g7OQXWcFvK6PVVbXpQg7Hr8nsJkF9pLFrXNi_3aV5A,5524
         | 
| 4 | 
            +
            hydraflow/mlflow.py,sha256=vor1w8twfBQx9kmlAkvmJ4q7n_GrNyqGXBP1xwTAGD0,8934
         | 
| 5 | 
            +
            hydraflow/param.py,sha256=c5sc6NwD6DKwZzVwprXzZD5FSi6qRgSHkc6TXBKQEdg,4502
         | 
| 6 | 
            +
            hydraflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 7 | 
            +
            hydraflow/run_collection.py,sha256=zPrlKwLuzqePj57pXbgKWrE03S_kjxTaxY9trItf6Gc,26772
         | 
| 8 | 
            +
            hydraflow/run_data.py,sha256=dpyyfnuH9mCtIZeigMo1iFQo9bafMdEL4i4uI2l0UqY,1525
         | 
| 9 | 
            +
            hydraflow/run_info.py,sha256=Jf5wrIjRLIV1-k-obHDqwKHa6j_ZonrY8od-rXlbtMo,1024
         | 
| 10 | 
            +
            hydraflow/utils.py,sha256=32dCP7rmkB7_dyGJgY6auy8162jotd5JSaVi-qB9vnU,4351
         | 
| 11 | 
            +
            hydraflow-0.5.2.dist-info/METADATA,sha256=ou8nVe6VIYi52Prp26VZcoxixJItFmojKaINgG1DWQo,4700
         | 
| 12 | 
            +
            hydraflow-0.5.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
         | 
| 13 | 
            +
            hydraflow-0.5.2.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
         | 
| 14 | 
            +
            hydraflow-0.5.2.dist-info/RECORD,,
         | 
    
        hydraflow-0.5.0.dist-info/RECORD
    DELETED
    
    | @@ -1,14 +0,0 @@ | |
| 1 | 
            -
            hydraflow/__init__.py,sha256=DKtFjTXHTgceX7rpWHiKqhcpG5xtGIseFvN28f7iwYo,807
         | 
| 2 | 
            -
            hydraflow/config.py,sha256=MNX9da5bPVDcjnpji7Cm9ndK6ura92pt361m4PRh6_E,4326
         | 
| 3 | 
            -
            hydraflow/context.py,sha256=3g7OQXWcFvK6PVVbXpQg7Hr8nsJkF9pLFrXNi_3aV5A,5524
         | 
| 4 | 
            -
            hydraflow/mlflow.py,sha256=kWVK_Xw2hkRnTg33jSP3VW13UZF6_hBGhN52mPmLgvk,8753
         | 
| 5 | 
            -
            hydraflow/param.py,sha256=c5sc6NwD6DKwZzVwprXzZD5FSi6qRgSHkc6TXBKQEdg,4502
         | 
| 6 | 
            -
            hydraflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 7 | 
            -
            hydraflow/run_collection.py,sha256=RQRN50k5m_bDWn4vzOProbnjzVejI5hsr5WSd4owbhQ,26773
         | 
| 8 | 
            -
            hydraflow/run_data.py,sha256=dpyyfnuH9mCtIZeigMo1iFQo9bafMdEL4i4uI2l0UqY,1525
         | 
| 9 | 
            -
            hydraflow/run_info.py,sha256=sMXOo20ClaRIommMEzuAbO_OrcXx7M1Yt4FMV7spxz0,998
         | 
| 10 | 
            -
            hydraflow/utils.py,sha256=jbNrbtIfMqxE4LrdTNd1g7sF68XgAvydGqW5iAZ6n-c,3834
         | 
| 11 | 
            -
            hydraflow-0.5.0.dist-info/METADATA,sha256=pv7eNdU5mT05N936AWyuLzZfzYSgVrsGZ5d354bD_-8,4697
         | 
| 12 | 
            -
            hydraflow-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
         | 
| 13 | 
            -
            hydraflow-0.5.0.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
         | 
| 14 | 
            -
            hydraflow-0.5.0.dist-info/RECORD,,
         | 
| 
            File without changes
         | 
| 
            File without changes
         |