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 { };