python312Packages.dash-renderer: remove (#369714)
[NixPkgs.git] / pkgs / development / python-modules / aiosmtpd / default.nix
blob28d13a1f6dcb324aad98d30ad15fdbc249a1e181
2   lib,
3   atpublic,
4   attrs,
5   buildPythonPackage,
6   fetchFromGitHub,
7   pytest-mock,
8   pytestCheckHook,
9   pythonOlder,
10   setuptools,
11   typing-extensions,
13   # for passthru.tests
14   django,
15   aiosmtplib,
18 buildPythonPackage rec {
19   pname = "aiosmtpd";
20   version = "1.4.6";
21   pyproject = true;
23   disabled = pythonOlder "3.6";
25   src = fetchFromGitHub {
26     owner = "aio-libs";
27     repo = "aiosmtpd";
28     tag = "v${version}";
29     hash = "sha256-Ih/xbWM9O/fFQiZezydlPlIr36fLRc2lLgdfxD5Jviw=";
30   };
32   nativeBuildInputs = [ setuptools ];
34   propagatedBuildInputs = [
35     atpublic
36     attrs
37   ] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
39   nativeCheckInputs = [
40     pytest-mock
41     pytestCheckHook
42   ];
44   # Fixes for Python 3.10 can't be applied easily, https://github.com/aio-libs/aiosmtpd/pull/294
45   doCheck = pythonOlder "3.10";
47   disabledTests = [
48     # Requires git
49     "test_ge_master"
50     # Seems to be a sandbox issue
51     "test_byclient"
52   ];
54   pythonImportsCheck = [ "aiosmtpd" ];
56   passthru.tests = {
57     inherit django aiosmtplib;
58   };
60   meta = with lib; {
61     description = "Asyncio based SMTP server";
62     mainProgram = "aiosmtpd";
63     homepage = "https://aiosmtpd.readthedocs.io/";
64     changelog = "https://github.com/aio-libs/aiosmtpd/releases/tag/v${version}";
65     longDescription = ''
66       This is a server for SMTP and related protocols, similar in utility to the
67       standard library's smtpd.py module.
68     '';
69     license = licenses.asl20;
70     maintainers = with maintainers; [ eadwu ];
71   };