80 lines
1.5 KiB
Nix
80 lines
1.5 KiB
Nix
|
{
|
||
|
lib,
|
||
|
buildPythonPackage,
|
||
|
fetchFromGitHub,
|
||
|
pytestCheckHook,
|
||
|
pythonOlder,
|
||
|
google-auth,
|
||
|
google-auth-oauthlib,
|
||
|
google-cloud-storage,
|
||
|
requests,
|
||
|
decorator,
|
||
|
fsspec,
|
||
|
ujson,
|
||
|
aiohttp,
|
||
|
crcmod,
|
||
|
pytest-timeout,
|
||
|
pytest-vcr,
|
||
|
vcrpy,
|
||
|
}:
|
||
|
|
||
|
buildPythonPackage rec {
|
||
|
pname = "gcsfs";
|
||
|
version = "2024.2.0";
|
||
|
format = "setuptools";
|
||
|
|
||
|
disabled = pythonOlder "3.7";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "fsspec";
|
||
|
repo = pname;
|
||
|
rev = "refs/tags/${version}";
|
||
|
hash = "sha256-6O09lP2cWLzeMTBathb3O/tVGZPEHSqujfUPWZIBUJI=";
|
||
|
};
|
||
|
|
||
|
propagatedBuildInputs = [
|
||
|
aiohttp
|
||
|
crcmod
|
||
|
decorator
|
||
|
fsspec
|
||
|
google-auth
|
||
|
google-auth-oauthlib
|
||
|
google-cloud-storage
|
||
|
requests
|
||
|
ujson
|
||
|
];
|
||
|
|
||
|
nativeCheckInputs = [
|
||
|
pytest-vcr
|
||
|
pytest-timeout
|
||
|
pytestCheckHook
|
||
|
vcrpy
|
||
|
];
|
||
|
|
||
|
disabledTests = [
|
||
|
# Cannot connect to host storage.googleapis.com:443
|
||
|
"test_credentials_from_raw_token"
|
||
|
];
|
||
|
|
||
|
disabledTestPaths = [
|
||
|
# Tests require a running Docker instance
|
||
|
"gcsfs/tests/test_core.py"
|
||
|
"gcsfs/tests/test_mapping.py"
|
||
|
"gcsfs/tests/test_retry.py"
|
||
|
"gcsfs/tests/derived/gcsfs_test.py"
|
||
|
"gcsfs/tests/test_inventory_report_listing.py"
|
||
|
];
|
||
|
|
||
|
pytestFlagsArray = [ "-x" ];
|
||
|
|
||
|
pythonImportsCheck = [ "gcsfs" ];
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Convenient Filesystem interface over GCS";
|
||
|
homepage = "https://github.com/fsspec/gcsfs";
|
||
|
changelog = "https://github.com/fsspec/gcsfs/raw/${version}/docs/source/changelog.rst";
|
||
|
license = licenses.bsd3;
|
||
|
maintainers = with maintainers; [ nbren12 ];
|
||
|
};
|
||
|
}
|