{
fetchFromGitHub,
lib,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "isponsorblocktv";
version = "2.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "dmunozv04";
repo = "iSponsorBlockTV";
tag = "v${version}";
hash = "sha256-4HGhPUnors7T2UVZCLVIcGX63SRU3PZ1JQ+zf2ZV8/M=";
};
build-system = with python3Packages; [
hatchling
hatch-requirements-txt
];
dependencies = with python3Packages; [
aiohttp
appdirs
async-cache
pyytlounge
rich-click
rich
ssdp
textual-slider
textual
xmltodict
# all dependencies are pinned to exact version numbers
pythonRelaxDeps = true;
meta = {
homepage = "https://github.com/dmunozv04/iSponsorBlockTV";
changelog = "https://github.com/dmunozv04/iSponsorBlockTV/releases/tag/${src.tag}";
description = "SponsorBlock client for all YouTube TV clients";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ lukegb ];
mainProgram = "iSponsorBlockTV";
platforms = lib.platforms.linux;
}