1{
2 lib,
3 black,
4 boto3,
5 buildPythonPackage,
6 cryptography,
7 fetchFromGitHub,
8 isort,
9 jinja2,
10 md-toc,
11 mdformat,
12 newversion,
13 pip,
14 poetry-core,
15 pyparsing,
16 pytest-mock,
17 pytestCheckHook,
18 pythonOlder,
19 requests-mock,
20 ruff,
21 setuptools,
22 typing-extensions,
23}:
24
25buildPythonPackage rec {
26 pname = "mypy-boto3-builder";
27 version = "8.5.0";
28 pyproject = true;
29
30 disabled = pythonOlder "3.12";
31
32 src = fetchFromGitHub {
33 owner = "youtype";
34 repo = "mypy_boto3_builder";
35 rev = "refs/tags/${version}";
36 hash = "sha256-ipi31Kbh7GdKQl7PzvR4tSWzjjHogrpHPPgzn8V/RTc=";
37 };
38
39 build-system = [ poetry-core ];
40
41 dependencies = [
42 black
43 boto3
44 cryptography
45 isort
46 jinja2
47 md-toc
48 mdformat
49 newversion
50 pip
51 pyparsing
52 ruff
53 setuptools
54 typing-extensions
55 ];
56
57 nativeCheckInputs = [
58 pytest-mock
59 requests-mock
60 pytestCheckHook
61 ];
62
63 pythonImportsCheck = [ "mypy_boto3_builder" ];
64
65 disabledTests = [
66 # Tests require network access
67 "TestBotocoreChangelogChangelog"
68 ];
69
70 meta = with lib; {
71 description = "Type annotations builder for boto3";
72 homepage = "https://github.com/youtype/mypy_boto3_builder";
73 changelog = "https://github.com/youtype/mypy_boto3_builder/releases/tag/${version}";
74 license = with licenses; [ bsd3 ];
75 maintainers = with maintainers; [ fab ];
76 mainProgram = "mypy_boto3_builder";
77 };
78}