1{
2 lib,
3 boto3,
4 buildPythonPackage,
5 django,
6 fetchFromGitHub,
7 hatchling,
8 mock,
9 python,
10 pythonOlder,
11 requests,
12 responses,
13 urllib3,
14}:
15
16buildPythonPackage rec {
17 pname = "django-anymail";
18 version = "10.3";
19 pyproject = true;
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "anymail";
25 repo = "django-anymail";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-5uSpPeXpMkpuzMXzsGE6uQJWP/Dt/oqakB8Xb5G1eZY=";
28 };
29
30 nativeBuildInputs = [ hatchling ];
31
32 propagatedBuildInputs = [
33 django
34 requests
35 urllib3
36 ];
37
38 nativeCheckInputs = [
39 mock
40 responses
41 ] ++ passthru.optional-dependencies.amazon-ses;
42
43 passthru.optional-dependencies = {
44 amazon-ses = [ boto3 ];
45 };
46
47 checkPhase = ''
48 runHook preCheck
49 CONTINUOUS_INTEGRATION=1 ${python.interpreter} runtests.py
50 runHook postCheck
51 '';
52
53 pythonImportsCheck = [ "anymail" ];
54
55 meta = with lib; {
56 description = "Django email backends and webhooks for Mailgun";
57 homepage = "https://github.com/anymail/django-anymail";
58 changelog = "https://github.com/anymail/django-anymail/blob/v${version}/CHANGELOG.rst";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ onny ];
61 };
62}