Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 boto3,
4 botocore,
5 buildPythonPackage,
6 fetchFromGitHub,
7 jinja2,
8 loguru,
9 mdformat,
10 packaging,
11 prompt-toolkit,
12 pytest-mock,
13 pytestCheckHook,
14 questionary,
15 requests-mock,
16 requests,
17 ruff,
18 setuptools,
19 versionCheckHook,
20}:
21
22buildPythonPackage rec {
23 pname = "mypy-boto3-builder";
24 version = "8.12.0";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "youtype";
29 repo = "mypy_boto3_builder";
30 tag = version;
31 hash = "sha256-ZpZ//vFFxW1o9dEaCuO/8UHYM6lExvktYeNIiSrXR0Y=";
32 };
33
34 postPatch = ''
35 substituteInPlace pyproject.toml \
36 --replace-fail 'version = "8.11.0"' 'version = "${version}"'
37 '';
38
39 build-system = [ setuptools ];
40
41 dependencies = [
42 boto3
43 botocore
44 jinja2
45 loguru
46 mdformat
47 packaging
48 prompt-toolkit
49 questionary
50 requests
51 ruff
52 setuptools
53 ];
54
55 nativeCheckInputs = [
56 pytest-mock
57 pytestCheckHook
58 requests-mock
59 versionCheckHook
60 ];
61
62 pythonImportsCheck = [ "mypy_boto3_builder" ];
63
64 disabledTests = [
65 # Tests require network access
66 "TestBotocoreChangelogChangelog"
67 ];
68
69 meta = {
70 description = "Type annotations builder for boto3";
71 homepage = "https://github.com/youtype/mypy_boto3_builder";
72 changelog = "https://github.com/youtype/mypy_boto3_builder/releases/tag/${src.tag}";
73 license = lib.licenses.bsd3;
74 maintainers = with lib.maintainers; [ fab ];
75 mainProgram = "mypy_boto3_builder";
76 };
77}