1{ lib
2, aioredis
3, aiosmtplib
4, blinker
5, buildPythonPackage
6, email-validator
7, fakeredis
8, fastapi
9, fetchFromGitHub
10, httpx
11, jinja2
12, poetry-core
13, pydantic
14, pytest-asyncio
15, pytestCheckHook
16, python-multipart
17, pythonOlder
18}:
19
20buildPythonPackage rec {
21 pname = "fastapi-mail";
22 version = "1.2.0";
23 format = "pyproject";
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchFromGitHub {
28 owner = "sabuhish";
29 repo = pname;
30 rev = "refs/tags/${version}";
31 hash = "sha256-RAUxc7spJL1QECAO0uZcCVAR/LaFIxFu61LD4RV9nEI=";
32 };
33
34 postPatch = ''
35 substituteInPlace pyproject.toml \
36 --replace 'fastapi = "^0.75.0"' 'fastapi = "*"' \
37 --replace 'httpx = "^0.22.0"' 'httpx = "*"'
38 '';
39
40 nativeBuildInputs = [
41 poetry-core
42 ];
43
44 propagatedBuildInputs = [
45 aioredis
46 aiosmtplib
47 blinker
48 email-validator
49 fakeredis
50 fastapi
51 httpx
52 jinja2
53 pydantic
54 python-multipart
55 ];
56
57 checkInputs = [
58 pytest-asyncio
59 pytestCheckHook
60 ];
61
62 disabledTests = [
63 # Tests require access to /etc/resolv.conf
64 "test_default_checker"
65 "test_redis_checker"
66 ];
67
68 pythonImportsCheck = [
69 "fastapi_mail"
70 ];
71
72 meta = with lib; {
73 description = "Module for sending emails and attachments";
74 homepage = "https://github.com/sabuhish/fastapi-mail";
75 license = with licenses; [ mit ];
76 maintainers = with maintainers; [ fab ];
77 };
78}