From fae9fa8ca360f22bad8162552294a2194807725c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 03:02:48 +0300 Subject: [PATCH 1/9] nanoarrow: init at 0.8.0 https://github.com/apache/arrow-nanoarrow --- pkgs/by-name/na/nanoarrow/package.nix | 89 +++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 pkgs/by-name/na/nanoarrow/package.nix diff --git a/pkgs/by-name/na/nanoarrow/package.nix b/pkgs/by-name/na/nanoarrow/package.nix new file mode 100644 index 000000000000..07b48bdb0dbf --- /dev/null +++ b/pkgs/by-name/na/nanoarrow/package.nix @@ -0,0 +1,89 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchzip, + + # nativeBuildInputs + meson, + ninja, + pkg-config, + + # buildInputs + arrow-cpp, + gbenchmark, + gtest, + nlohmann_json, + zlib, + zstd, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "nanoarrow"; + version = "0.8.0"; + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "apache"; + repo = "arrow-nanoarrow"; + tag = "apache-arrow-nanoarrow-${finalAttrs.version}"; + hash = "sha256-1iLbT1eeyZaoB75uYTgg4qns+C7b4DErqMwJ9nQPRls="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + arrow-cpp + gbenchmark + gtest + nlohmann_json + zlib + zstd + ]; + + doCheck = true; + + # Pre-populate the meson subproject with the flatcc source so meson doesn't try to download it. + # The wrap's patch_directory overlay (meson.build) must also be applied. + postPatch = '' + cp -r --no-preserve=mode ${finalAttrs.finalPackage.passthru.flatcc-src} ${finalAttrs.finalPackage.passthru.flatcc-src-dest} + cp subprojects/packagefiles/flatcc/meson.build ${finalAttrs.finalPackage.passthru.flatcc-src-dest}/ + ''; + mesonFlags = [ + # Needed only on Darwin, because otherwise a metal-cpp dependency is + # required. It doesn't hurt to enable it for all platforms, so it'd be + # easier to spot if the option will disappear in the future for instance.. + (lib.mesonOption "metal" "disabled") + ]; + + passthru = { + # Nanoarrow requires a specific post-0.6.1 flatcc commit that adds `_with_size` API variants not + # present in the upstream 0.6.1 release. + flatcc-src = fetchFromGitHub { + owner = "dvidelabs"; + repo = "flatcc"; + rev = "fd3c4ae5cd39f0651eda6a3a1a374278070135d6"; + hash = "sha256-8MqazKuwfFWVJ/yjT5fNrRzexFQ2ky4YTcZqOYjk9Qc="; + }; + flatcc-src-dest = "subprojects/flatcc-${finalAttrs.finalPackage.passthru.flatcc-src.rev}"; + }; + + outputs = [ + "out" + "dev" + ]; + + meta = { + description = "Helpers for Arrow C Data & Arrow C Stream interfaces"; + homepage = "https://github.com/apache/arrow-nanoarrow"; + changelog = "https://github.com/apache/arrow-nanoarrow/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar ]; + platforms = lib.platforms.all; + }; +}) From b0492b791bf032791031d1c1ef3c5f0850cc1a5a Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 03:30:24 +0300 Subject: [PATCH 2/9] python3Packages.nanoarrow: base upon top-level nanoarrow --- .../python-modules/nanoarrow/default.nix | 47 +++++-------------- pkgs/top-level/python-packages.nix | 5 +- 2 files changed, 16 insertions(+), 36 deletions(-) diff --git a/pkgs/development/python-modules/nanoarrow/default.nix b/pkgs/development/python-modules/nanoarrow/default.nix index 7993c3e2668e..29e3d8e311a9 100644 --- a/pkgs/development/python-modules/nanoarrow/default.nix +++ b/pkgs/development/python-modules/nanoarrow/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchFromGitHub, + nanoarrow-c, # build-system cython, @@ -18,39 +18,15 @@ pytestCheckHook, }: -let - # Nanoarrow requires a specific post-0.6.1 flatcc commit that adds `_with_size` API variants not - # present in the upstream 0.6.1 release. - flatcc-src = fetchFromGitHub { - owner = "dvidelabs"; - repo = "flatcc"; - rev = "fd3c4ae5cd39f0651eda6a3a1a374278070135d6"; - hash = "sha256-8MqazKuwfFWVJ/yjT5fNrRzexFQ2ky4YTcZqOYjk9Qc="; - }; -in buildPythonPackage (finalAttrs: { - pname = "nanoarrow"; - version = "0.8.0"; + inherit (nanoarrow-c) + pname + version + src + postPatch + ; pyproject = true; - src = fetchFromGitHub { - owner = "apache"; - repo = "arrow-nanoarrow"; - tag = "apache-arrow-nanoarrow-${finalAttrs.version}"; - hash = "sha256-1iLbT1eeyZaoB75uYTgg4qns+C7b4DErqMwJ9nQPRls="; - }; - - # Pre-populate the meson subproject with the flatcc source so meson doesn't try to download it. - # The wrap's patch_directory overlay (meson.build) must also be applied. - postPatch = - let - flatcc-src-dest = "subprojects/flatcc-${flatcc-src.rev}"; - in - '' - cp -r --no-preserve=mode ${flatcc-src} ${flatcc-src-dest} - cp subprojects/packagefiles/flatcc/meson.build ${flatcc-src-dest}/ - ''; - sourceRoot = "${finalAttrs.src.name}/python"; build-system = [ @@ -79,11 +55,12 @@ buildPythonPackage (finalAttrs: { pytestCheckHook ]; - meta = { + meta = nanoarrow-c.meta // { description = "Python bindings to the nanoarrow C library"; homepage = "https://github.com/apache/arrow-nanoarrow/tree/main/python"; - changelog = "https://github.com/apache/arrow-nanoarrow/blob/${finalAttrs.src.tag}/CHANGELOG.md"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ GaetanLepage ]; + maintainers = with lib.maintainers; [ + GaetanLepage + doronbehar + ]; }; }) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ea463c91d272..e76e16fe9b95 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11132,7 +11132,10 @@ self: super: with self; { nampa = callPackage ../development/python-modules/nampa { }; - nanoarrow = callPackage ../development/python-modules/nanoarrow { zstd-c = pkgs.zstd; }; + nanoarrow = callPackage ../development/python-modules/nanoarrow { + zstd-c = pkgs.zstd; + nanoarrow-c = pkgs.nanoarrow; + }; nanobind = callPackage ../development/python-modules/nanobind { }; From afb9cd82ef49e73216dfe1fb4eea335ca4c36a37 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 02:53:00 +0300 Subject: [PATCH 3/9] arrow-adbc: init at 23 https://github.com/apache/arrow-adbc --- pkgs/by-name/ar/arrow-adbc/package.nix | 107 +++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 pkgs/by-name/ar/arrow-adbc/package.nix diff --git a/pkgs/by-name/ar/arrow-adbc/package.nix b/pkgs/by-name/ar/arrow-adbc/package.nix new file mode 100644 index 000000000000..eb631d4b920c --- /dev/null +++ b/pkgs/by-name/ar/arrow-adbc/package.nix @@ -0,0 +1,107 @@ +{ + lib, + stdenv, + fetchFromGitHub, + buildGoModule, + + # nativeBuildInputs + cmake, + pkg-config, + + # buildInputs + nanoarrow, + fmt, + gtest, + libpq, + sqlite, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "arrow-adbc"; + version = "23"; + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "apache"; + repo = "arrow-adbc"; + tag = "apache-arrow-adbc-${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-33JUx4ZI+BHIZMvlCO43mjU34zShJZGQpAkqRrvgl2w="; + }; + + vendorHash = "sha256-uGxCTllRNtXkrl31d88TOK36X09ylo++gtorx0uFR8A="; + + # We are building the C project + preConfigure = '' + cd c/ + ''; + # Upstream's build invoces a custom `go build` command to build one of the + # targets. We use buildGoModule's engineering to supply it the offline + # `goModules` path and other GO[A-Z] environment variables. Ideally, there + # should be setup hooks for the mechanisms of buildGoModule, that would make + # it easier. + modRoot = "../../go/adbc"; + inherit (finalAttrs.finalPackage.passthru.bigquery-go-package) goModules; + preBuild = + (lib.pipe finalAttrs.finalPackage.passthru.bigquery-go-package.configurePhase [ + # Make that this configure phase doesn't run our configure hooks. + (lib.replaceString "runHook preConfigure" "") + (lib.replaceString "runHook postConfigure" "") + ]) + # Return to original meson build directory. + + '' + cd ../../c/build + ''; + + nativeBuildInputs = [ + # NOTE that the meson build system has a bug that it puts a few shared + # objects in $out and not in $out/lib. + cmake + pkg-config + finalAttrs.finalPackage.passthru.bigquery-go-package.passthru.go + ]; + + cmakeFlags = map (driver: lib.cmakeBool "ADBC_DRIVER_${driver}" true) [ + "BIGQUERY" + "FLIGHTSQL" + "MANAGER" + "POSTGRESQL" + "SNOWFLAKE" + "SQLITE" + ]; + + buildInputs = [ + fmt + gtest + libpq + nanoarrow + sqlite + ]; + + passthru = { + bigquery-go-package = buildGoModule (finalGoAttrs: { + inherit (finalAttrs) + pname + version + src + vendorHash + ; + sourceRoot = "${finalAttrs.src.name}/go/adbc"; + # This derivation is not really evaluated anyway, but it is used to + # update the vendorHash... TODO: Check that nix-update is capable of + # updating vendorHash automatically. + dontBuild = true; + dontInstall = true; + }); + }; + + meta = { + description = "Database connectivity API standard and libraries for Apache Arrow"; + homepage = "https://arrow.apache.org/adbc/"; + changelog = "https://github.com/apache/arrow-adbc/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.afl20; + maintainers = with lib.maintainers; [ doronbehar ]; + platforms = lib.platforms.all; + }; +}) From 8fb3a890e51ce8442616966bf676ca3489b75b02 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 04:29:12 +0300 Subject: [PATCH 4/9] python3Packages.adbc-driver-manager: init at 1.11.0 --- .../adbc-driver-manager/default.nix | 48 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/development/python-modules/adbc-driver-manager/default.nix diff --git a/pkgs/development/python-modules/adbc-driver-manager/default.nix b/pkgs/development/python-modules/adbc-driver-manager/default.nix new file mode 100644 index 000000000000..ede872592456 --- /dev/null +++ b/pkgs/development/python-modules/adbc-driver-manager/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + cython, + setuptools, + + # dependencies + typing-extensions, +}: + +buildPythonPackage (finalAttrs: { + pname = "adbc-driver-manager"; + version = "1.11.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchPypi { + pname = "adbc_driver_manager"; + inherit (finalAttrs) version; + hash = "sha256-xkqqvrWBAQmrPSlhAI8bAU6fLYez30QWwqCApAI3r1A="; + }; + + build-system = [ + cython + setuptools + ]; + + dependencies = [ + typing-extensions + ]; + + # Tests create a circular dependency on adbc-driver-sqlite + doCheck = false; + + pythonImportsCheck = [ + "adbc_driver_manager" + ]; + + meta = { + description = "A generic entrypoint for ADBC drivers"; + homepage = "https://pypi.org/project/adbc-driver-manager"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e76e16fe9b95..58c2f075df0a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -83,6 +83,8 @@ self: super: with self; { adb-shell = callPackage ../development/python-modules/adb-shell { }; + adbc-driver-manager = callPackage ../development/python-modules/adbc-driver-manager { }; + adblock = callPackage ../development/python-modules/adblock { }; adbutils = callPackage ../development/python-modules/adbutils { }; From 9ce13a30500010a3f3fd67737f76efaa718f5e5c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 04:51:31 +0300 Subject: [PATCH 5/9] python3Packages.adbc-driver-sqlite: init at 1.11.0 --- .../adbc-driver-sqlite/default.nix | 63 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/python-modules/adbc-driver-sqlite/default.nix diff --git a/pkgs/development/python-modules/adbc-driver-sqlite/default.nix b/pkgs/development/python-modules/adbc-driver-sqlite/default.nix new file mode 100644 index 000000000000..00816f444912 --- /dev/null +++ b/pkgs/development/python-modules/adbc-driver-sqlite/default.nix @@ -0,0 +1,63 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + adbc-driver-manager, + importlib-resources, + arrow-adbc, + + # tests + pytestCheckHook, + pandas, + pyarrow, +}: + +buildPythonPackage (finalAttrs: { + pname = "adbc-driver-sqlite"; + version = "1.11.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchPypi { + pname = "adbc_driver_sqlite"; + inherit (finalAttrs) version; + hash = "sha256-pMa0liYQ981nzXVMQt104YosEfq+7JSIxVAdc65i3GI="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + adbc-driver-manager + importlib-resources + ]; + + nativeCheckInputs = [ + pytestCheckHook + pandas + pyarrow + ]; + env.ADBC_SQLITE_LIBRARY = "libadbc_driver_sqlite${stdenv.hostPlatform.extensions.sharedLibrary}"; + preBuild = '' + cp ${lib.getLib arrow-adbc}/lib/$ADBC_SQLITE_LIBRARY . + chmod u+w $ADBC_SQLITE_LIBRARY + ''; + + pythonImportsCheck = [ + "adbc_driver_sqlite" + ]; + + meta = { + description = "ADBC driver for working with SQLite"; + homepage = "https://pypi.org/project/adbc-driver-sqlite"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 58c2f075df0a..4a0e97ac53c8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -85,6 +85,8 @@ self: super: with self; { adbc-driver-manager = callPackage ../development/python-modules/adbc-driver-manager { }; + adbc-driver-sqlite = callPackage ../development/python-modules/adbc-driver-sqlite { }; + adblock = callPackage ../development/python-modules/adblock { }; adbutils = callPackage ../development/python-modules/adbutils { }; From d9e6eca5540251691075aea08ec2dac178fca443 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 18:07:32 +0300 Subject: [PATCH 6/9] python3Packages.adbc-driver-snowflake: init at 1.11.0 --- .../adbc-driver-snowflake/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/python-modules/adbc-driver-snowflake/default.nix diff --git a/pkgs/development/python-modules/adbc-driver-snowflake/default.nix b/pkgs/development/python-modules/adbc-driver-snowflake/default.nix new file mode 100644 index 000000000000..4ab406a46ef8 --- /dev/null +++ b/pkgs/development/python-modules/adbc-driver-snowflake/default.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + adbc-driver-manager, + importlib-resources, + arrow-adbc, +}: + +buildPythonPackage (finalAttrs: { + pname = "adbc-driver-snowflake"; + version = "1.11.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchPypi { + pname = "adbc_driver_snowflake"; + inherit (finalAttrs) version; + hash = "sha256-f85UrnVAxsY6rWzJ7CeVoFZHzBR8ivQcor1OlUVejq4="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + adbc-driver-manager + importlib-resources + ]; + + # Tests don't work - they require an unknown pytest fixture `snowflake` + doCheck = false; + + env.ADBC_SNOWFLAKE_LIBRARY = "libadbc_driver_snowflake${stdenv.hostPlatform.extensions.sharedLibrary}"; + preBuild = '' + cp ${lib.getLib arrow-adbc}/lib/$ADBC_SNOWFLAKE_LIBRARY . + chmod u+w $ADBC_SNOWFLAKE_LIBRARY + ''; + + pythonImportsCheck = [ + "adbc_driver_snowflake" + ]; + + meta = { + description = "ADBC driver for working with Snowflake"; + homepage = "https://pypi.org/project/adbc-driver-snowflake"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4a0e97ac53c8..750a23ad7243 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -85,6 +85,8 @@ self: super: with self; { adbc-driver-manager = callPackage ../development/python-modules/adbc-driver-manager { }; + adbc-driver-snowflake = callPackage ../development/python-modules/adbc-driver-snowflake { }; + adbc-driver-sqlite = callPackage ../development/python-modules/adbc-driver-sqlite { }; adblock = callPackage ../development/python-modules/adblock { }; From 79b2a3cd2d860f25fe18a9e9611dbd153d01ba66 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 18:12:18 +0300 Subject: [PATCH 7/9] python3Packages.adbc-driver-flightsql: init at 1.11.0 --- .../adbc-driver-flightsql/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/python-modules/adbc-driver-flightsql/default.nix diff --git a/pkgs/development/python-modules/adbc-driver-flightsql/default.nix b/pkgs/development/python-modules/adbc-driver-flightsql/default.nix new file mode 100644 index 000000000000..92bcbe9a991c --- /dev/null +++ b/pkgs/development/python-modules/adbc-driver-flightsql/default.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + adbc-driver-manager, + importlib-resources, + arrow-adbc, +}: + +buildPythonPackage (finalAttrs: { + pname = "adbc-driver-flightsql"; + version = "1.11.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchPypi { + pname = "adbc_driver_flightsql"; + inherit (finalAttrs) version; + hash = "sha256-dfcD7vGBLDky5fRkPF4htWkLI99+CeiLcn95UqpVnyo="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + adbc-driver-manager + importlib-resources + ]; + + # Tests require several unknown pytest fixtures such as `dremio` & `test_dbapi` + doCheck = false; + + env.ADBC_FLIGHTSQL_LIBRARY = "libadbc_driver_flightsql${stdenv.hostPlatform.extensions.sharedLibrary}"; + preBuild = '' + cp ${lib.getLib arrow-adbc}/lib/$ADBC_FLIGHTSQL_LIBRARY . + chmod u+w $ADBC_FLIGHTSQL_LIBRARY + ''; + + pythonImportsCheck = [ + "adbc_driver_flightsql" + ]; + + meta = { + description = "ADBC driver for working with Apache Arrow Flight SQL"; + homepage = "https://pypi.org/project/adbc-driver-flightsql"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 750a23ad7243..a3bf0f6cb180 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -83,6 +83,8 @@ self: super: with self; { adb-shell = callPackage ../development/python-modules/adb-shell { }; + adbc-driver-flightsql = callPackage ../development/python-modules/adbc-driver-flightsql { }; + adbc-driver-manager = callPackage ../development/python-modules/adbc-driver-manager { }; adbc-driver-snowflake = callPackage ../development/python-modules/adbc-driver-snowflake { }; From 445b1dab912ac1288be7a862b38e84cc0e67d5ee Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 18:22:02 +0300 Subject: [PATCH 8/9] python3Packages.adbc-driver-bigquery: init at 1.11.0 --- .../adbc-driver-bigquery/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/python-modules/adbc-driver-bigquery/default.nix diff --git a/pkgs/development/python-modules/adbc-driver-bigquery/default.nix b/pkgs/development/python-modules/adbc-driver-bigquery/default.nix new file mode 100644 index 000000000000..158c42af594d --- /dev/null +++ b/pkgs/development/python-modules/adbc-driver-bigquery/default.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + adbc-driver-manager, + importlib-resources, + arrow-adbc, +}: + +buildPythonPackage (finalAttrs: { + pname = "adbc-driver-bigquery"; + version = "1.11.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchPypi { + pname = "adbc_driver_bigquery"; + inherit (finalAttrs) version; + hash = "sha256-N/wqkN/sH3Qbx0db31DHRMItBewTXQhYk0EXkSwGB34="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + adbc-driver-manager + importlib-resources + ]; + + # Tests don't work - they require an unknown pytest fixture `bigquery_auth_type` + doCheck = false; + + env.ADBC_BIGQUERY_LIBRARY = "libadbc_driver_bigquery${stdenv.hostPlatform.extensions.sharedLibrary}"; + preBuild = '' + cp ${lib.getLib arrow-adbc}/lib/$ADBC_BIGQUERY_LIBRARY . + chmod u+w $ADBC_BIGQUERY_LIBRARY + ''; + + pythonImportsCheck = [ + "adbc_driver_bigquery" + ]; + + meta = { + description = "ADBC driver for working with BigQuery"; + homepage = "https://pypi.org/project/adbc-driver-bigquery"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a3bf0f6cb180..a57a524745b2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -83,6 +83,8 @@ self: super: with self; { adb-shell = callPackage ../development/python-modules/adb-shell { }; + adbc-driver-bigquery = callPackage ../development/python-modules/adbc-driver-bigquery { }; + adbc-driver-flightsql = callPackage ../development/python-modules/adbc-driver-flightsql { }; adbc-driver-manager = callPackage ../development/python-modules/adbc-driver-manager { }; From 5bdd4b74fb1b8b4533ec194ca16d457652b26701 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 23 Jun 2026 18:26:07 +0300 Subject: [PATCH 9/9] python3Packages.adbc-driver-postgresql: init at 1.11.0 --- .../adbc-driver-postgresql/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/python-modules/adbc-driver-postgresql/default.nix diff --git a/pkgs/development/python-modules/adbc-driver-postgresql/default.nix b/pkgs/development/python-modules/adbc-driver-postgresql/default.nix new file mode 100644 index 000000000000..0087c0eb385f --- /dev/null +++ b/pkgs/development/python-modules/adbc-driver-postgresql/default.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + adbc-driver-manager, + importlib-resources, + arrow-adbc, +}: + +buildPythonPackage (finalAttrs: { + pname = "adbc-driver-postgresql"; + version = "1.11.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchPypi { + pname = "adbc_driver_postgresql"; + inherit (finalAttrs) version; + hash = "sha256-9WiLhkiseobYuJNAIxuzaGrF31buldHKC4ddrV1StIo="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + adbc-driver-manager + importlib-resources + ]; + + # Tests require several unknown pytest fixture `postgres_uri` + doCheck = false; + + env.ADBC_POSTGRESQL_LIBRARY = "libadbc_driver_postgresql${stdenv.hostPlatform.extensions.sharedLibrary}"; + preBuild = '' + cp ${lib.getLib arrow-adbc}/lib/$ADBC_POSTGRESQL_LIBRARY . + chmod u+w $ADBC_POSTGRESQL_LIBRARY + ''; + + pythonImportsCheck = [ + "adbc_driver_postgresql" + ]; + + meta = { + description = "libpq-based ADBC driver for working with PostgreSQL"; + homepage = "https://pypi.org/project/adbc-driver-postgresql"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a57a524745b2..6535b9ee5f74 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -89,6 +89,8 @@ self: super: with self; { adbc-driver-manager = callPackage ../development/python-modules/adbc-driver-manager { }; + adbc-driver-postgresql = callPackage ../development/python-modules/adbc-driver-postgresql { }; + adbc-driver-snowflake = callPackage ../development/python-modules/adbc-driver-snowflake { }; adbc-driver-sqlite = callPackage ../development/python-modules/adbc-driver-sqlite { };