Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchpatch,
6 pytest-asyncio,
7 pytestCheckHook,
8 setuptools-scm,
9 tornado,
10 typeguard,
11}:
12
13buildPythonPackage rec {
14 pname = "tenacity";
15 version = "9.1.2";
16 pyproject = true;
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-EWnTdsKX5944jRi0SBdg1Hiw6Zp3fK06nIblVvS2l8s=";
21 };
22
23 patches = [
24 (fetchpatch {
25 url = "https://github.com/jd/tenacity/commit/eed7d785e667df145c0e3eeddff59af64e4e860d.patch";
26 includes = [
27 "tenacity/__init__.py"
28 "tests/test_asyncio.py"
29 "tests/test_issue_478.py"
30 ];
31 hash = "sha256-TMhBjRmG7pBP3iKq83RQzkV9yO2TEcA+3mo9cz6daxs=";
32 })
33 ];
34
35 build-system = [ setuptools-scm ];
36
37 nativeCheckInputs = [
38 pytest-asyncio
39 pytestCheckHook
40 tornado
41 typeguard
42 ];
43
44 pythonImportsCheck = [ "tenacity" ];
45
46 meta = {
47 homepage = "https://github.com/jd/tenacity";
48 changelog = "https://github.com/jd/tenacity/releases/tag/${version}";
49 description = "Retrying library for Python";
50 license = lib.licenses.asl20;
51 maintainers = with lib.maintainers; [ jakewaksbaum ];
52 };
53}