How I evaluated parsing approaches for Scryfall’s query language: why regex and ANTLR were ruled out, how Lark compares to pyparsing, and why pyparsing won.
Why Sylvan Librarian uses Falcon and Bjoern instead of the FastAPI + uvicorn default: a preference for explicit, close-to-vanilla Python over framework magic.
Motivation for building Sylvan Librarian: owning the query language, and the killer feature Scryfall can’t do — arithmetic comparisons across card attributes.