py-tree-sitter
py-tree-sitter copied to clipboard
Release Python GIL when possible
I'm looking to search several million source files using the tree-sitter query interface. I'd love to use a thread pool in Python for this. Would it be possible to make a thread-safe Query.captures method that released the GIL?
I tried doing it in https://github.com/grantjenks/py-tree-sitter-languages but couldn't figure it out this evening (not sure it's possible with the current interface).
PR welcome.
This might be slightly easier to implement with recent changes to GIL in 3.12: https://docs.python.org/3.12/whatsnew/3.12.html#pep-684-a-per-interpreter-gil