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