1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, requests
5, isodate
6, docstring-parser
7, colorlog
8, websocket-client
9, pytestCheckHook
10, fetchpatch
11}:
12
13buildPythonPackage rec {
14 pname = "chat-downloader";
15 version = "0.2.0";
16
17 # PyPI tarball is missing files
18 src = fetchFromGitHub {
19 owner = "xenova";
20 repo = "chat-downloader";
21 rev = "v${version}";
22 sha256 = "sha256-SVZyDTma6qAgmOz+QsPnudPrX1Eswtc0IKFRx1HnWLY=";
23 };
24
25 patches = [
26 # Remove argparse from dependencies. https://github.com/xenova/chat-downloader/pull/167
27 (fetchpatch {
28 url = "https://github.com/xenova/chat-downloader/commit/cdaca5e3a334c8db1b37bebe191d181ebdfa576c.patch";
29 sha256 = "sha256-AgH305dJmNRZy23lAf1h40klDE67RSwEL8o2gxX0VGA=";
30 })
31 ];
32
33 propagatedBuildInputs = [
34 requests
35 isodate
36 docstring-parser
37 colorlog
38 websocket-client
39 ];
40
41 # Tests try to access the network.
42 doCheck = false;
43
44 checkInputs = [ pytestCheckHook ];
45
46 pythonImportsCheck = [ "chat_downloader" ];
47
48 meta = with lib; {
49 description = "A simple tool used to retrieve chat messages from livestreams, videos, clips and past broadcasts";
50 homepage = "https://github.com/xenova/chat-downloader";
51 license = licenses.mit;
52 maintainers = with maintainers; [ marsam ];
53 };
54}