https://github.com/lihaoyi/macropy
The "LISP is homoiconic" trope is oversimplified; the Python stdlib gives access to the compiler, parse trees, bytecode, etc. There are more moving parts, but with the edges sanded off syntactic macros should be comfortable in Python -- and take the burden of innovation off CPython and PyPy promoting simplicity there for the long term.
The Python folks have been switching Python to a PEG grammar
https://www.python.org/dev/peps/pep-0617/
At the moment I am little disappointed at the Py 3.10 source code because they haven't exposed the PEG parser to Python programmers yet as they promised. You could use this to do little stunts like adding an "unless x:" statement equivalent to "if not x:" or write a parser for the strange query language your organization uses that lets you sort the dict's it returns to you in the same order you put the fields in the select clause...