-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Python bindings? #259
Comments
Could you clarify what parser are you referring to? Are you referring to logic for parsing the SCIP symbol strings? Parsing the protobufs themselves? Parsing code that you want to analyze? There is official documentation on how to generate Python code for dealing with Protobuf. https://protobuf.dev/getting-started/pythontutorial/ The Haskell and TypeScript bindings are just auto-generated from Protobuf. We can accept PRs which add code generation for more languages provided it satisfies reproducibility by pinning appropriate versions etc. The Go and Rust bindings have more custom logic, such as for parsing symbol strings, we do not have plans to port that logic over to Python. |
Just tooling around navigating source code for agents, viz. list all reference, go to definition, view docstring, etc. Language servers are something we were originally considering but it can be difficult to put in a serverless environment and comes with their own caveats. So we went looking at LSIF generators where most of tooling are from sourcegraph. Now LSIF is something that is no longer being supported as a generated format, and so I ended up here. |
A parser and functionality for "list all references", "go to definition" etc. are two very different things (which again are very different from "language bindings" as currently covered in this repo, which is basically mostly just codegen). This repo describes an index format, which is generated by various indexers. Some of the indexers are written and maintained by Sourcegraph, and some by other people (e.g. scip-dart, rust-analyzer, scip-php). After an index is generated, the data needs to be massaged into a way that allows faster querying at a large scale. This requires combining information across indexes. This is a large undertaking; one such implementation is in the Sourcegraph backend (which converts data from SCIP indexes to Postgres tables), which is not available under an OSS license. Closing this issue for now; if you have a more specific ask, please rephrase or create a more tailored issue. |
We am trying to build a tool for inferring existing codebase. The tooling around go and rust are not as mature for interacting with LLMs. For various reasons we are trying to avoid the JS/TS approach.
Building a parser around the protobuf definition is likely to be a pain. So my question is python in the roadmap?
The text was updated successfully, but these errors were encountered: