nixpkgs/pkgs/development/python-modules/aiomisc/default.nix
2024-04-20 08:06:53 +00:00

82 lines
1.6 KiB
Nix

{
lib,
stdenv,
aiocontextvars,
aiohttp,
async-timeout,
buildPythonPackage,
colorlog,
croniter,
fastapi,
fetchPypi,
logging-journald,
poetry-core,
pytestCheckHook,
pythonOlder,
raven,
rich,
setproctitle,
typing-extensions,
uvloop,
}:
buildPythonPackage rec {
pname = "aiomisc";
version = "17.5.6";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-oq4z+ULN6VYkXX4Oz/JqKZSIh55AHOxFJVLyaNGqaNA=";
};
build-system = [ poetry-core ];
dependencies =
[ colorlog ]
++ lib.optionals (pythonOlder "3.11") [ typing-extensions ]
++ lib.optionals stdenv.isLinux [ logging-journald ];
nativeCheckInputs = [
aiocontextvars
async-timeout
fastapi
pytestCheckHook
setproctitle
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
passthru.optional-dependencies = {
aiohttp = [ aiohttp ];
#asgi = [ aiohttp-asgi ];
cron = [ croniter ];
#carbon = [ aiocarbon ];
raven = [
aiohttp
raven
];
rich = [ rich ];
uvloop = [ uvloop ];
};
pythonImportsCheck = [ "aiomisc" ];
# Upstream stopped tagging with 16.2
doCheck = false;
# disabledTestPaths = [
# # Dependencies are not available at the moment
# "tests/test_entrypoint.py"
# "tests/test_raven_service.py"
# ];
meta = with lib; {
description = "Miscellaneous utils for asyncio";
homepage = "https://github.com/aiokitchen/aiomisc";
changelog = "https://github.com/aiokitchen/aiomisc/blob/master/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}