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