1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pytestCheckHook
5, pythonOlder
6, google-auth
7, google-auth-oauthlib
8, google-cloud-storage
9, requests
10, decorator
11, fsspec
12, ujson
13, aiohttp
14, crcmod
15, pytest-timeout
16, pytest-vcr
17, vcrpy
18}:
19
20buildPythonPackage rec {
21 pname = "gcsfs";
22 version = "2023.4.0";
23 format = "setuptools";
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchFromGitHub {
28 owner = "fsspec";
29 repo = pname;
30 rev = "refs/tags/${version}";
31 hash = "sha256-FHS+g0SuYH9OPiE/+p2SHrsWfzBQ82GM6hTph8koh+o=";
32 };
33
34 propagatedBuildInputs = [
35 aiohttp
36 crcmod
37 decorator
38 fsspec
39 google-auth
40 google-auth-oauthlib
41 google-cloud-storage
42 requests
43 ujson
44 ];
45
46 nativeCheckInputs = [
47 pytest-vcr
48 pytest-timeout
49 pytestCheckHook
50 vcrpy
51 ];
52
53 disabledTestPaths = [
54 # Tests require a running Docker instance
55 "gcsfs/tests/test_core.py"
56 "gcsfs/tests/test_mapping.py"
57 "gcsfs/tests/test_retry.py"
58 ];
59
60 pytestFlagsArray = [
61 "-x"
62 ];
63
64 pythonImportsCheck = [
65 "gcsfs"
66 ];
67
68 meta = with lib; {
69 description = "Convenient Filesystem interface over GCS";
70 homepage = "https://github.com/fsspec/gcsfs";
71 changelog = "https://github.com/fsspec/gcsfs/raw/${version}/docs/source/changelog.rst";
72 license = licenses.bsd3;
73 maintainers = with maintainers; [ nbren12 ];
74 };
75}