lark-parser/lark

Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 23 minutes ago
Added to GitGenius on September 11th, 2026
Created on February 4th, 2017
Open Issues & Pull Requests: 159 (+0)
GitHub issues: Enabled
Number of forks: 517
Total Stargazers: 5,981 (+0)
Total Subscribers: 57 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.7 hours
Mean response time: 40.6 days
90th percentile: 96.9 days
Tracked items: 89

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 92% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 9% of issues opened in the past year have been closed. Three people close 73% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 26
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 651 days
Stale 30+ days: 22
Stale 90+ days: 21

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (26)
  • enhancement (15)
  • bug (8)
  • good first issue (4)
  • add to docs (3)
  • docs (2)
  • help wanted (2)
  • IDE (1)

Most active issues this week

Detailed Description

Lark is a parsing toolkit for Python that handles context-free grammars with a focus on ergonomics, performance, and modularity.

Lark solves the problem of building parsers for complex grammars by automating parse-tree construction from grammar definitions alone, without requiring manual tree-building code. It implements multiple parsing algorithms—Earley with SPPF and LALR(1)—allowing users to trade parsing power for speed depending on their requirements. The toolkit handles ambiguous grammars gracefully and runs as pure Python with no external dependencies, making it portable across Python interpreters.

Beginners benefit from Lark's friendly approach to experimentation, as it can parse any grammar efficiently and provides convenient tools for processing the resulting annotated parse-trees. Experts can leverage its dual algorithm support and multiple lexer options to optimize for their specific performance and power requirements. The tool suits projects ranging from domain-specific language implementation to natural language parsing and programming language construction. For LALR(1) grammars, Lark can generate stand-alone parsers that work independently of the toolkit. The project provides syntax highlighting support across multiple editors including Sublime Text, VSCode, IntelliJ, Vim, and Atom, and maintains unofficial implementations in Julia and JavaScript that accept Lark grammars.

The project maintains active engagement with users through documentation, an online IDE, tutorials, and community chat. Development activity shows consistent attention to both core functionality and ecosystem support, with maintained syntax highlighting plugins across major editors and language ports that extend Lark's grammar format beyond Python.