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