nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
Robert Schütz 1a04744f74 treewide: remove superfluous disabled
There is no need to disable Python packages for Python versions that are
no longer in Nixpkgs.
This change was generated using the following script:

    pattern='^\s*disabled\s*=\s*pythonOlder\s*"3\.\([0-9]\|10\)"\s*;\s*$'
    for f in $(find -name '*.nix'); do
        grep -q "$pattern" "$f" || continue
        sed -i "/$pattern/d" "$f"
        if [ $(grep -c pythonOlder "$f") == 1 ]; then
            sed -i '/^\s*pythonOlder,\s*$/d' "$f"
        fi
        nixfmt "$f"
    done
2026-01-11 09:34:20 -08:00

142 lines
2.7 KiB
Nix

{
lib,
aiolimiter,
apscheduler,
beautifulsoup4,
buildPythonPackage,
cachetools,
cffi,
cryptography,
fetchFromGitHub,
flaky,
hatchling,
httpx,
pytest-asyncio,
pytest-timeout,
pytest-xdist,
pytestCheckHook,
pythonAtLeast,
pytz,
setuptools,
tornado,
}:
buildPythonPackage rec {
pname = "python-telegram-bot";
version = "22.5";
pyproject = true;
src = fetchFromGitHub {
owner = "python-telegram-bot";
repo = "python-telegram-bot";
tag = "v${version}";
hash = "sha256-++vDura+7AkqM7gV12O2CRRQ1H7G5G22VHGo4OdyffU=";
};
build-system = [
setuptools
hatchling
];
dependencies = [ httpx ];
optional-dependencies = rec {
all = ext ++ http2 ++ passport ++ socks;
callback-data = [ cachetools ];
ext = callback-data ++ job-queue ++ rate-limiter ++ webhooks;
http2 = httpx.optional-dependencies.http2;
job-queue = [
apscheduler
pytz
];
passport = [ cryptography ] ++ lib.optionals (pythonAtLeast "3.13") [ cffi ];
rate-limiter = [ aiolimiter ];
socks = httpx.optional-dependencies.socks;
webhooks = [ tornado ];
};
nativeCheckInputs = [
beautifulsoup4
flaky
pytest-asyncio
pytest-timeout
pytest-xdist
pytestCheckHook
]
++ optional-dependencies.all;
pythonImportsCheck = [ "telegram" ];
disabledTests = [
# Tests require network access
"TestAIO"
"TestAnimation"
"TestApplication"
"TestAudio"
"TestBase"
"TestBot"
"TestCallback"
"TestChat"
"TestChosenInlineResult"
"TestCommandHandler"
"TestConstants"
"TestContact"
"TestConversationHandler"
"TestDice"
"TestDict"
"TestDocument"
"TestFile"
"TestForceReply"
"TestForum"
"TestGame"
"TestGet"
"TestGiftsWithRequest"
"TestHTTP"
"TestInline"
"TestInput"
"TestInvoice"
"TestJob"
"TestKeyboard"
"TestLocation"
"TestMask"
"TestMenu"
"TestMessage"
"TestMeta"
"TestOrder"
"TestPassport"
"TestPhoto"
"TestPickle"
"TestPoll"
"TestPre"
"TestPrefix"
"TestProximity"
"TestReply"
"TestRequest"
"TestSend"
"TestSent"
"TestShipping"
"TestSlot"
"TestSticker"
"TestString"
"TestSuccess"
"TestTelegram"
"TestType"
"TestUpdate"
"TestUser"
"TestVenue"
"TestVideo"
"TestVoice"
"TestWeb"
];
meta = {
description = "Python library to interface with the Telegram Bot API";
homepage = "https://python-telegram-bot.org";
changelog = "https://github.com/python-telegram-bot/python-telegram-bot/blob/${src.tag}/CHANGES.rst";
license = lib.licenses.lgpl3Only;
maintainers = with lib.maintainers; [
veprbl
pingiun
];
};
}