1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, pytestCheckHook
6, numpy
7, stdenv
8, aiohttp
9, pytest-vcr
10, requests
11}:
12
13buildPythonPackage rec {
14 pname = "fsspec";
15 version = "2021.04.0";
16 disabled = pythonOlder "3.5";
17
18 src = fetchFromGitHub {
19 owner = "intake";
20 repo = "filesystem_spec";
21 rev = version;
22 sha256 = "sha256-9072kb1VEQ0xg9hB8yEzJMD2Ttd3UGjBmTuhE+Uya1k=";
23 };
24
25 checkInputs = [ pytestCheckHook numpy pytest-vcr ];
26
27 __darwinAllowLocalNetworking = true;
28
29 propagatedBuildInputs = [ aiohttp requests ];
30
31 disabledTests = [
32 # Test assumes user name is part of $HOME
33 # AssertionError: assert 'nixbld' in '/homeless-shelter/foo/bar'
34 "test_strip_protocol_expanduser"
35 # test accesses this remote ftp server:
36 # https://ftp.fau.de/debian-cd/current/amd64/log/success
37 "test_find"
38 ] ++ lib.optionals (stdenv.isDarwin) [
39 # works locally on APFS, fails on hydra with AssertionError comparing timestamps
40 # darwin hydra builder uses HFS+ and has only one second timestamp resolution
41 # this two tests however, assume nanosecond resolution
42 "test_modified"
43 "test_touch"
44 ];
45
46 meta = with lib; {
47 description = "A specification that python filesystems should adhere to";
48 homepage = "https://github.com/intake/filesystem_spec";
49 license = licenses.bsd3;
50 maintainers = [ maintainers.costrouc ];
51 };
52}