at 23.05-pre 1.0 kB view raw
1{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder 2, colorama, regex 3, pytest-runner, pytestCheckHook, pytest-mypy 4}: 5 6buildPythonPackage rec { 7 pname = "tatsu"; 8 version = "5.8.3"; 9 # upstream only supports 3.10+ 10 disabled = pythonOlder "3.10"; 11 12 src = fetchFromGitHub { 13 owner = "neogeny"; 14 repo = "TatSu"; 15 rev = "refs/tags/v${version}"; 16 sha256 = "sha256-cKEMRbH/xNtYM0lmNVazv3i0Q1tmVrVPrB6F2s02Sro="; 17 }; 18 19 nativeBuildInputs = [ pytest-runner ]; 20 propagatedBuildInputs = [ colorama regex ]; 21 checkInputs = [ pytestCheckHook pytest-mypy ]; 22 23 pythonImportsCheck = [ "tatsu" ]; 24 25 meta = with lib; { 26 description = "Generates Python parsers from grammars in a variation of EBNF"; 27 longDescription = '' 28 TatSu (the successor to Grako) is a tool that takes grammars in a 29 variation of EBNF as input, and outputs memoizing (Packrat) PEG parsers in 30 Python. 31 ''; 32 homepage = "https://tatsu.readthedocs.io/"; 33 license = licenses.bsd2; 34 maintainers = with maintainers; [ ]; 35 }; 36 37}