Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / cloudpathlib / default.nix
blobae22d4bcafbfa2db2d1e420ea23fa614d9217f9b
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
22 buildPythonPackage rec {
23   pname = "cloudpathlib";
24   version = "0.16.0";
25   pyproject = true;
27   disabled = pythonOlder "3.7";
29   src = fetchFromGitHub {
30     owner = "drivendataorg";
31     repo = "cloudpathlib";
32     rev = "v${version}";
33     hash = "sha256-d4CbzPy3H5HQ4YmSRCRMEYaTpwB7F0Bznd26aKWiHTA=";
34   };
36   nativeBuildInputs = [
37     flit-core
38   ];
40   propagatedBuildInputs = [
41     importlib-metadata
42     typing-extensions
43   ];
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   };
60   pythonImportsCheck = [ "cloudpathlib" ];
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   ];
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   };