Hello SymPy community,
I'm Adrija Sil (
adrij...@gmail.com), a 2nd-year B.Tech CS student at GCECT Kolkata. I've submitted a GSoC 2026 proposal for the "Official LLM Tool Agent for SymPy" project.
I wanted to introduce myself and share a prototype update rather than just waiting for results.
What I've built so far:
i) SymPyToolRegistry: auto-generates JSON tool schemas for SymPy functions from docstrings and type annotations (ast/inspect-based, not hand-written)
ii) SymPyToolExecutor: restricted execution sandbox + SessionState for multi-step chaining
iii) Validated end-to-end on the constrained minimisation example from the ideas page: symbols -> diff -> solve -> subs gives the correct result (1/2)
My design priority was making the tool registry self-maintaining schemas regenerate from docstrings rather than needing manual updates when the SymPy API evolves. I think this is important for long-term viability.
I'm submitting a PR this week targeting a good-first-issue to establish contribution history. I've been using SymPy for symbolic math at my ISI Kolkata research internship, so this project is solving a real pain point I've experienced personally.
I'd welcome any feedback on the technical approach, particularly around:
1. Whether the JSON schema format aligns with what mentors had in mind
2. Which SymPy modules to prioritize first in the tool registry (my proposal starts with calculus + solvers)
Happy to share the prototype repo link here if that's appropriate.
Thank you,
Adrija Sil
GitHub:
https://github.com/Adrija-verse