1{
2 lib,
3 betamax-matchers,
4 betamax-serializers,
5 betamax,
6 buildPythonPackage,
7 fetchFromGitHub,
8 flit-core,
9 mock,
10 prawcore,
11 pytestCheckHook,
12 pythonOlder,
13 requests-toolbelt,
14 update-checker,
15 websocket-client,
16}:
17
18buildPythonPackage rec {
19 pname = "praw";
20 version = "7.8.1";
21 pyproject = true;
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "praw-dev";
27 repo = "praw";
28 tag = "v${version}";
29 hash = "sha256-jxF7rlMwKIKwyYv35vYWAdtClsVhnIkywoyMQeggGBc=";
30 };
31
32 build-system = [ flit-core ];
33
34 dependencies = [
35 mock
36 prawcore
37 update-checker
38 websocket-client
39 ];
40
41 nativeCheckInputs = [
42 betamax
43 betamax-serializers
44 betamax-matchers
45 pytestCheckHook
46 requests-toolbelt
47 ];
48
49 disabledTestPaths = [
50 # tests requiring network
51 "tests/integration"
52 ];
53
54 pythonImportsCheck = [ "praw" ];
55
56 meta = with lib; {
57 description = "Python Reddit API wrapper";
58 homepage = "https://praw.readthedocs.org/";
59 changelog = "https://github.com/praw-dev/praw/blob/v${version}/CHANGES.rst";
60 license = licenses.bsd2;
61 maintainers = with maintainers; [ fab ];
62 };
63}