diff --git a/pkgs/development/python-modules/gcs-oauth2-boto-plugin/default.nix b/pkgs/development/python-modules/gcs-oauth2-boto-plugin/default.nix new file mode 100644 index 000000000000..321a6a1de65d --- /dev/null +++ b/pkgs/development/python-modules/gcs-oauth2-boto-plugin/default.nix @@ -0,0 +1,66 @@ +{ lib +, boto +, buildPythonPackage +, fasteners +, fetchFromGitHub +, freezegun +, google-reauth +, httplib2 +, oauth2client +, pyopenssl +, pytestCheckHook +, pythonOlder +, pythonRelaxDepsHook +, retry_decorator +, rsa +, six +}: + +buildPythonPackage rec { + pname = "gcs-oauth2-boto-plugin"; + version = "3.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "GoogleCloudPlatform"; + repo = pname; + rev = "refs/tags/v${version}"; + sha256 = "sha256-slTxh2j9VhLiSyiTmJIFFakzpzH/+mgilDRxx0VqqKQ="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "rsa==4.7.2" "rsa" \ + --replace "version='2.7'" "version='${version}'" + ''; + + propagatedBuildInputs = [ + boto + freezegun + google-reauth + httplib2 + oauth2client + pyopenssl + retry_decorator + rsa + six + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "gcs_oauth2_boto_plugin" + ]; + + meta = with lib; { + description = "Auth plugin allowing use the use of OAuth 2.0 credentials for Google Cloud Storage"; + homepage = "https://github.com/GoogleCloudPlatform/gcs-oauth2-boto-plugin"; + changelog = "https://github.com/GoogleCloudPlatform/gcs-oauth2-boto-plugin/releases/tag/v${version}"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0e1a93b31c29..a3db70985fdf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3601,6 +3601,8 @@ self: super: with self; { gcovr = callPackage ../development/python-modules/gcovr { }; + gcs-oauth2-boto-plugin = callPackage ../development/python-modules/gcs-oauth2-boto-plugin { }; + gcsfs = callPackage ../development/python-modules/gcsfs { }; gdal = toPythonModule (pkgs.gdal.override { python3 = python; });