Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, poetry-core 5, mkdocs-exclude 6, markdown-it-py 7, mdit-py-plugins 8, linkify-it-py 9, importlib-metadata 10, rich 11, typing-extensions 12, aiohttp 13, click 14, jinja2 15, msgpack 16, pytest-aiohttp 17, pytestCheckHook 18, pythonOlder 19, syrupy 20, time-machine 21}: 22 23buildPythonPackage rec { 24 pname = "textual"; 25 version = "0.26.0"; 26 format = "pyproject"; 27 28 disabled = pythonOlder "3.7"; 29 30 src = fetchFromGitHub { 31 owner = "Textualize"; 32 repo = pname; 33 rev = "refs/tags/v${version}"; 34 hash = "sha256-l4zSSROeI55hFnf0C64bbAB+1cATUkS59Uybf7ZmSfs="; 35 }; 36 37 nativeBuildInputs = [ 38 poetry-core 39 ]; 40 41 propagatedBuildInputs = [ 42 rich 43 markdown-it-py 44 mdit-py-plugins 45 linkify-it-py 46 importlib-metadata 47 aiohttp 48 click 49 msgpack 50 mkdocs-exclude 51 ] ++ lib.optionals (pythonOlder "3.11") [ 52 typing-extensions 53 ]; 54 55 nativeCheckInputs = [ 56 jinja2 57 pytest-aiohttp 58 pytestCheckHook 59 syrupy 60 time-machine 61 ]; 62 63 disabledTestPaths = [ 64 # snapshot tests require syrupy<4 65 "tests/snapshot_tests/test_snapshots.py" 66 ]; 67 68 pythonImportsCheck = [ 69 "textual" 70 ]; 71 72 __darwinAllowLocalNetworking = true; 73 74 meta = with lib; { 75 description = "TUI framework for Python inspired by modern web development"; 76 homepage = "https://github.com/Textualize/textual"; 77 changelog = "https://github.com/Textualize/textual/releases/tag/v${version}"; 78 license = licenses.mit; 79 maintainers = with maintainers; [ joelkoen ]; 80 }; 81}