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 pytestCheckHook,
17 pythonOlder,
18 setuptools,
19 typing-extensions,
20}:
21
22buildPythonPackage rec {
23 pname = "mypy-boto3-builder";
24 version = "7.25.0";
25 pyproject = true;
26
27 disabled = pythonOlder "3.10";
28
29 src = fetchFromGitHub {
30 owner = "youtype";
31 repo = "mypy_boto3_builder";
32 rev = "refs/tags/${version}";
33 hash = "sha256-uLatx9/nLIoB+CY/QrddBxaaa4TeAzVNu/Nl9wWUTz4=";
34 };
35
36 nativeBuildInputs = [ poetry-core ];
37
38 propagatedBuildInputs = [
39 black
40 boto3
41 cryptography
42 isort
43 jinja2
44 md-toc
45 mdformat
46 newversion
47 pip
48 pyparsing
49 setuptools
50 typing-extensions
51 ];
52
53 nativeCheckInputs = [ pytestCheckHook ];
54
55 pythonImportsCheck = [ "mypy_boto3_builder" ];
56
57 disabledTests = [
58 # Tests require network access
59 "TestBotocoreChangelogChangelog"
60 ];
61
62 meta = with lib; {
63 description = "Type annotations builder for boto3";
64 mainProgram = "mypy_boto3_builder";
65 homepage = "https://github.com/youtype/mypy_boto3_builder";
66 changelog = "https://github.com/youtype/mypy_boto3_builder/releases/tag/${version}";
67 license = with licenses; [ bsd3 ];
68 maintainers = with maintainers; [ fab ];
69 };
70}