1{ lib, buildPythonPackage, fetchPypi, isPy27, pythonAtLeast
2, graphviz
3, multipledispatch
4, numpy
5, pandas
6, pyarrow
7, pytest
8, pytz
9, regex
10, requests
11, sqlalchemy
12, tables
13, toolz
14}:
15
16buildPythonPackage rec {
17 pname = "ibis-framework";
18 version = "1.3.0";
19 disabled = isPy27 || pythonAtLeast "3.8";
20
21 src = fetchPypi {
22 inherit pname version;
23 sha256 = "1my94a11jzg1hv6ln8wxklbqrg6z5l2l77vr89aq0829yyxacmv7";
24 };
25
26 propagatedBuildInputs = [
27 multipledispatch
28 numpy
29 pandas
30 pytz
31 regex
32 toolz
33 sqlalchemy
34 requests
35 graphviz
36 tables
37 pyarrow
38 ];
39
40 checkInputs = [
41 pytest
42 ];
43
44 # ignore tests which require test dataset, or frameworks not available
45 checkPhase = ''
46 pytest ibis \
47 --ignore=ibis/tests/all \
48 --ignore=ibis/{sql,spark}
49 '';
50
51 meta = with lib; {
52 description = "Productivity-centric Python Big Data Framework";
53 homepage = "https://github.com/ibis-project/ibis";
54 license = licenses.asl20;
55 maintainers = [ maintainers.costrouc ];
56 };
57}