nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, stdenv
3, buildPythonPackage
4, fetchFromGitHub
5, pythonOlder
6, pytestCheckHook
7, numpy
8, aiohttp
9, pytest-vcr
10, pytest-mock
11, pytest-asyncio
12, requests
13, paramiko
14, smbprotocol
15}:
16
17buildPythonPackage rec {
18 pname = "fsspec";
19 version = "2022.3.0";
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "intake";
24 repo = "filesystem_spec";
25 rev = version;
26 sha256 = "sha256-jTF8R0kaHMsCYg+7YFi21Homn63K+ulp9NDZC/jkIXM=";
27 };
28
29 propagatedBuildInputs = [
30 aiohttp
31 paramiko
32 requests
33 smbprotocol
34 ];
35
36 checkInputs = [
37 numpy
38 pytest-vcr
39 pytest-mock
40 pytest-asyncio
41 pytestCheckHook
42 ];
43
44 __darwinAllowLocalNetworking = true;
45
46 disabledTests = [
47 # Test assumes user name is part of $HOME
48 # AssertionError: assert 'nixbld' in '/homeless-shelter/foo/bar'
49 "test_strip_protocol_expanduser"
50 # test accesses this remote ftp server:
51 # https://ftp.fau.de/debian-cd/current/amd64/log/success
52 "test_find"
53 ] ++ lib.optionals (stdenv.isDarwin) [
54 # works locally on APFS, fails on hydra with AssertionError comparing timestamps
55 # darwin hydra builder uses HFS+ and has only one second timestamp resolution
56 # this two tests however, assume nanosecond resolution
57 "test_modified"
58 "test_touch"
59 ];
60
61 pythonImportsCheck = [ "fsspec" ];
62
63 meta = with lib; {
64 homepage = "https://github.com/intake/filesystem_spec";
65 description = "A specification that Python filesystems should adhere to";
66 changelog = "https://github.com/fsspec/filesystem_spec/raw/${version}/docs/source/changelog.rst";
67 license = licenses.bsd3;
68 maintainers = [ maintainers.costrouc ];
69 };
70}