anki-bin: 24.06.3 -> 24.11 (#360722)
[NixPkgs.git] / pkgs / development / python-modules / aiocache / default.nix
blobd1e87d08deaacf6a3bf883b9e365260282f1eb7b
2   lib,
3   aiohttp,
4   aiomcache,
5   buildPythonPackage,
6   fetchFromGitHub,
7   marshmallow,
8   msgpack,
9   pkgs,
10   pytest-asyncio,
11   pytest-cov-stub,
12   pytest-mock,
13   pytestCheckHook,
14   pythonOlder,
15   redis,
16   setuptools,
19 buildPythonPackage rec {
20   pname = "aiocache";
21   version = "0.12.3";
22   pyproject = true;
24   disabled = pythonOlder "3.8";
26   src = fetchFromGitHub {
27     owner = "aio-libs";
28     repo = "aiocache";
29     rev = "refs/tags/v${version}";
30     hash = "sha256-4QYCRXMWlt9fsiWgUTc2pKzXG7AG/zGmd4HT5ggIZNM=";
31   };
33   build-system = [ setuptools ];
35   optional-dependencies = {
36     redis = [ redis ];
37     memcached = [ aiomcache ];
38     msgpack = [ msgpack ];
39   };
41   nativeCheckInputs = [
42     aiohttp
43     marshmallow
44     pytest-asyncio
45     pytest-cov-stub
46     pytest-mock
47     pytestCheckHook
48   ] ++ lib.flatten (lib.attrValues optional-dependencies);
50   pytestFlagsArray = [
51     "-W"
52     "ignore::DeprecationWarning"
53     # TypeError: object MagicMock can't be used in 'await' expression
54     "--deselect=tests/ut/backends/test_redis.py::TestRedisBackend::test_close"
55   ];
57   disabledTests = [
58     # Test calls apache benchmark and fails, no usable output
59     "test_concurrency_error_rates"
60   ];
62   disabledTestPaths = [
63     # Benchmark and performance tests are not relevant for Nixpkgs
64     "tests/performance/"
65   ];
67   preCheck = ''
68     ${lib.getBin pkgs.redis}/bin/redis-server &
69     REDIS_PID=$!
71     ${lib.getBin pkgs.memcached}/bin/memcached &
72     MEMCACHED_PID=$!
73   '';
75   postCheck = ''
76     kill $REDIS_PID
77     kill $MEMCACHED_PID
78   '';
80   __darwinAllowLocalNetworking = true;
82   pythonImportsCheck = [ "aiocache" ];
84   meta = with lib; {
85     description = "Python API Rate Limit Decorator";
86     homepage = "https://github.com/aio-libs/aiocache";
87     changelog = "https://github.com/aio-libs/aiocache/releases/tag/v${version}";
88     license = licenses.bsd3;
89     maintainers = with maintainers; [ fab ];
90   };