1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, setuptools
6, wheel
7, aiohttp
8, python-dateutil
9, typing-extensions
10}:
11
12buildPythonPackage rec {
13 pname = "twitchapi";
14 version = "4.0.1";
15
16 disabled = pythonOlder "3.7";
17
18 format = "pyproject";
19
20 src = fetchFromGitHub {
21 owner = "Teekeks";
22 repo = "pyTwitchAPI";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-WrZb734K51NYqlcMCRr8HO8E7XByioltd4vanTN8HUg=";
25 };
26
27 nativeBuildInputs = [
28 setuptools
29 wheel
30 ];
31
32 propagatedBuildInputs = [
33 aiohttp
34 python-dateutil
35 typing-extensions
36 ];
37
38 # upstream has no tests
39 doCheck = false;
40
41 pythonImportsCheck = [
42 "twitchAPI.eventsub"
43 "twitchAPI.oauth"
44 "twitchAPI.pubsub"
45 "twitchAPI.twitch"
46 "twitchAPI.type"
47 ];
48
49 meta = with lib; {
50 changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/${src.rev}/docs/changelog.rst";
51 description = "Python implementation of the Twitch Helix API, its Webhook, PubSub and EventSub";
52 homepage = "https://github.com/Teekeks/pyTwitchAPI";
53 license = licenses.mit;
54 maintainers = with maintainers; [ dotlambda wolfangaukang ];
55 };
56}