1{ lib
2, stdenv
3, aiohttp
4, buildPythonPackage
5, codecov
6, fetchFromGitHub
7, flake8
8, isPy3k
9, mock
10, psutil
11, pytest-cov
12, pytest-mock
13, pytestCheckHook
14, pytest-runner
15, requests
16, responses
17, six
18, websocket-client
19}:
20
21buildPythonPackage rec {
22 pname = "slackclient";
23 version = "2.9.3";
24
25 disabled = !isPy3k;
26
27 src = fetchFromGitHub {
28 owner = "slackapi";
29 repo = "python-slack-sdk";
30 rev = "v${version}";
31 sha256 = "1rfb7izgddv28ag37gdnv3sd8z2zysrxs7ad8x20x690zshpaq16";
32 };
33
34 propagatedBuildInputs = [
35 aiohttp
36 websocket-client
37 requests
38 six
39 ];
40
41 checkInputs = [
42 codecov
43 flake8
44 mock
45 psutil
46 pytest-cov
47 pytest-mock
48 pytestCheckHook
49 pytest-runner
50 responses
51 ];
52
53 # Exclude tests that requires network features
54 pytestFlagsArray = [ "--ignore=integration_tests" ];
55
56 disabledTests = [
57 "test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
58 ] ++ lib.optionals stdenv.isDarwin [
59 # these fail with `ConnectionResetError: [Errno 54] Connection reset by peer`
60 "test_issue_690_oauth_access"
61 "test_issue_690_oauth_v2_access"
62 "test_send"
63 "test_send_attachments"
64 "test_send_blocks"
65 "test_send_dict"
66 ];
67
68 pythonImportsCheck = [ "slack" ];
69
70 meta = with lib; {
71 description = "A client for Slack, which supports the Slack Web API and Real Time Messaging (RTM) API";
72 homepage = "https://github.com/slackapi/python-slackclient";
73 license = licenses.mit;
74 maintainers = with maintainers; [ flokli psyanticy ];
75 };
76}