From 46af4c9e48859d6d66b3aa731b08ef0f731e7949 Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Fri, 4 Sep 2026 00:18:51 -0700 Subject: [PATCH] dbx: drop Upstream no longer maintains it and recommends Databricks Asset Bundles: https://github.com/databrickslabs/dbx --- pkgs/by-name/db/dbx/package.nix | 161 ------------------ .../python-modules/databricks-cli/default.nix | 62 ------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 - 5 files changed, 2 insertions(+), 225 deletions(-) delete mode 100644 pkgs/by-name/db/dbx/package.nix delete mode 100644 pkgs/development/python-modules/databricks-cli/default.nix diff --git a/pkgs/by-name/db/dbx/package.nix b/pkgs/by-name/db/dbx/package.nix deleted file mode 100644 index e803dc6302fa..000000000000 --- a/pkgs/by-name/db/dbx/package.nix +++ /dev/null @@ -1,161 +0,0 @@ -{ - lib, - stdenv, - python3, - fetchFromGitHub, - - # tests - addBinToPathHook, - gitMinimal, - versionCheckHook, - writableTmpDirAsHomeHook, -}: -let - python = python3.override { - self = python; - packageOverrides = self: super: { - pydantic = super.pydantic_1; - - # python-on-whales is the only aiohttp dependency that is incompatible with pydantic_1 - # Override aiohttp to remove this dependency - aiohttp = super.aiohttp.overridePythonAttrs (old: { - # Remove python-on-whales from nativeCheckInputs - nativeCheckInputs = lib.filter (p: (p.pname or "") != "python-on-whales") old.nativeCheckInputs; - - disabledTestPaths = [ - # Requires python-on-whales - "tests/autobahn/test_autobahn.py" - ] - ++ (old.disabledTestPaths or [ ]); - }); - - databricks-sdk = super.databricks-sdk.overridePythonAttrs (old: { - # Tests require langchain-openai which is incompatible with pydantic_1 - doCheck = false; - }); - - versioningit = super.versioningit.overridePythonAttrs (old: { - # Tests fail with pydantic_1 - # AttributeError: type object 'CaseDetails' has no attribute 'model_validate_... - doCheck = false; - }); - }; - }; -in -python.pkgs.buildPythonApplication rec { - pname = "dbx"; - version = "0.8.19"; - pyproject = true; - - src = fetchFromGitHub { - owner = "databrickslabs"; - repo = "dbx"; - tag = "v${version}"; - hash = "sha256-DNVJcCDHyWCorTxNN6RR6TWNF2MrysXT44UbwegROTU="; - }; - - postPatch = '' - # Probably a typo - substituteInPlace src/dbx/custom.py \ - --replace-fail "_make_rich_rext" "_make_rich_text" - - # dbx pins an old version of typer. - # In newer versions of typer, `callback` does not accept the 'name' argument anymore. - substituteInPlace src/dbx/cli.py \ - --replace-fail 'name="dbx",' "" - - # Fixes: TypeError: 'NoneType' object is not iterable - substituteInPlace src/dbx/utils/common.py \ - --replace-fail \ - '[t.split("=") for t in multiple_argument]' \ - '[t.split("=") for t in multiple_argument] if multiple_argument else []' - ''; - - pythonRelaxDeps = [ - "cryptography" - "databricks-cli" - "pydantic" - "rich" - "tenacity" - "typer" - ]; - - pythonRemoveDeps = [ "mlflow-skinny" ]; - - build-system = with python.pkgs; [ - hatch-vcs - hatchling - ]; - - dependencies = with python.pkgs; [ - aiohttp - click - cookiecutter - cryptography - databricks-cli - jinja2 - mlflow - pathspec - pydantic - pyyaml - requests - retry - rich - setuptools - tenacity - typer - watchdog - ]; - - optional-dependencies = with python.pkgs; { - aws = [ boto3 ]; - azure = [ - azure-storage-blob - azure-identity - ]; - gcp = [ google-cloud-storage ]; - }; - - nativeCheckInputs = [ - addBinToPathHook - gitMinimal - versionCheckHook - writableTmpDirAsHomeHook - ] - ++ (with python.pkgs; [ - pytest-asyncio - pytest-mock - pytest-timeout - pytest-xdist - pytestCheckHook - ]); - - disabledTests = [ - # Fails because of dbfs CLI wrong call - "test_dbfs_unknown_user" - "test_dbfs_no_root" - - # Requires pylint, prospector, pydocstyle - "test_python_basic_sanity_check" - - # FileNotFoundError: [Errno 2] No such file or directory: '/build/tmph3veuluv... - "test_load_file" - "test_storage_serde" - ]; - - disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ - # ERROR fsevents:fsevents.py:310 Unhandled exception in FSEventsEmitter - # SystemError: Cannot start fsevents stream. Use a kqueue or polling observer instead. - "tests/unit/sync/test_event_handler.py" - ]; - - pythonImportsCheck = [ "dbx" ]; - - meta = { - description = "CLI tool for advanced Databricks jobs management"; - homepage = "https://github.com/databrickslabs/dbx"; - changelog = "https://github.com/databrickslabs/dbx/blob/v${version}/CHANGELOG.md"; - license = lib.licenses.databricks-dbx; - maintainers = [ ]; - }; -} diff --git a/pkgs/development/python-modules/databricks-cli/default.nix b/pkgs/development/python-modules/databricks-cli/default.nix deleted file mode 100644 index a47f88bf832f..000000000000 --- a/pkgs/development/python-modules/databricks-cli/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ - lib, - buildPythonPackage, - click, - configparser, - decorator, - fetchFromGitHub, - mock, - oauthlib, - pyjwt, - pytestCheckHook, - requests, - requests-mock, - six, - tabulate, -}: - -buildPythonPackage rec { - pname = "databricks-cli"; - version = "0.18.0"; - format = "setuptools"; - - src = fetchFromGitHub { - owner = "databricks"; - repo = "databricks-cli"; - tag = version; - hash = "sha256-dH95C2AY/B6F9BROr6rh+gVtKqxsg1gyEU5MzCd5aqs="; - }; - - propagatedBuildInputs = [ - click - configparser - oauthlib - pyjwt - requests - requests-mock - six - tabulate - ]; - - nativeCheckInputs = [ - decorator - mock - pytestCheckHook - ]; - - disabledTestPaths = [ - # Disabled due to option parsing which we don't have - "integration/dbfs/test_integration.py" - "integration/workspace/test_integration.py" - ]; - - pythonImportsCheck = [ "databricks_cli" ]; - - meta = { - description = "Command line interface for Databricks"; - homepage = "https://github.com/databricks/databricks-cli"; - changelog = "https://github.com/databricks/databricks-cli/releases/tag/${version}"; - license = lib.licenses.asl20; - maintainers = [ ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 82cf65aa5c34..d89c71d6dbd0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -672,6 +672,7 @@ mapAliases { dbus-sharp-2_0 = throw "'dbus-sharp-2_0' has been removed as it was unmaintained and had no dependents"; # Added 2025-08-25 dbus-sharp-glib-1_0 = throw "'dbus-sharp-glib-1_0' has been removed as it was unmaintained and had no dependents"; # Added 2025-08-25 dbus-sharp-glib-2_0 = throw "'dbus-sharp-glib-2_0' has been removed as it was unmaintained and had no dependents"; # Added 2025-08-25 + dbx = throw "'dbx' has been removed. Use 'databricks-cli' instead."; # Added 2026-09-04 dclib = throw "'dclib' has been removed as it is unmaintained for 16 years and broken"; # Added 2025-05-25 deadpixi-sam = throw "'deadpixi-sam' has been renamed to/replaced by 'deadpixi-sam-unstable'"; # Converted to throw 2025-10-27 deco = throw "'deco' has been removed as it is unused"; # Added 2025-12-18 diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 158bc6f23967..86df547f70da 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -177,6 +177,7 @@ mapAliases { cx_oracle = throw "'cx_oracle' has been renamed to/replaced by 'cx-oracle'"; # Converted to throw 2025-10-29 dalle-mini = throw "'dalle-mini' has been removed due to lack of upstream maintenance"; # added 2026-02-26 dask-yarn = throw "'dask-yarn' has been removed due to lack of upstream maintenance"; # added 2026-07-06 + databricks-cli = throw "'databricks-cli' has been removed from the Python package set. Use 'pkgs.databricks-cli' instead."; # Added 2026-09-04 dataclasses-serialization = throw "'dataclasses-serialization' has been removed due to lack of upstream maintenance."; # added 2026-07-14 datashape = throw "'datashape' has been removed as it was unmaintained upstream"; # Added 2026-03-22 datatable = throw "'datatable' has been removed due to lack of upstream maintenance"; # added 2026-02-02 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b55259ee5e43..3425ad88ddf3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4038,8 +4038,6 @@ self: super: with self; { databases = callPackage ../development/python-modules/databases { }; - databricks-cli = callPackage ../development/python-modules/databricks-cli { }; - databricks-connect = callPackage ../development/python-modules/databricks-connect { }; databricks-sdk = callPackage ../development/python-modules/databricks-sdk { };