1{ lib 2, stdenv 3, aiohttp 4, boto3 5, buildPythonPackage 6, fetchFromGitHub 7, flask 8, flask-sockets 9, pythonOlder 10, mock 11, moto 12, psutil 13, pytest-mock 14, pytestCheckHook 15, requests 16, responses 17, sqlalchemy 18, websockets 19, websocket-client 20}: 21 22buildPythonPackage rec { 23 pname = "slackclient"; 24 version = "3.23.0"; 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 hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk="; 34 }; 35 36 propagatedBuildInputs = [ 37 aiohttp 38 websocket-client 39 requests 40 ]; 41 42 nativeCheckInputs = [ 43 boto3 44 flask 45 flask-sockets 46 mock 47 moto 48 psutil 49 pytest-mock 50 pytestCheckHook 51 responses 52 sqlalchemy 53 websockets 54 ]; 55 56 pytestFlagsArray = [ 57 # Exclude tests that requires network features 58 "--ignore=integration_tests" 59 ]; 60 61 preCheck = '' 62 export HOME=$(mktemp -d) 63 ''; 64 65 disabledTests = [ 66 "test_start_raises_an_error_if_rtm_ws_url_is_not_returned" 67 "test_interactions" 68 "test_send_message_while_disconnection" 69 ] ++ lib.optionals stdenv.isDarwin [ 70 # these fail with `ConnectionResetError: [Errno 54] Connection reset by peer` 71 "test_issue_690_oauth_access" 72 "test_issue_690_oauth_v2_access" 73 "test_send" 74 "test_send_attachments" 75 "test_send_blocks" 76 "test_send_dict" 77 ]; 78 79 pythonImportsCheck = [ 80 "slack" 81 ]; 82 83 meta = with lib; { 84 description = "A client for Slack, which supports the Slack Web API and Real Time Messaging (RTM) API"; 85 homepage = "https://github.com/slackapi/python-slackclient"; 86 changelog = "https://github.com/slackapi/python-slack-sdk/releases/tag/v${version}"; 87 license = licenses.mit; 88 maintainers = with maintainers; [ flokli psyanticy ]; 89 }; 90}