1{
2 lib,
3 aiooss2,
4 buildPythonPackage,
5 fetchFromGitHub,
6 fsspec,
7 oss2,
8 pythonOlder,
9 pythonRelaxDepsHook,
10 setuptools-scm,
11}:
12
13buildPythonPackage rec {
14 pname = "ossfs";
15 version = "2023.12.0";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "fsspec";
22 repo = pname;
23 rev = "refs/tags/${version}";
24 hash = "sha256-N1NkpI8inGJCf0xuc+FFmVX85CS7vqzoNddxZ9kqEk0=";
25 };
26
27 pythonRelaxDeps = [
28 "aiooss2"
29 "fsspec"
30 "oss2"
31 ];
32
33 nativeBuildInputs = [
34 pythonRelaxDepsHook
35 setuptools-scm
36 ];
37
38 propagatedBuildInputs = [
39 aiooss2
40 fsspec
41 oss2
42 ];
43
44 # Most tests require network access
45 doCheck = false;
46
47 pythonImportsCheck = [ "ossfs" ];
48
49 meta = with lib; {
50 description = "Filesystem for Alibaba Cloud (Aliyun) Object Storage System (OSS)";
51 homepage = "https://github.com/fsspec/ossfs";
52 changelog = "https://github.com/fsspec/ossfs/releases/tag/${version}";
53 license = licenses.asl20;
54 maintainers = with maintainers; [ fab ];
55 };
56}