From c2c98b66de9b2359719904c96bd6b1a5a2eb888d Mon Sep 17 00:00:00 2001 From: Serge Smertin Date: Wed, 13 Sep 2023 18:27:22 +0200 Subject: [PATCH] Removed redundant `typer[all]` dependency and its usages `typer` is used for CLI interfaces, though this project has no CLI entrypoints, so we keep the number of external dependencies to minimum. --- Makefile | 3 ++ pyproject.toml | 4 -- src/databricks/labs/ucx/__main__.py | 9 ----- src/databricks/labs/ucx/cli/__init__.py | 0 src/databricks/labs/ucx/cli/app.py | 51 ------------------------- 5 files changed, 3 insertions(+), 64 deletions(-) delete mode 100644 src/databricks/labs/ucx/__main__.py delete mode 100644 src/databricks/labs/ucx/cli/__init__.py delete mode 100644 src/databricks/labs/ucx/cli/app.py diff --git a/Makefile b/Makefile index bce4dd03a2..49d5c3dab0 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,6 @@ +clean: + rm -fr htmlcov .mypy_cache .pytest_cache .ruff_cache .coverage + lint: hatch run lint:verify diff --git a/pyproject.toml b/pyproject.toml index d0c99499fc..3cfeee33b0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,6 @@ dependencies = [ "PyYAML>=6.0.0,<7.0.0", # TODO: remove later - "typer[all]>=0.9.0,<0.10.0", "ratelimit>=2.2.1,<3.0.0", "tenacity>=8.2.2,<9.0.0", ] @@ -43,9 +42,6 @@ test = [ "pytest-mock>=3.0.0,<4.0.0", ] -[project.scripts] -ucx = "databricks.labs.ucx.__main__:entrypoint" - [project.entry-points.databricks] runtime = "databricks.labs.ucx.runtime:main" diff --git a/src/databricks/labs/ucx/__main__.py b/src/databricks/labs/ucx/__main__.py deleted file mode 100644 index 37b798abb0..0000000000 --- a/src/databricks/labs/ucx/__main__.py +++ /dev/null @@ -1,9 +0,0 @@ -from databricks.labs.ucx.cli.app import app - - -def entrypoint(): - app() - - -if __name__ == "__main__": - entrypoint() diff --git a/src/databricks/labs/ucx/cli/__init__.py b/src/databricks/labs/ucx/cli/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/databricks/labs/ucx/cli/app.py b/src/databricks/labs/ucx/cli/app.py deleted file mode 100644 index 09ad8715f2..0000000000 --- a/src/databricks/labs/ucx/cli/app.py +++ /dev/null @@ -1,51 +0,0 @@ -import logging -import os -from pathlib import Path -from typing import Annotated - -import typer -from typer import Typer - -from databricks.labs.ucx.logger import _install - -_install() -logging.root.setLevel("INFO") -logger = logging.getLogger(__name__) - -app = Typer(name="UC Migration Toolkit", pretty_exceptions_show_locals=True) - - -@app.command() -def migrate_groups(config_file: Annotated[Path, typer.Argument(help="Path to config file")] = "migration_config.yml"): - from databricks.labs.ucx.config import MigrationConfig - from databricks.labs.ucx.toolkits.group_migration import GroupMigrationToolkit - - config = MigrationConfig.from_file(config_file) - toolkit = GroupMigrationToolkit(config) - toolkit.prepare_environment() - - toolkit.cleanup_inventory_table() - toolkit.inventorize_permissions() - toolkit.apply_permissions_to_backup_groups() - toolkit.replace_workspace_groups_with_account_groups() - toolkit.apply_permissions_to_account_groups() - toolkit.delete_backup_groups() - toolkit.cleanup_inventory_table() - - -@app.command() -def generate_assessment_report(): - from databricks.sdk import WorkspaceClient - - from databricks.labs.ucx.toolkits.assessment import AssessmentToolkit - - cluster_id = os.getenv("DATABRICKS_CLUSTER_ID") - catalog = os.getenv("INVENTORY_CATALOG", "ucx") - schema = os.getenv("INVENTORY_SCHEMA", "ucx") - ws = WorkspaceClient() - toolkit = AssessmentToolkit(ws=ws, cluster_id=cluster_id, inventory_catalog=catalog, inventory_schema=schema) - toolkit.compile_report() - - -if __name__ == "__main__": - app()