From d3feb91912419b47d124e72c93d816208790a452 Mon Sep 17 00:00:00 2001 From: harvidsen Date: Mon, 5 Sep 2022 15:15:26 +0200 Subject: [PATCH 1/3] maintainers: add harvidsen --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 33e9787a2ab5..4def507aa4ac 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5223,6 +5223,12 @@ fingerprint = "3F35 E4CA CBF4 2DE1 2E90 53E5 03A6 E6F7 8693 6619"; }]; }; + harvidsen = { + email = "harvidsen@gmail.com"; + github = "harvidsen"; + githubId = 62279738; + name = "HÃ¥kon Arvidsen"; + }; haslersn = { email = "haslersn@fius.informatik.uni-stuttgart.de"; github = "haslersn"; From d240bf08af8ce1e888f54ca851086529e68dca6f Mon Sep 17 00:00:00 2001 From: harvidsen Date: Mon, 5 Sep 2022 15:26:30 +0200 Subject: [PATCH 2/3] python3Packages.databricks-sql-connector: init at 2.0.5 --- .../databricks-sql-connector/default.nix | 50 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/databricks-sql-connector/default.nix diff --git a/pkgs/development/python-modules/databricks-sql-connector/default.nix b/pkgs/development/python-modules/databricks-sql-connector/default.nix new file mode 100644 index 000000000000..9c16f6267d79 --- /dev/null +++ b/pkgs/development/python-modules/databricks-sql-connector/default.nix @@ -0,0 +1,50 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, thrift +, pandas +, pyarrow +, poetry-core +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "databricks-sql-connector"; + version = "2.0.5"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "databricks"; + repo = "databricks-sql-python"; + rev = "v${version}"; + sha256 = "sha256-Qpdyn6z1mbO4bzyUZ2eYdd9pfIkIP/Aj4YgNXaYwxpE="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'thrift = "^0.13.0"' 'thrift = ">=0.13.0,<1.0.0"' + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + thrift + pandas + pyarrow + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ "tests/unit" ]; + + meta = with lib; { + description = "Databricks SQL Connector for Python"; + homepage = https://docs.databricks.com/dev-tools/python-sql-connector.html; + license = licenses.asl20; + maintainers = with maintainers; [ harvidsen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb4600bcaaec..efd711b980a1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2254,6 +2254,8 @@ in { databricks-connect = callPackage ../development/python-modules/databricks-connect { }; + databricks-sql-connector = callPackage ../development/python-modules/databricks-sql-connector { }; + dataclasses = callPackage ../development/python-modules/dataclasses { }; dataclasses-json = callPackage ../development/python-modules/dataclasses-json { }; From 11a11704bc2344ff1dd7b1098b7282377d7ff144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristoffer=20K=2E=20F=C3=B8llesdal?= Date: Wed, 7 Sep 2022 15:30:40 +0200 Subject: [PATCH 3/3] databricks-sql-cli: init at 0.1.4 --- .../misc/databricks-sql-cli/default.nix | 64 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 66 insertions(+) create mode 100644 pkgs/applications/misc/databricks-sql-cli/default.nix diff --git a/pkgs/applications/misc/databricks-sql-cli/default.nix b/pkgs/applications/misc/databricks-sql-cli/default.nix new file mode 100644 index 000000000000..61191374b6ea --- /dev/null +++ b/pkgs/applications/misc/databricks-sql-cli/default.nix @@ -0,0 +1,64 @@ +{ lib +, buildPythonApplication +, fetchFromGitHub +, fetchpatch +, poetry-core +, pandas +, prompt-toolkit +, databricks-sql-connector +, pygments +, configobj +, sqlparse +, cli-helpers +, click +, pytestCheckHook +}: + +buildPythonApplication rec { + pname = "databricks-sql-cli"; + version = "0.1.4"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "databricks"; + repo = "databricks-sql-cli"; + rev = "v${version}"; + sha256 = "sha256-gr7LJfnvIu2Jf1XgILqfZoi8CbXeQyq0g1wLEBa5TPM="; + }; + + patches = [ + # https://github.com/databricks/databricks-sql-cli/pull/38 + (fetchpatch { + url = "https://github.com/databricks/databricks-sql-cli/commit/fc294e00819b6966f1605e5c1ce654473510aefe.patch"; + sha256 = "sha256-QVrb7mD0fVbHrbrDywI6tsFNYM19x74LY8rhqqC8szE="; + }) + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'python = ">=3.7.1,<4.0"' 'python = ">=3.8,<4.0"' \ + --replace 'pandas = "1.3.4"' 'pandas = "~1.4"' + ''; + + nativeBuildInputs = [ poetry-core ]; + + propagatedBuildInputs = [ + prompt-toolkit + pandas + databricks-sql-connector + pygments + configobj + sqlparse + cli-helpers + click + ]; + + checkInputs = [ pytestCheckHook ]; + + meta = with lib; { + description = "CLI for querying Databricks SQL"; + homepage = "https://github.com/databricks/databricks-sql-cli"; + license = licenses.databricks; + maintainers = with maintainers; [ kfollesdal ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ff3535c7c78d..dbd3e959f836 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -430,6 +430,8 @@ with pkgs; cryptowatch-desktop = callPackage ../applications/finance/cryptowatch { }; + databricks-sql-cli = python3Packages.callPackage ../applications/misc/databricks-sql-cli { }; + datalad = callPackage ../applications/version-management/datalad { python3 = python39; # `boto` currently broken with Python3.10 };