depot/third_party/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
Default email 587713944a Project import generated by Copybara.
GitOrigin-RevId: 6143fc5eeb9c4f00163267708e26191d1e918932
2024-04-21 17:54:59 +02:00

171 lines
2.9 KiB
Nix
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ lib
, stdenv
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, numpy
, paramiko
, pytest-asyncio
, pytest-mock
, pytest-vcr
, pytestCheckHook
, pythonOlder
, requests
, smbprotocol
, tqdm
, adlfs
, dask
, distributed
, dropbox
, fusepy
, gcsfs
, libarchive-c
, ocifs
, panel
, pyarrow
, pygit2
, s3fs
}:
buildPythonPackage rec {
pname = "fsspec";
version = "2024.3.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "fsspec";
repo = "filesystem_spec";
rev = "refs/tags/${version}";
hash = "sha256-C+47BcIELZTEARXW8fAMHMjyKUWxU1tNKWGoPPtt/fQ=";
};
propagatedBuildInputs = [
aiohttp
paramiko
requests
smbprotocol
tqdm
];
passthru.optional-dependencies = {
entrypoints = [
];
abfs = [
adlfs
];
adl = [
adlfs
];
dask = [
dask
distributed
];
dropbox = [
# missing dropboxdrivefs
requests
dropbox
];
gcs = [
gcsfs
];
git = [
pygit2
];
github = [
requests
];
gs = [
gcsfs
];
hdfs = [
pyarrow
];
arrow = [
pyarrow
];
http = [
aiohttp
requests
];
sftp = [
paramiko
];
s3 = [
s3fs
];
oci = [
ocifs
];
smb = [
smbprotocol
];
ssh = [
paramiko
];
fuse = [
fusepy
];
libarchive = [
libarchive-c
];
gui = [
panel
];
tqdm = [
tqdm
];
};
nativeCheckInputs = [
numpy
pytest-asyncio
pytest-mock
pytest-vcr
pytestCheckHook
];
preCheck = ''
export HOME=$(mktemp -d)
'';
__darwinAllowLocalNetworking = true;
disabledTests = [
# Test assumes user name is part of $HOME
# AssertionError: assert 'nixbld' in '/homeless-shelter/foo/bar'
"test_strip_protocol_expanduser"
# test accesses this remote ftp server:
# https://ftp.fau.de/debian-cd/current/amd64/log/success
"test_find"
# Tests want to access S3
"test_urlpath_inference_errors"
"test_mismatch"
] ++ lib.optionals (stdenv.isDarwin) [
# works locally on APFS, fails on hydra with AssertionError comparing timestamps
# darwin hydra builder uses HFS+ and has only one second timestamp resolution
# this two tests however, assume nanosecond resolution
"test_modified"
"test_touch"
# tries to access /home, ignores $HOME
"test_directories"
];
disabledTestPaths = [
# JSON decoding issues
"fsspec/implementations/tests/test_dbfs.py"
];
pythonImportsCheck = [
"fsspec"
];
meta = with lib; {
description = "A specification that Python filesystems should adhere to";
homepage = "https://github.com/fsspec/filesystem_spec";
changelog = "https://github.com/fsspec/filesystem_spec/raw/${version}/docs/source/changelog.rst";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};
}