1{
2 lib,
3 buildPythonPackage,
4 cryptography,
5 ecdsa,
6 fetchFromGitHub,
7 flask,
8 pytestCheckHook,
9 python-http-client,
10 pyyaml,
11 setuptools,
12 starkbank-ecdsa,
13 werkzeug,
14}:
15
16buildPythonPackage rec {
17 pname = "sendgrid";
18 version = "6.12.5";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = pname;
23 repo = "sendgrid-python";
24 tag = version;
25 hash = "sha256-7r1FHcGmHRQK9mfpV3qcuZlIe7G6CIyarnpWLjduw4E=";
26 };
27
28 pythonRelaxDeps = [ "cryptography" ];
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 cryptography
34 ecdsa
35 python-http-client
36 starkbank-ecdsa
37 ];
38
39 nativeCheckInputs = [
40 flask
41 pytestCheckHook
42 pyyaml
43 werkzeug
44 ];
45
46 disabledTestPaths = [
47 # Exclude tests that require network access
48 "test/integ/test_sendgrid.py"
49 "live_test.py"
50 ];
51
52 pythonImportsCheck = [ "sendgrid" ];
53
54 meta = with lib; {
55 description = "Python client for SendGrid";
56 homepage = "https://github.com/sendgrid/sendgrid-python";
57 changelog = "https://github.com/sendgrid/sendgrid-python/blob/${src.tag}/CHANGELOG.md";
58 license = licenses.mit;
59 maintainers = with maintainers; [ fab ];
60 };
61}