1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, flit-core
6, importlib-metadata
7, typing-extensions
8, cloudpathlib
9, azure-storage-blob
10, google-cloud-storage
11, boto3
12, psutil
13, pydantic
14, pytestCheckHook
15, pytest-cases
16, pytest-cov
17, pytest-xdist
18, python-dotenv
19, shortuuid
20}:
21
22buildPythonPackage rec {
23 pname = "cloudpathlib";
24 version = "0.16.0";
25 pyproject = true;
26
27 disabled = pythonOlder "3.7";
28
29 src = fetchFromGitHub {
30 owner = "drivendataorg";
31 repo = "cloudpathlib";
32 rev = "v${version}";
33 hash = "sha256-d4CbzPy3H5HQ4YmSRCRMEYaTpwB7F0Bznd26aKWiHTA=";
34 };
35
36 nativeBuildInputs = [
37 flit-core
38 ];
39
40 propagatedBuildInputs = [
41 importlib-metadata
42 typing-extensions
43 ];
44
45 passthru.optional-dependencies = {
46 all = [
47 cloudpathlib
48 ];
49 azure = [
50 azure-storage-blob
51 ];
52 gs = [
53 google-cloud-storage
54 ];
55 s3 = [
56 boto3
57 ];
58 };
59
60 pythonImportsCheck = [ "cloudpathlib" ];
61
62 nativeCheckInputs = [
63 azure-storage-blob
64 boto3
65 google-cloud-storage
66 psutil
67 pydantic
68 pytestCheckHook
69 pytest-cases
70 pytest-cov
71 pytest-xdist
72 python-dotenv
73 shortuuid
74 ];
75
76 meta = with lib; {
77 description = "Python pathlib-style classes for cloud storage services such as Amazon S3, Azure Blob Storage, and Google Cloud Storage";
78 homepage = "https://github.com/drivendataorg/cloudpathlib";
79 license = licenses.mit;
80 maintainers = with maintainers; [ GaetanLepage ];
81 };
82}