1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 hatch-fancy-pypi-readme,
7 hatch-vcs,
8 hatchling,
9
10 tenacity,
11 typing-extensions,
12
13 anyio,
14 pytestCheckHook,
15}:
16
17buildPythonPackage rec {
18 pname = "stamina";
19 version = "24.3.0";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "hynek";
24 repo = "stamina";
25 tag = version;
26 hash = "sha256-DasubVqKRhX4CRyKyJ3fIA9Rxmy+kGxkW0pDdu8OPPo=";
27 };
28
29 nativeBuildInputs = [
30 hatch-fancy-pypi-readme
31 hatch-vcs
32 hatchling
33 ];
34
35 propagatedBuildInputs = [
36 tenacity
37 typing-extensions
38 ];
39
40 pythonImportsCheck = [ "stamina" ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 anyio
45 ];
46
47 meta = with lib; {
48 description = "Production-grade retries for Python";
49 homepage = "https://github.com/hynek/stamina";
50 changelog = "https://github.com/hynek/stamina/blob/${src.rev}/CHANGELOG.md";
51 license = licenses.mit;
52 maintainers = with maintainers; [ mbalatsko ];
53 };
54}