at master 1.1 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 colorama, 5 fetchFromGitHub, 6 pytestCheckHook, 7 pythonOlder, 8 regex, 9 setuptools, 10}: 11 12buildPythonPackage rec { 13 pname = "tatsu"; 14 version = "5.13.1"; 15 pyproject = true; 16 17 disabled = pythonOlder "3.10"; 18 19 src = fetchFromGitHub { 20 owner = "neogeny"; 21 repo = "TatSu"; 22 tag = "v${version}"; 23 hash = "sha256-iZtYqPvQxXl6SFG2An7dN3KxaxCTvAiAkeeuXUhLuF0="; 24 }; 25 26 nativeBuildInputs = [ setuptools ]; 27 28 propagatedBuildInputs = [ 29 colorama 30 regex 31 ]; 32 33 nativeCheckInputs = [ pytestCheckHook ]; 34 35 pythonImportsCheck = [ "tatsu" ]; 36 37 meta = with lib; { 38 description = "Generates Python parsers from grammars in a variation of EBNF"; 39 longDescription = '' 40 TatSu (the successor to Grako) is a tool that takes grammars in a 41 variation of EBNF as input, and outputs memoizing (Packrat) PEG parsers in 42 Python. 43 ''; 44 homepage = "https://tatsu.readthedocs.io/"; 45 changelog = "https://github.com/neogeny/TatSu/releases/tag/${src.tag}"; 46 license = licenses.bsd2; 47 maintainers = [ ]; 48 }; 49}