The lexer and parser come from Buf's ANTLR lexer and parser grammar files.
NOTE: I've chosen to check the files into the antlr
directory rather than use a git submodule because the files are in a subfolder and ANTLR's org.antlr.v4.Tool
doesn't have a good way to put the generated content into proto_schema_parser/antlr
. Keeping things flat means that the Python files are placed in proper Python package directory.
To generate the lexer and parser, run the following:
pdm run antlr
Pypi publication can be done with:
pdm run publish
Don't forget to create a Github release and bump the version number after.