1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 flit-core, 6 pytestCheckHook, 7 pythonOlder, 8}: 9 10buildPythonPackage rec { 11 pname = "aiomultiprocess"; 12 version = "0.9.1"; 13 pyproject = true; 14 15 disabled = pythonOlder "3.6"; 16 17 src = fetchFromGitHub { 18 owner = "omnilib"; 19 repo = "aiomultiprocess"; 20 tag = "v${version}"; 21 hash = "sha256-LWrAr3i2CgOMZFxWi9B3kiou0UtaHdDbpkr6f9pReRA="; 22 }; 23 24 build-system = [ flit-core ]; 25 26 nativeCheckInputs = [ pytestCheckHook ]; 27 28 enabledTestPaths = [ "aiomultiprocess/tests/*.py" ]; 29 30 disabledTests = [ 31 # tests are flaky and make the whole test suite time out 32 "test_pool_worker_exceptions" 33 "test_pool_worker_max_tasks" 34 "test_pool_worker_stop" 35 # error message changed with python 3.12 36 "test_spawn_method" 37 ]; 38 39 pythonImportsCheck = [ "aiomultiprocess" ]; 40 41 meta = with lib; { 42 description = "Python module to improve performance"; 43 longDescription = '' 44 aiomultiprocess presents a simple interface, while running a full 45 AsyncIO event loop on each child process, enabling levels of 46 concurrency never before seen in a Python application. Each child 47 process can execute multiple coroutines at once, limited only by 48 the workload and number of cores available. 49 ''; 50 homepage = "https://github.com/omnilib/aiomultiprocess"; 51 license = with licenses; [ mit ]; 52 maintainers = [ maintainers.fab ]; 53 }; 54}