diff --git a/pkgs/development/python-modules/aiomultiprocess/default.nix b/pkgs/development/python-modules/aiomultiprocess/default.nix new file mode 100644 index 000000000000..9b648d595379 --- /dev/null +++ b/pkgs/development/python-modules/aiomultiprocess/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "aiomultiprocess"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "omnilib"; + repo = pname; + rev = "v${version}"; + sha256 = "0vkj1vgvlv828pi3sn0hjzdy9f0j63gljs2ylibbsaixa7mbkpvy"; + }; + + checkInputs = [ pytestCheckHook ]; + + pytestFlagsArray = [ "aiomultiprocess/tests/*.py" ]; + pythonImportsCheck = [ "aiomultiprocess" ]; + + meta = with lib; { + description = "Python module to improve performance"; + longDescription = '' + aiomultiprocess presents a simple interface, while running a full + AsyncIO event loop on each child process, enabling levels of + concurrency never before seen in a Python application. Each child + process can execute multiple coroutines at once, limited only by + the workload and number of cores available. + ''; + homepage = "https://github.com/omnilib/aiomultiprocess"; + license = with licenses; [ mit ]; + maintainers = [ maintainers.fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cfb9ac52ccb1..4e48b424947e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -237,6 +237,8 @@ in { aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { }; + aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { }; + aiomysql = callPackage ../development/python-modules/aiomysql { }; aionotify = callPackage ../development/python-modules/aionotify { };