btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / development / python-modules / gcsfs / default.nix
blob2cc70ba25e1bf712cdb6ca4129429ae73ce31d66
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   pytestCheckHook,
6   pythonOlder,
7   google-auth,
8   google-auth-oauthlib,
9   google-cloud-storage,
10   requests,
11   decorator,
12   fsspec,
13   ujson,
14   aiohttp,
15   crcmod,
16   pytest-timeout,
17   pytest-vcr,
18   vcrpy,
21 buildPythonPackage rec {
22   pname = "gcsfs";
23   version = "2024.2.0";
24   format = "setuptools";
26   disabled = pythonOlder "3.7";
28   src = fetchFromGitHub {
29     owner = "fsspec";
30     repo = pname;
31     rev = "refs/tags/${version}";
32     hash = "sha256-6O09lP2cWLzeMTBathb3O/tVGZPEHSqujfUPWZIBUJI=";
33   };
35   propagatedBuildInputs = [
36     aiohttp
37     crcmod
38     decorator
39     fsspec
40     google-auth
41     google-auth-oauthlib
42     google-cloud-storage
43     requests
44     ujson
45   ];
47   nativeCheckInputs = [
48     pytest-vcr
49     pytest-timeout
50     pytestCheckHook
51     vcrpy
52   ];
54   disabledTests = [
55     # Cannot connect to host storage.googleapis.com:443
56     "test_credentials_from_raw_token"
57   ];
59   disabledTestPaths = [
60     # Tests require a running Docker instance
61     "gcsfs/tests/test_core.py"
62     "gcsfs/tests/test_mapping.py"
63     "gcsfs/tests/test_retry.py"
64     "gcsfs/tests/derived/gcsfs_test.py"
65     "gcsfs/tests/test_inventory_report_listing.py"
66   ];
68   pytestFlagsArray = [ "-x" ];
70   pythonImportsCheck = [ "gcsfs" ];
72   meta = with lib; {
73     description = "Convenient Filesystem interface over GCS";
74     homepage = "https://github.com/fsspec/gcsfs";
75     changelog = "https://github.com/fsspec/gcsfs/raw/${version}/docs/source/changelog.rst";
76     license = licenses.bsd3;
77     maintainers = with maintainers; [ nbren12 ];
78   };