Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, CommonMark
6, poetry-core
7, pygments
8, typing-extensions
9, pytestCheckHook
10
11# for passthru.tests
12, enrich
13, httpie
14, rich-rst
15, textual
16}:
17
18buildPythonPackage rec {
19 pname = "rich";
20 version = "12.6.0";
21 format = "pyproject";
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "Textualize";
26 repo = pname;
27 rev = "v${version}";
28 hash = "sha256-g3tXftEoBCJ1pMdLyDBXQvY9haGMQkuY1/UBOtUqrLE=";
29 };
30
31 nativeBuildInputs = [ poetry-core ];
32
33 propagatedBuildInputs = [
34 CommonMark
35 pygments
36 ] ++ lib.optionals (pythonOlder "3.9") [
37 typing-extensions
38 ];
39
40 checkInputs = [
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [ "rich" ];
45
46 passthru.tests = {
47 inherit enrich httpie rich-rst textual;
48 };
49
50 meta = with lib; {
51 description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal";
52 homepage = "https://github.com/Textualize/rich";
53 license = licenses.mit;
54 maintainers = with maintainers; [ ris jyooru ];
55 };
56}