84 lines
1.6 KiB
Nix
84 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
pytestCheckHook,
|
|
pythonOlder,
|
|
setuptools,
|
|
google-auth,
|
|
google-auth-oauthlib,
|
|
google-cloud-storage,
|
|
requests,
|
|
decorator,
|
|
fsspec,
|
|
fusepy,
|
|
aiohttp,
|
|
crcmod,
|
|
pytest-timeout,
|
|
pytest-asyncio,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "gcsfs";
|
|
version = "2025.3.2";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.9";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "fsspec";
|
|
repo = "gcsfs";
|
|
tag = version;
|
|
hash = "sha256-aXBlj9ej3Ya7h4x/akl/iX6dDS/SgkkEsOQ2E9KmCDU=";
|
|
};
|
|
|
|
build-system = [
|
|
setuptools
|
|
];
|
|
|
|
dependencies = [
|
|
aiohttp
|
|
decorator
|
|
fsspec
|
|
google-auth
|
|
google-auth-oauthlib
|
|
google-cloud-storage
|
|
requests
|
|
];
|
|
|
|
optional-dependencies = {
|
|
gcsfuse = [ fusepy ];
|
|
crc = [ crcmod ];
|
|
};
|
|
|
|
nativeCheckInputs = [
|
|
pytest-timeout
|
|
pytest-asyncio
|
|
pytestCheckHook
|
|
];
|
|
|
|
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"
|
|
];
|
|
|
|
pythonImportsCheck = [ "gcsfs" ];
|
|
|
|
meta = {
|
|
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 = lib.licenses.bsd3;
|
|
maintainers = with lib.maintainers; [ nbren12 ];
|
|
};
|
|
}
|