nixpkgs/pkgs/development/python-modules/aiogram/default.nix

89 lines
1.6 KiB
Nix

{
lib,
aiofiles,
aiohttp,
aiohttp-socks,
aresponses,
babel,
buildPythonPackage,
certifi,
fetchFromGitHub,
gitUpdater,
hatchling,
magic-filter,
motor,
pycryptodomex,
pydantic,
pymongo,
pytest-aiohttp,
pytest-asyncio,
pytest-lazy-fixture,
pytestCheckHook,
pythonOlder,
pytz,
redis,
}:
buildPythonPackage rec {
pname = "aiogram";
version = "3.8.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "aiogram";
repo = "aiogram";
rev = "refs/tags/v${version}";
hash = "sha256-lqZnebFmNNSAOv3XcWHl+gtoWO7z27Zk0O6AJ7w+HDk=";
};
build-system = [ hatchling ];
pythonRelaxDeps = [ "pydantic" ];
dependencies = [
aiofiles
aiohttp
babel
certifi
magic-filter
pydantic
];
nativeCheckInputs = [
aiohttp-socks
aresponses
motor
pycryptodomex
pymongo
pytest-aiohttp
pytest-asyncio
pytest-lazy-fixture
pytestCheckHook
pytz
redis
];
pytestFlagsArray = [
"-W"
"ignore::pluggy.PluggyTeardownRaisedWarning"
"-W"
"ignore::pytest.PytestDeprecationWarning"
"-W"
"ignore::DeprecationWarning"
];
pythonImportsCheck = [ "aiogram" ];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = with lib; {
description = "Modern and fully asynchronous framework for Telegram Bot API";
homepage = "https://github.com/aiogram/aiogram";
changelog = "https://github.com/aiogram/aiogram/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ sikmir ];
};
}