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