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