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 pythonOlder, 15 questionary, 16 requests-mock, 17 requests, 18 ruff, 19 setuptools, 20 versionCheckHook, 21}: 22 23buildPythonPackage rec { 24 pname = "mypy-boto3-builder"; 25 version = "8.11.0"; 26 pyproject = true; 27 28 disabled = pythonOlder "3.12"; 29 30 src = fetchFromGitHub { 31 owner = "youtype"; 32 repo = "mypy_boto3_builder"; 33 tag = version; 34 hash = "sha256-7NrN42DcM+NNTjRnOdDzPBTKFRex8Ph4bVjdVgJa4Po="; 35 }; 36 37 postPatch = '' 38 substituteInPlace pyproject.toml \ 39 --replace-fail 'version = "8.10.1"' 'version = "${version}"' 40 ''; 41 42 build-system = [ setuptools ]; 43 44 dependencies = [ 45 boto3 46 botocore 47 jinja2 48 loguru 49 mdformat 50 packaging 51 prompt-toolkit 52 questionary 53 requests 54 ruff 55 setuptools 56 ]; 57 58 nativeCheckInputs = [ 59 pytest-mock 60 pytestCheckHook 61 requests-mock 62 versionCheckHook 63 ]; 64 65 versionCheckProgramArg = "--version"; 66 67 pythonImportsCheck = [ "mypy_boto3_builder" ]; 68 69 disabledTests = [ 70 # Tests require network access 71 "TestBotocoreChangelogChangelog" 72 ]; 73 74 meta = { 75 description = "Type annotations builder for boto3"; 76 homepage = "https://github.com/youtype/mypy_boto3_builder"; 77 changelog = "https://github.com/youtype/mypy_boto3_builder/releases/tag/${version}"; 78 license = lib.licenses.bsd3; 79 maintainers = with lib.maintainers; [ fab ]; 80 mainProgram = "mypy_boto3_builder"; 81 }; 82}