1{
2 lib,
3 buildPythonPackage,
4 defusedxml,
5 fetchPypi,
6 packaging,
7 pytestCheckHook,
8 pythonOlder,
9 requests,
10 requests-mock,
11 setuptools,
12 typing-extensions,
13 versioneer,
14}:
15
16buildPythonPackage rec {
17 pname = "tableauserverclient";
18 version = "0.34";
19 pyproject = true;
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-0I0HLPCrA5LoGOnspIDeAp5x7jzR4S9dWitpGw0AzbA=";
26 };
27
28 postPatch = ''
29 # Remove vendorized versioneer
30 rm versioneer.py
31 '';
32
33 pythonRelaxDeps = [
34 "defusedxml"
35 "urllib3"
36 ];
37
38 build-system = [
39 setuptools
40 versioneer
41 ];
42
43 dependencies = [
44 defusedxml
45 requests
46 packaging
47 typing-extensions
48 ];
49
50 nativeCheckInputs = [
51 requests-mock
52 pytestCheckHook
53 ];
54
55 # Tests attempt to create some file artifacts and fails
56 doCheck = false;
57
58 pythonImportsCheck = [ "tableauserverclient" ];
59
60 meta = with lib; {
61 description = "Module for working with the Tableau Server REST API";
62 homepage = "https://github.com/tableau/server-client-python";
63 changelog = "https://github.com/tableau/server-client-python/releases/tag/v${version}";
64 license = licenses.mit;
65 maintainers = [ ];
66 };
67}