1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, python
5, regex
6, pytestCheckHook
7, js2py
8}:
9
10buildPythonPackage rec {
11 pname = "lark";
12 version = "1.1.2";
13
14 src = fetchFromGitHub {
15 owner = "lark-parser";
16 repo = "lark";
17 rev = version;
18 sha256 = "sha256-Y1bDSiFnqAKTlIcd8aAgtc+I3TLnWF8hhQK2ez96TQs=";
19 };
20
21 # Optional import, but fixes some re known bugs & allows advanced regex features
22 propagatedBuildInputs = [ regex ];
23
24 pythonImportsCheck = [
25 "lark"
26 "lark.parsers"
27 "lark.tools"
28 "lark.grammars"
29 ];
30
31 checkInputs = [
32 js2py
33 pytestCheckHook
34 ];
35
36 meta = with lib; {
37 description = "A modern parsing library for Python, implementing Earley & LALR(1) and an easy interface";
38 homepage = "https://lark-parser.readthedocs.io/";
39 changelog = "https://github.com/lark-parser/lark/releases/tag/${version}";
40 license = licenses.mit;
41 maintainers = with maintainers; [ fridh drewrisinger ];
42 };
43}