1{ lib 2, antlr4-python3-runtime 3, asciimatics 4, buildPythonPackage 5, click 6, dacite 7, decorator 8, fetchFromGitHub 9, future 10, first 11, jsonpath-ng 12, loguru 13, overrides 14, pillow 15, ply 16, pyfiglet 17, pyperclip 18, pytestCheckHook 19, pythonOlder 20, antlr4 21, pythonRelaxDepsHook 22, pyyaml 23, setuptools 24, six 25, urwid 26, parameterized 27, wcwidth 28, yamale 29}: 30 31buildPythonPackage rec { 32 pname = "python-fx"; 33 version = "0.3.1"; 34 format = "setuptools"; 35 36 disabled = pythonOlder "3.8"; 37 38 src = fetchFromGitHub { 39 owner = "cielong"; 40 repo = "pyfx"; 41 rev = "refs/tags/v${version}"; 42 hash = "sha256-BXKH3AlYMNbMREW5Qx72PrbuZdXlmVS+knWWu/y9PsA="; 43 }; 44 45 postPatch = '' 46 rm src/pyfx/model/common/jsonpath/*.{g4,interp,tokens} 47 antlr -Dlanguage=Python3 -visitor -o src/pyfx/model/common/jsonpath/ *.g4 48 ''; 49 50 pythonRelaxDeps = true; 51 52 nativeBuildInputs = [ 53 antlr4 54 pythonRelaxDepsHook 55 setuptools 56 ]; 57 58 propagatedBuildInputs = [ 59 antlr4-python3-runtime 60 asciimatics 61 click 62 dacite 63 decorator 64 first 65 future 66 jsonpath-ng 67 loguru 68 overrides 69 pillow 70 ply 71 pyfiglet 72 pyperclip 73 pyyaml 74 six 75 urwid 76 wcwidth 77 yamale 78 ]; 79 80 nativeCheckInputs = [ 81 pytestCheckHook 82 parameterized 83 ]; 84 85 # antlr4 issue prevents us from running the tests 86 # https://github.com/antlr/antlr4/issues/4041 87 doCheck = false; 88 89 # pythonImportsCheck = [ 90 # "pyfx" 91 # ]; 92 93 meta = with lib; { 94 description = "Module to view JSON in a TUI"; 95 homepage = "https://github.com/cielong/pyfx"; 96 changelog = "https://github.com/cielong/pyfx/releases/tag/v${version}"; 97 license = with licenses; [ mit ]; 98 maintainers = with maintainers; [ fab ]; 99 }; 100}