Hi everyone,
It vedant Dusane from this side. As i am contributing to sympy from last few month on one fix and important issue that will help sympy improving code safety, developer productivity, reduce future bugs, and many more. I have merged some PRs on Add type annotation. On that bases i am planning to prepare a full GSoC scope.
I would like to propose the project idea related to the improvement of type annotations and type safety within the "sympy.polys" system, especially within core files such as "polytools.py," "polyutils.py," etc.
Polynomials is an elementary part of the computational algebra library delivered by SymPy. Many of the library’s higher-level functions are built upon the polynomial subsystem. As I was conditioning the type annotations in "polytools.py", I saw that there are certain functions that require type information that is not available yet and uses generic types.
My proposed approach would be to:
- Systematically reviewing the important polynomial modules ("polytools", "polyutils", "polyclasses" and "domains")
- Adding precise and correct type annotations according to actual return values and behavior
- Improved type clarity for polynomial representations, generators, and domain interactions
- Ensuring complete compatibility with existing behavior, correct ruff format and passing all test cases and mypy checks
The aim is to enhance maintainability, static correctness, and developer experience without changing runtime functionality.
Any review or guidance will help me a lot
Thank you
- vedant Dusane