diff --git a/pkgs/development/python-modules/python-http-client/default.nix b/pkgs/development/python-modules/python-http-client/default.nix new file mode 100644 index 00000000000..f4b19ba379e --- /dev/null +++ b/pkgs/development/python-modules/python-http-client/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, mock +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "python_http_client"; + version = "3.3.1"; + + src = fetchFromGitHub { + owner = "sendgrid"; + repo = "python-http-client"; + rev = version; + sha256 = "0mbcg0vb9v41v7hbvycrxx5wyrf3ysvfgxkix8hn8c4x5l2lmidc"; + }; + + checkInputs = [ + mock + pytestCheckHook + ]; + + # Failure was fixed by https://github.com/sendgrid/python-http-client/commit/6d62911ab0d0645b499e14bb17c302b48f3c10e4 + disabledTests = [ "test__daterange" ]; + pythonImportsCheck = [ "python_http_client" ]; + + meta = with lib; { + description = "Python HTTP library to call APIs"; + homepage = "https://github.com/sendgrid/python-http-client"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix new file mode 100644 index 00000000000..77cd3593863 --- /dev/null +++ b/pkgs/development/python-modules/sendgrid/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, flask +, pytestCheckHook +, python-http-client +, pyyaml +, starkbank-ecdsa +, werkzeug +}: + +buildPythonPackage rec { + pname = "sendgrid"; + version = "6.5.0"; + + src = fetchFromGitHub { + owner = pname; + repo = "sendgrid-python"; + rev = version; + sha256 = "14kqjdv49486ksc1s0m0hc4k5nf9vn1v1g489mpib01hiiqxjp1b"; + }; + + propagatedBuildInputs = [ + python-http-client + starkbank-ecdsa + ]; + + checkInputs = [ + flask + pytestCheckHook + pyyaml + werkzeug + ]; + + # Exclude tests that require network access + pytestFlagsArray = [ + "--ignore test/test_sendgrid.py" + "--ignore live_test.py" + ]; + + pythonImportsCheck = [ "sendgrid" ]; + + meta = with lib; { + description = "Python client for SendGrid"; + homepage = "https://github.com/sendgrid/sendgrid-python"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/starkbank-ecdsa/default.nix b/pkgs/development/python-modules/starkbank-ecdsa/default.nix new file mode 100644 index 00000000000..70b66b9a468 --- /dev/null +++ b/pkgs/development/python-modules/starkbank-ecdsa/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "starkbank-ecdsa"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "starkbank"; + repo = "ecdsa-python"; + rev = "v${version}"; + sha256 = "03smk33zhmv1j1svgjnykak0jnw8yl0yv03i1gsasx71f33zmfwi"; + }; + + checkInputs = [ pytestCheckHook ]; + pytestFlagsArray = [ "-v tests/*.py" ]; + pythonImportsCheck = [ "ellipticcurve" ]; + + meta = with lib; { + description = "Python ECDSA library"; + homepage = "https://github.com/starkbank/ecdsa-python"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index b1dcbeae5d4..ced3cb87eec 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -709,7 +709,7 @@ "scsgate" = ps: with ps; [ ]; # missing inputs: scsgate "search" = ps: with ps; [ aiohttp-cors ]; "season" = ps: with ps; [ ephem ]; - "sendgrid" = ps: with ps; [ ]; # missing inputs: sendgrid + "sendgrid" = ps: with ps; [ sendgrid ]; "sense" = ps: with ps; [ ]; # missing inputs: sense_energy "sensehat" = ps: with ps; [ ]; # missing inputs: sense-hat "sensibo" = ps: with ps; [ ]; # missing inputs: pysensibo diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1ae8fab8847..06a226a7c57 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6199,6 +6199,8 @@ in { python-hpilo = callPackage ../development/python-modules/python-hpilo { }; + python-http-client = callPackage ../development/python-modules/python-http-client { }; + python-igraph = callPackage ../development/python-modules/python-igraph { pkg-config = pkgs.pkg-config; igraph = pkgs.igraph; @@ -6981,6 +6983,8 @@ in { send2trash = callPackage ../development/python-modules/send2trash { }; + sendgrid = callPackage ../development/python-modules/sendgrid { }; + sentencepiece = callPackage ../development/python-modules/sentencepiece { inherit (pkgs) sentencepiece pkg-config; }; sentinel = callPackage ../development/python-modules/sentinel { }; @@ -7367,6 +7371,8 @@ in { inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices; }; + starkbank-ecdsa = callPackage ../development/python-modules/starkbank-ecdsa { }; + staticjinja = callPackage ../development/python-modules/staticjinja { }; statistics = callPackage ../development/python-modules/statistics { };