1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, pytestCheckHook
6, numpy
7, stdenv
8, isPy38
9}:
10
11buildPythonPackage rec {
12 pname = "fsspec";
13 version = "0.8.3";
14 disabled = pythonOlder "3.5";
15
16 src = fetchFromGitHub {
17 owner = "intake";
18 repo = "filesystem_spec";
19 rev = version;
20 sha256 = "0mfy0wxjfwwnp5q2afhhfbampf0fk71wsv512pi9yvrkzzfi1hga";
21 };
22
23 checkInputs = [
24 pytestCheckHook
25 numpy
26 ];
27
28 disabledTests = [
29 # Test assumes user name is part of $HOME
30 # AssertionError: assert 'nixbld' in '/homeless-shelter/foo/bar'
31 "test_strip_protocol_expanduser"
32 # flaky: works locally but fails on hydra
33 # as it uses the install dir for tests instead of a temp dir
34 # resolved in https://github.com/intake/filesystem_spec/issues/432 and
35 # can be enabled again from version 0.8.4
36 "test_pathobject"
37 ] ++ lib.optionals (stdenv.isDarwin) [
38 # works locally on APFS, fails on hydra with AssertionError comparing timestamps
39 # darwin hydra builder uses HFS+ and has only one second timestamp resolution
40 # this two tests however, assume nanosecond resolution
41 "test_modified"
42 "test_touch"
43 ];
44
45 meta = with lib; {
46 description = "A specification that python filesystems should adhere to";
47 homepage = "https://github.com/intake/filesystem_spec";
48 license = licenses.bsd3;
49 maintainers = [ maintainers.costrouc ];
50 };
51}