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