1{ lib
2, buildPythonPackage
3, cherrypy
4, fetchFromGitHub
5, lockfile
6, mock
7, msgpack
8, pytestCheckHook
9, pythonOlder
10, redis
11, requests
12}:
13
14buildPythonPackage rec {
15 pname = "cachecontrol";
16 version = "0.12.11";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = "ionrock";
23 repo = pname;
24 rev = "v${version}";
25 hash = "sha256-uUPIQz/n347Q9G7NDOGuB760B/KxOglUxiS/rYjt5Po=";
26 };
27
28 propagatedBuildInputs = [
29 msgpack
30 requests
31 ];
32
33 checkInputs = [
34 cherrypy
35 mock
36 pytestCheckHook
37 ] ++ passthru.optional-dependencies.filecache;
38
39 pythonImportsCheck = [
40 "cachecontrol"
41 ];
42
43 passthru.optional-dependencies = {
44 filecache = [ lockfile ];
45 redis = [ redis ];
46 };
47
48 meta = with lib; {
49 description = "Httplib2 caching for requests";
50 homepage = "https://github.com/ionrock/cachecontrol";
51 license = licenses.asl20;
52 maintainers = with maintainers; [ costrouc ];
53 };
54}