1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, aiocontextvars
6, boltons
7, hypothesis
8, pyrsistent
9, pytest
10, setuptools
11, six
12, testtools
13, zope_interface
14}:
15
16buildPythonPackage rec {
17 pname = "eliot";
18 version = "1.14.0";
19 disabled = pythonOlder "3.6";
20
21 src = fetchPypi {
22 inherit pname version;
23 sha256 = "c2f099a3e8d5ecfc22745766e7cc664a48db64b6b89d986dff270491d8683149";
24 };
25
26 checkInputs = [
27 hypothesis
28 testtools
29 pytest
30 ];
31
32 propagatedBuildInputs = [
33 aiocontextvars
34 boltons
35 pyrsistent
36 setuptools
37 six
38 zope_interface
39 ];
40
41 pythonImportsCheck = [ "eliot" ];
42
43 # Tests run eliot-prettyprint in out/bin.
44 # test_parse_stream is broken, skip it.
45 checkPhase = ''
46 export PATH=$out/bin:$PATH
47 pytest -k 'not test_parse_stream'
48 '';
49
50 meta = with lib; {
51 homepage = "https://eliot.readthedocs.io";
52 description = "Logging library that tells you why it happened";
53 license = licenses.asl20;
54 maintainers = [ maintainers.dpausp ];
55 };
56}