1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6
7 # build-system
8 poetry-core,
9
10 # optional-dependencies
11 furo,
12 myst-parser,
13 sphinx,
14 sphinxHook,
15
16 # tests
17 pytest-asyncio_0,
18 pytest-cov-stub,
19 pytestCheckHook,
20}:
21
22buildPythonPackage rec {
23 pname = "aiohappyeyeballs";
24 version = "2.6.1";
25 pyproject = true;
26
27 disabled = pythonOlder "3.10";
28
29 src = fetchFromGitHub {
30 owner = "bdraco";
31 repo = "aiohappyeyeballs";
32 tag = "v${version}";
33 hash = "sha256-qqe/h633uEbJPpdsuCzZKW86Z6BQUmPdCju1vg7OLXc=";
34 };
35
36 outputs = [
37 "out"
38 "doc"
39 ];
40
41 build-system = [ poetry-core ] ++ optional-dependencies.docs;
42
43 optional-dependencies = {
44 docs = [
45 furo
46 myst-parser
47 sphinx
48 sphinxHook
49 ];
50 };
51
52 nativeCheckInputs = [
53 pytest-asyncio_0
54 pytest-cov-stub
55 pytestCheckHook
56 ];
57
58 pythonImportsCheck = [ "aiohappyeyeballs" ];
59
60 meta = with lib; {
61 description = "Happy Eyeballs for pre-resolved hosts";
62 homepage = "https://github.com/bdraco/aiohappyeyeballs";
63 changelog = "https://github.com/bdraco/aiohappyeyeballs/blob/v${version}/CHANGELOG.md";
64 license = licenses.psfl;
65 maintainers = with maintainers; [
66 fab
67 hexa
68 ];
69 };
70}