83 lines
1.5 KiB
Nix
83 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
boto3,
|
|
botocore,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
jinja2,
|
|
loguru,
|
|
mdformat,
|
|
packaging,
|
|
prompt-toolkit,
|
|
pytest-mock,
|
|
pytestCheckHook,
|
|
pythonOlder,
|
|
questionary,
|
|
requests-mock,
|
|
requests,
|
|
ruff,
|
|
setuptools,
|
|
versionCheckHook,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "mypy-boto3-builder";
|
|
version = "8.11.0";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.12";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "youtype";
|
|
repo = "mypy_boto3_builder";
|
|
tag = version;
|
|
hash = "sha256-7NrN42DcM+NNTjRnOdDzPBTKFRex8Ph4bVjdVgJa4Po=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace pyproject.toml \
|
|
--replace-fail 'version = "8.10.1"' 'version = "${version}"'
|
|
'';
|
|
|
|
build-system = [ setuptools ];
|
|
|
|
dependencies = [
|
|
boto3
|
|
botocore
|
|
jinja2
|
|
loguru
|
|
mdformat
|
|
packaging
|
|
prompt-toolkit
|
|
questionary
|
|
requests
|
|
ruff
|
|
setuptools
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pytest-mock
|
|
pytestCheckHook
|
|
requests-mock
|
|
versionCheckHook
|
|
];
|
|
|
|
versionCheckProgramArg = "--version";
|
|
|
|
pythonImportsCheck = [ "mypy_boto3_builder" ];
|
|
|
|
disabledTests = [
|
|
# Tests require network access
|
|
"TestBotocoreChangelogChangelog"
|
|
];
|
|
|
|
meta = {
|
|
description = "Type annotations builder for boto3";
|
|
homepage = "https://github.com/youtype/mypy_boto3_builder";
|
|
changelog = "https://github.com/youtype/mypy_boto3_builder/releases/tag/${version}";
|
|
license = lib.licenses.bsd3;
|
|
maintainers = with lib.maintainers; [ fab ];
|
|
mainProgram = "mypy_boto3_builder";
|
|
};
|
|
}
|