1{
2 lib,
3 stdenv,
4 appdirs,
5 bokeh,
6 buildPythonPackage,
7 dask,
8 entrypoints,
9 fetchFromGitHub,
10 fsspec,
11 hvplot,
12 intake-parquet,
13 jinja2,
14 msgpack,
15 msgpack-numpy,
16 pandas,
17 panel,
18 pyarrow,
19 pytestCheckHook,
20 python-snappy,
21 pythonOlder,
22 pyyaml,
23 requests,
24 setuptools,
25 setuptools-scm,
26 tornado,
27}:
28
29buildPythonPackage rec {
30 pname = "intake";
31 version = "2.0.3";
32 pyproject = true;
33
34 disabled = pythonOlder "3.8";
35
36 src = fetchFromGitHub {
37 owner = "intake";
38 repo = "intake";
39 rev = "refs/tags/${version}";
40 hash = "sha256-Fyv85HkoE9OPOoSHR1sgCG0iAFuSiQMT7cyZcQyLvv0=";
41 };
42
43 nativeBuildInputs = [
44 setuptools
45 setuptools-scm
46 ];
47
48 propagatedBuildInputs = [
49 appdirs
50 dask
51 entrypoints
52 fsspec
53 msgpack
54 jinja2
55 pandas
56 pyyaml
57 ];
58
59 nativeCheckInputs = [
60 intake-parquet
61 pytestCheckHook
62 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
63
64 passthru.optional-dependencies = {
65 server = [
66 msgpack
67 python-snappy
68 tornado
69 ];
70 dataframe = [
71 msgpack-numpy
72 pyarrow
73 ];
74 plot = [
75 hvplot
76 bokeh
77 panel
78 ];
79 remote = [ requests ];
80 };
81
82 __darwinAllowLocalNetworking = true;
83
84 preCheck = ''
85 export HOME=$(mktemp -d);
86 export PATH="$PATH:$out/bin";
87 '';
88
89 disabledTestPaths = [
90 # Missing plusins
91 "intake/catalog/tests/test_alias.py"
92 "intake/catalog/tests/test_gui.py"
93 "intake/catalog/tests/test_local.py"
94 "intake/catalog/tests/test_reload_integration.py"
95 "intake/source/tests/test_csv.py"
96 "intake/source/tests/test_derived.py"
97 "intake/source/tests/test_npy.py"
98 "intake/source/tests/test_text.py"
99 "intake/tests/test_config.py"
100 "intake/tests/test_top_level.py"
101 ];
102
103 disabledTests =
104 [
105 # Disable tests which touch network
106 "http"
107 "test_address_flag"
108 "test_dir"
109 "test_discover"
110 "test_filtered_compressed_cache"
111 "test_flatten_flag"
112 "test_get_dir"
113 "test_pagination"
114 "test_port_flag"
115 "test_read_part_compressed"
116 "test_read_partition"
117 "test_read_pattern"
118 "test_remote_arr"
119 "test_remote_cat"
120 "test_remote_env"
121 # ValueError
122 "test_datasource_python_to_dask"
123 "test_catalog_passthrough"
124 # Timing-based, flaky on darwin and possibly others
125 "test_idle_timer"
126 ]
127 ++ lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13")
128 [
129 # Flaky with older low-res mtime on darwin < 10.13 (#143987)
130 "test_second_load_timestamp"
131 ];
132
133 pythonImportsCheck = [ "intake" ];
134
135 meta = with lib; {
136 description = "Data load and catalog system";
137 homepage = "https://github.com/ContinuumIO/intake";
138 changelog = "https://github.com/intake/intake/blob/${version}/docs/source/changelog.rst";
139 license = licenses.bsd2;
140 maintainers = with maintainers; [ ];
141 };
142}