After 4 years of fixing issues and merging pull-requests, we found that Lark has grown a little encumbered, like a lobster that’s grown too big for its shell. And so, like that proverbial lobster, we took the opportunity of a new major version to break the shell and make a few backward-incompatible changes.
Chiefly among the changes, Lark 1.0 dropped Python 2 support, and instead now uses the full range of Python 3 features, including type annotations. The API has also been straightened out and made more congruous. A full list of the changes is available in the release notes: https://github.com/lark-parser/lark/releases/tag/1.0.0
While version 1.0 itself doesn’t boast big new features (other than marking the API as stable), Lark has accumulated many cool features over the years, that even avid users may have missed:
If you never tried Lark, perhaps now is the time!
See our project page to learn more: https://github.com/lark-parser/lark
Lark was already my favorite parser library for Python, and the new interactive parser, grammar composition, and tree templates all look really interesting! Really excited to try this out :D
That’s only a partial list of all the features we added over time.
I’m planning to write a more detailed blog post on all these and more.