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