nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 aiodns,
4 aiohttp,
5 aiosqlite,
6 boto3,
7 buildPythonPackage,
8 fetchFromGitHub,
9 moto,
10 pytest-asyncio,
11 pytestCheckHook,
12 setuptools,
13 sqlalchemy,
14 websocket-client,
15 websockets,
16}:
17
18buildPythonPackage rec {
19 pname = "slack-sdk";
20 version = "3.39.0";
21 pyproject = true;
22
23 src = fetchFromGitHub {
24 owner = "slackapi";
25 repo = "python-slack-sdk";
26 tag = "v${version}";
27 hash = "sha256-c9MPcamxXPxWnj5OpJNME/PTHssOxOJP6zjSLu5cW7Y=";
28 };
29
30 build-system = [ setuptools ];
31
32 optional-dependencies.optional = [
33 aiodns
34 aiohttp
35 boto3
36 sqlalchemy
37 websocket-client
38 websockets
39 ];
40
41 pythonImportsCheck = [ "slack_sdk" ];
42
43 nativeCheckInputs = [
44 aiosqlite
45 moto
46 pytest-asyncio
47 pytestCheckHook
48 ]
49 ++ optional-dependencies.optional;
50
51 disabledTests = [
52 # Requires internet access (to slack API)
53 "test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
54 "test_send_message_while_disconnection"
55 "TestWebClient_HttpRetry"
56 "test_issue_690_oauth_access"
57 "test_issue_690_oauth_v2_access"
58 "test_error_response"
59 "test_issue_1441_mixing_user_and_bot_installations"
60 ];
61
62 disabledTestPaths = [
63 # Event loop issues
64 "tests/slack_sdk/oauth/installation_store/test_file.py"
65 "tests/slack_sdk/oauth/state_store/test_file.py"
66 ];
67
68 __darwinAllowLocalNetworking = true;
69
70 meta = {
71 description = "Slack Developer Kit for Python";
72 homepage = "https://slack.dev/python-slack-sdk/";
73 changelog = "https://github.com/slackapi/python-slack-sdk/releases/tag/v${version}";
74 license = lib.licenses.mit;
75 maintainers = with lib.maintainers; [ fab ];
76 };
77}