1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, requests
6, setuptools
7, six
8, stone
9, mock
10, pytest-mock
11, pytestCheckHook
12, sphinxHook
13}:
14
15buildPythonPackage rec {
16 pname = "dropbox";
17 version = "11.35.0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21 outputs = ["out" "doc"];
22
23 src = fetchFromGitHub {
24 owner = "dropbox";
25 repo = "dropbox-sdk-python";
26 rev = "refs/tags/v${version}";
27 hash = "sha256-vrOqsRe2sBsL5CIfGCmoO3geE9G0FJl88HRcP6FzZe0=";
28 };
29
30 propagatedBuildInputs = [
31 requests
32 setuptools
33 six
34 stone
35 ];
36
37 checkInputs = [
38 mock
39 pytest-mock
40 pytestCheckHook
41 ];
42
43 postPatch = ''
44 substituteInPlace setup.py \
45 --replace "'pytest-runner == 5.2.0'," ""
46 '';
47
48 doCheck = true;
49
50 pythonImportsCheck = [
51 "dropbox"
52 ];
53 nativeBuildInputs = [ sphinxHook ];
54
55 # Set SCOPED_USER_DROPBOX_TOKEN environment variable to a valid value.
56 disabledTests = [
57 "test_default_oauth2_urls"
58 "test_bad_auth"
59 "test_multi_auth"
60 "test_refresh"
61 "test_app_auth"
62 "test_downscope"
63 "test_rpc"
64 "test_upload_download"
65 "test_bad_upload_types"
66 "test_clone_when_user_linked"
67 "test_with_path_root_constructor"
68 "test_path_root"
69 "test_path_root_err"
70 "test_versioned_route"
71 "test_team"
72 "test_as_user"
73 "test_as_admin"
74 "test_clone_when_team_linked"
75 ];
76
77 meta = with lib; {
78 description = "Python library for Dropbox's HTTP-based Core and Datastore APIs";
79 homepage = "https://github.com/dropbox/dropbox-sdk-python";
80 license = licenses.mit;
81 maintainers = with maintainers; [ sfrijters ];
82 };
83}