1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchFromGitHub,
6 flit-core,
7 mock,
8 pytestCheckHook,
9 pytest-asyncio,
10 pytest-vcr,
11 pythonOlder,
12 requests,
13 requests-toolbelt,
14 testfixtures,
15 vcrpy,
16 yarl,
17}:
18
19buildPythonPackage rec {
20 pname = "asyncprawcore";
21 version = "2.4.0";
22 pyproject = true;
23
24 disabled = pythonOlder "3.8";
25
26 src = fetchFromGitHub {
27 owner = "praw-dev";
28 repo = "asyncprawcore";
29 tag = "v${version}";
30 hash = "sha256-FDQdtnNjsbiEp9BUYdQFMC/hkyJDhCh2WHhQWSQwrFY=";
31 };
32
33 nativeBuildInputs = [ flit-core ];
34
35 propagatedBuildInputs = [
36 requests
37 aiohttp
38 yarl
39 ];
40
41 nativeCheckInputs = [
42 testfixtures
43 mock
44 requests-toolbelt
45 pytestCheckHook
46 pytest-asyncio
47 pytest-vcr
48 vcrpy
49 ];
50
51 disabledTestPaths = [
52 # Ignored due to error with request cannot pickle 'BufferedReader' instances
53 # Upstream issue: https://github.com/kevin1024/vcrpy/issues/737
54 "tests/integration/test_sessions.py"
55 ];
56
57 pythonImportsCheck = [ "asyncprawcore" ];
58
59 meta = {
60 description = "Low-level asynchronous communication layer for Async PRAW";
61 homepage = "https://asyncpraw.readthedocs.io/";
62 changelog = "https://github.com/praw-dev/asyncprawcore/blob/v${version}/CHANGES.rst";
63 license = lib.licenses.bsd2;
64 maintainers = [ lib.maintainers.amadejkastelic ];
65 };
66}