Hi,
It’s definitively a big +1 for me.
I’m following Batuhan’s work for one year. He made great achievements like ast.unparse (worked in pair with Pablo) and make annotations as string the default in Python 3.10 (a giant PR that I failed to review, but Guido did, great!). He is very active for at least one year which proves that he is motivated and will stay around to continue to maintain his code.
The AST is tightly coupled to the compiler, the grammar, …: all these things look really complex to me. I’m really happy to see more hands to maintain and evolve all this code!
Batuhan helped to fix a very annoying and complex regression with asynchronous comprehensions: bpo-39562 (fixed in Python 3.8.3). The change required to modify important constants, he wrote unit tests to ensure that we don’t regress in the future.
On his PR Support unparsing of infinity numbers in ast_unparser.c, I recall that I was really annoying to require the code (creating a Unicode string in C is non-trivial) to be written in a specific way. Batuhan welcomed my reviews and provided good feeback.
On his PR Implement Simple Preceding to AST Unparser, there was a discussion on adding “import enum” to the ast module. There was a constructive discussion about moving the feature into a sub-module, maybe using a lazy import. The enum won, it’s now imported by “import ast” Batuhan also extracted the non-controversial part into a first PR to prepare the code base: Refactor delimiting with context managers in ast.unparse which made the review of the first PR easier. I also recall a constructive discussion on this non-trivial PR.
Just yesterday, he made a very useful review on my AST change and I felt sorry to forget Batuhan in reviewer (I had subinterpreters in mind, not AST), but he catched my PR!