mlflow-export-import icon indicating copy to clipboard operation
mlflow-export-import copied to clipboard

Entrypoint Consolidation: All Functionality accessible via `mlflow-export-import`

Open juftin opened this issue 3 years ago • 0 comments

This PR addresses Issue https://github.com/mlflow/mlflow-export-import/issues/29

Changes

1) All Click Commands have been added to a new master Click Group

2) All entrypoints have been replaced with the new Click Group:

❯ mlflow-export-import --help
Usage: mlflow-export-import [OPTIONS] COMMAND [ARGS]...

  MLflow Export / Import CLI: Command Line Interface

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  export-all          Export the entire tracking server.
  export-experiment   Exports an experiment to a directory.
  export-experiments  Exports experiments to a directory.
  export-model        Export a registered model.
  export-models       Exports models and their versions' backing.
  export-run          Exports a run to a directory.
  find-artifacts      Find artifacts that match a filename.
  http-client         Interact with the MLflow / Databricks HTTP Client.
  import-all          Imports models and their experiments and runs.
  import-experiment   Imports an experiment from a directory.
  import-experiments  Import a list of experiments from a directory.
  import-model        Import a registered model.
  import-run          Imports a run from a directory.
  list-models         Lists all registered models.

3) All packaging configuration moved to setup.cfg - setup.py inherits from this automatically

  • This also includes a pyproject.toml file which instructs Python to use setuptools as the build tool. Again nothing actually changes here - we're just using the setup.cfg file to be a little more declarative and having no arbitrary code execution at install time via setup.py

4) Version management moved to the _version.py file - this allows us to do things like from mlflow_export_import import __version__

5) Standard Python .gitignore added (with mlruns/ exclusion)

Notes

  • Missing Entrypoints
    • import-models - this was a duplicate of import-all
    • export-model-list - this code is missing

juftin avatar Jul 26 '22 23:07 juftin