1{
2 lib,
3 aiobotocore,
4 aiohttp,
5 buildPythonPackage,
6 docutils,
7 fetchPypi,
8 fsspec,
9 pythonOlder,
10}:
11
12buildPythonPackage rec {
13 pname = "s3fs";
14 version = "2024.6.1";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-bCEG1sNPv7uI49IMbzVyiW1e49NRKJZpYwHCGjxUG+o=";
22 };
23
24 postPatch = ''
25 sed -i 's/fsspec==.*/fsspec/' requirements.txt
26 '';
27
28 buildInputs = [ docutils ];
29
30 propagatedBuildInputs = [
31 aiobotocore
32 aiohttp
33 fsspec
34 ];
35
36 # Depends on `moto` which has a long dependency chain with exact
37 # version requirements that can't be made to work with current
38 # pythonPackages.
39 doCheck = false;
40
41 pythonImportsCheck = [ "s3fs" ];
42
43 meta = with lib; {
44 description = "Pythonic file interface for S3";
45 homepage = "https://github.com/fsspec/s3fs";
46 changelog = "https://github.com/fsspec/s3fs/raw/${version}/docs/source/changelog.rst";
47 license = licenses.bsd3;
48 maintainers = with maintainers; [ teh ];
49 };
50}