1{ stdenv
2, lib
3, aiodns
4, aiohttp
5, boto3
6, buildPythonPackage
7, codecov
8, databases
9, fetchFromGitHub
10, flake8
11, flask-sockets
12, moto
13, pythonOlder
14, psutil
15, pytest-asyncio
16, pytestCheckHook
17, sqlalchemy
18, websocket-client
19, websockets
20}:
21
22buildPythonPackage rec {
23 pname = "slack-sdk";
24 version = "3.19.3";
25 format = "setuptools";
26
27 disabled = pythonOlder "3.6";
28
29 src = fetchFromGitHub {
30 owner = "slackapi";
31 repo = "python-slack-sdk";
32 rev = "refs/tags/v${version}";
33 sha256 = "sha256-iWDKF4FZJPL6wHxVbvj2zlY0sqpBMXki9e7uuysX1o0=";
34 };
35
36 propagatedBuildInputs = [
37 aiodns
38 aiohttp
39 boto3
40 sqlalchemy
41 websocket-client
42 websockets
43 ];
44
45 checkInputs = [
46 codecov
47 databases
48 flake8
49 flask-sockets
50 moto
51 psutil
52 pytest-asyncio
53 pytestCheckHook
54 ];
55
56 preCheck = ''
57 export HOME=$(mktemp -d)
58 '';
59
60 disabledTestPaths = [
61 # Exclude tests that requires network features
62 "integration_tests"
63 ];
64
65 disabledTests = [
66 # Requires network features
67 "test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
68 "test_org_installation"
69 "test_interactions"
70 ];
71
72 pythonImportsCheck = [
73 "slack_sdk"
74 ];
75
76 meta = with lib; {
77 description = "Slack Developer Kit for Python";
78 homepage = "https://slack.dev/python-slack-sdk/";
79 license = with licenses; [ mit ];
80 maintainers = with maintainers; [ fab ];
81 };
82}