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 = "13.1";
19 pyproject = true;
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "anymail";
25 repo = "django-anymail";
26 tag = "v${version}";
27 hash = "sha256-R/PPAar93yMslKnhiiMcv4DIZrIJEQGqMm5yLZ9Mn+8=";
28 };
29
30 build-system = [ hatchling ];
31
32 dependencies = [
33 django
34 requests
35 urllib3
36 ];
37
38 nativeCheckInputs = [
39 mock
40 responses
41 ]
42 ++ optional-dependencies.amazon-ses;
43
44 optional-dependencies = {
45 amazon-ses = [ boto3 ];
46 };
47
48 checkPhase = ''
49 runHook preCheck
50 CONTINUOUS_INTEGRATION=1 ${python.interpreter} runtests.py
51 runHook postCheck
52 '';
53
54 pythonImportsCheck = [ "anymail" ];
55
56 meta = with lib; {
57 description = "Django email backends and webhooks for Mailgun";
58 homepage = "https://github.com/anymail/django-anymail";
59 changelog = "https://github.com/anymail/django-anymail/blob/${src.tag}/CHANGELOG.rst";
60 license = licenses.bsd3;
61 maintainers = with maintainers; [ onny ];
62 };
63}