1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 requests,
8 matrix-client,
9 distro,
10 click,
11 typing-extensions,
12 matrix-nio,
13 pytestCheckHook,
14}:
15
16buildPythonPackage rec {
17 pname = "zulip";
18 version = "0.9.0";
19
20 disabled = pythonOlder "3.8";
21
22 pyproject = true;
23
24 # no sdist on PyPI
25 src = fetchFromGitHub {
26 owner = "zulip";
27 repo = "python-zulip-api";
28 rev = version;
29 hash = "sha256-YnNXduZ2KOjRHGwhojkqpMP2mwhflk8/f4FVZL8NvHU=";
30 };
31 sourceRoot = "${src.name}/zulip";
32
33 nativeBuildInputs = [ setuptools ];
34
35 propagatedBuildInputs = [
36 requests
37 distro
38 click
39 typing-extensions
40 ] ++ requests.optional-dependencies.security;
41
42 nativeCheckInputs = [
43 matrix-nio
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "zulip" ];
48
49 meta = with lib; {
50 description = "Bindings for the Zulip message API";
51 homepage = "https://github.com/zulip/python-zulip-api";
52 license = licenses.asl20;
53 maintainers = with maintainers; [ dotlambda ];
54 };
55}