1{ lib
2, buildPythonApplication
3, fetchFromGitHub
4, dill
5, coverage
6, coveralls
7, mock
8, nose
9}:
10
11buildPythonApplication rec {
12 pname = "expiringdict";
13 version = "1.2.1";
14
15 # use fetchFromGitHub instead of fetchPypi because the test suite of
16 # the package is not included into the PyPI tarball
17 src = fetchFromGitHub {
18 owner = "mailgun";
19 repo = pname;
20 rev = "v${version}";
21 sha256 = "07g1vxznmim78bankfl9brr01s31sksdcpwynq1yryh6xw9ri5xs";
22 };
23
24 checkInputs = [
25 dill
26 coverage
27 coveralls
28 mock
29 nose
30 ];
31
32 checkPhase = ''
33 nosetests -v --with-coverage --cover-package=expiringdict
34 '';
35
36 pythonImportsCheck = [ "expiringdict" ];
37
38 meta = with lib; {
39 description = "Dictionary with auto-expiring values for caching purposes";
40 homepage = "https://pypi.org/project/expiringdict/";
41 license = licenses.asl20;
42 maintainers = with maintainers; [ gravndal ];
43 };
44}