1{
2 lib,
3 aiofiles,
4 aiohttp,
5 aiosqlite,
6 asyncprawcore,
7 buildPythonPackage,
8 fetchFromGitHub,
9 flit-core,
10 mock,
11 pytestCheckHook,
12 pytest-asyncio_0,
13 pytest-vcr,
14 pythonOlder,
15 requests-toolbelt,
16 update-checker,
17 vcrpy,
18}:
19
20buildPythonPackage rec {
21 pname = "asyncpraw";
22 version = "7.8.1";
23 pyproject = true;
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchFromGitHub {
28 owner = "praw-dev";
29 repo = "asyncpraw";
30 tag = "v${version}";
31 hash = "sha256-glWAQoUjMFbjU3C4+MGuRGSGJS9mun15+6udMPCf9nU=";
32 };
33
34 pythonRelaxDeps = [ "aiosqlite" ];
35
36 # 'aiosqlite' is also checked when building the wheel
37 pypaBuildFlags = [ "--skip-dependency-check" ];
38
39 build-system = [ flit-core ];
40
41 dependencies = [
42 aiofiles
43 aiohttp
44 aiosqlite
45 asyncprawcore
46 mock
47 update-checker
48 ];
49
50 nativeCheckInputs = [
51 pytestCheckHook
52 pytest-asyncio_0
53 pytest-vcr
54 vcrpy
55 requests-toolbelt
56 ];
57
58 disabledTestPaths = [
59 # Ignored due to error with request cannot pickle 'BufferedReader' instances
60 # Upstream issue: https://github.com/kevin1024/vcrpy/issues/737
61 "tests/integration/models/reddit/test_emoji.py"
62 "tests/integration/models/reddit/test_submission.py"
63 "tests/integration/models/reddit/test_subreddit.py"
64 "tests/integration/models/reddit/test_widgets.py"
65 "tests/integration/models/reddit/test_wikipage.py"
66 ];
67
68 pythonImportsCheck = [ "asyncpraw" ];
69
70 meta = {
71 description = "Asynchronous Python Reddit API Wrapper";
72 homepage = "https://asyncpraw.readthedocs.io/";
73 changelog = "https://github.com/praw-dev/asyncpraw/blob/v${version}/CHANGES.rst";
74 license = lib.licenses.bsd2;
75 maintainers = [ lib.maintainers.amadejkastelic ];
76 };
77}