1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 aiocontextvars,
7 boltons,
8 hypothesis,
9 pyrsistent,
10 pytestCheckHook,
11 setuptools,
12 six,
13 testtools,
14 zope-interface,
15}:
16
17buildPythonPackage rec {
18 pname = "eliot";
19 version = "1.14.0";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.6";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-wvCZo+jV7PwidFdm58xmSkjbZLa4nZht/ycEkdhoMUk=";
27 };
28
29 propagatedBuildInputs = [
30 aiocontextvars
31 boltons
32 pyrsistent
33 setuptools
34 six
35 zope-interface
36 ];
37
38 nativeCheckInputs = [
39 hypothesis
40 pytestCheckHook
41 testtools
42 ];
43
44 pythonImportsCheck = [ "eliot" ];
45
46 # Tests run eliot-prettyprint in out/bin.
47 preCheck = ''
48 export PATH=$out/bin:$PATH
49 '';
50
51 disabledTests = [
52 "test_parse_stream"
53 # AttributeError: module 'inspect' has no attribute 'getargspec'
54 "test_default"
55 ];
56
57 meta = with lib; {
58 homepage = "https://eliot.readthedocs.io";
59 description = "Logging library that tells you why it happened";
60 mainProgram = "eliot-prettyprint";
61 license = licenses.asl20;
62 maintainers = with maintainers; [ dpausp ];
63 };
64}