1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 hatchling,
7 pytest-asyncio,
8 pytestCheckHook,
9 pythonOlder,
10}:
11
12buildPythonPackage rec {
13 pname = "aiofiles";
14 version = "24.1.0";
15 pyproject = true;
16
17 disabled = pythonOlder "3.8";
18
19 src = fetchFromGitHub {
20 owner = "Tinche";
21 repo = "aiofiles";
22 tag = "v${version}";
23 hash = "sha256-uDKDMSNbMIlAaifpEBh1+q2bdZNUia8pPb30IOIgOAE=";
24 };
25
26 build-system = [ hatchling ];
27
28 nativeCheckInputs = [
29 pytest-asyncio
30 pytestCheckHook
31 ];
32
33 disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
34 "test_sendfile_file"
35
36 # require loopback networking:
37 "test_sendfile_socket"
38 "test_serve_small_bin_file_sync"
39 "test_serve_small_bin_file"
40 "test_slow_file"
41 ];
42
43 pythonImportsCheck = [ "aiofiles" ];
44
45 meta = with lib; {
46 description = "File support for asyncio";
47 homepage = "https://github.com/Tinche/aiofiles";
48 changelog = "https://github.com/Tinche/aiofiles/releases/tag/v${version}";
49 license = licenses.asl20;
50 maintainers = with maintainers; [ ];
51 };
52}