2025-04-13 11:37:39 +00:00

59 lines
1.3 KiB
Nix

{
lib,
aiohttp,
async-timeout,
buildPythonPackage,
fetchFromGitHub,
pytest-aiohttp,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "aiojobs";
version = "1.4.0";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "aio-libs";
repo = "aiojobs";
tag = "v${version}";
hash = "sha256-MgGUmDG0b0V/k+mCeiVRnBxa+ChK3URnGv6P8QP7RzQ=";
};
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [ async-timeout ];
optional-dependencies = {
aiohttp = [ aiohttp ];
};
nativeCheckInputs = [
pytestCheckHook
pytest-aiohttp
pytest-cov-stub
] ++ lib.flatten (builtins.attrValues optional-dependencies);
pythonImportsCheck = [ "aiojobs" ];
disabledTests = [
# RuntimeWarning: coroutine 'Scheduler._wait_failed' was never awaited
"test_scheduler_must_be_created_within_running_loop"
];
__darwinAllowLocalNetworking = true;
meta = {
description = "Jobs scheduler for managing background task (asyncio)";
homepage = "https://github.com/aio-libs/aiojobs";
changelog = "https://github.com/aio-libs/aiojobs/blob/${src.tag}/CHANGES.rst";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ cmcdragonkai ];
};
}