1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 aiohttp,
7 python-dateutil,
8 typing-extensions,
9}:
10
11buildPythonPackage rec {
12 pname = "twitchapi";
13 version = "4.5.0";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "Teekeks";
18 repo = "pyTwitchAPI";
19 tag = "v${version}";
20 hash = "sha256-3kAR/9OS58sDRUiCcQAI7KCCPpnclBNR4SkwDNJs9mo=";
21 };
22
23 postPatch = ''
24 sed -i "/document_enum/d" twitchAPI/type.py
25 '';
26
27 pythonRemoveDeps = [
28 "enum-tools"
29 ];
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 aiohttp
35 python-dateutil
36 typing-extensions
37 ];
38
39 # upstream has no tests
40 doCheck = false;
41
42 pythonImportsCheck = [
43 "twitchAPI.chat"
44 "twitchAPI.eventsub"
45 "twitchAPI.helper"
46 "twitchAPI.oauth"
47 "twitchAPI.twitch"
48 "twitchAPI.type"
49 ];
50
51 meta = {
52 changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/${src.tag}/docs/changelog.rst";
53 description = "Python implementation of the Twitch Helix API, EventSub and Chat";
54 homepage = "https://github.com/Teekeks/pyTwitchAPI";
55 license = lib.licenses.mit;
56 maintainers = with lib.maintainers; [
57 dotlambda
58 ];
59 };
60}