Hi Tilo,
Thank you so much for the quick and encouraging feedback! I'm glad to hear that improving refine is seen as a viable project path. I completely understand your point about preserving accessible tasks for new contributors. Refine handlers are indeed a great entry point for learning the codebase (as they were for me!). To address this, I would like to structure my proposal to focus on the *complex and structural challenges* of refine, leaving the "low-hanging fruit" for future newcomers. My idea would be to focus on: 1. *Complex Domains:* Implementing refinement logic for non-scalar domains, such as *Matrices* (e.g., refining properties of Matrix expressions based on assumptions) and *Sets*, which are often too tricky for first-time contributors. 2. *Harder Functions:* tackling handlers for functions with complex branch cuts or multi-valued logic where deeper mathematical care is needed. 3. *Documentation & Guide:* Creating a comprehensive "Guide to writing Refine Handlers" within the documentation. This would actually *help* new contributors by giving them a clear blueprint to follow for the simpler tasks I leave behind. Do you think focusing on these "Advanced Refinement" areas would strike the right balance between a valuable GSoC project and keeping the module accessible for beginners? Best, Marco Il giorno martedì 17 febbraio 2026 alle 19:41:38 UTC+1 [email protected] ha scritto: > Hi Marco, > > I think a project improving refine could probably be a good small GSoC > project. It seems fairly straightforward to do something like that. Though, > it would be mostly completely separate from what is described in the > "improving assumptions module" idea. > > That being said, I think there could also be value in leaving the > implementation of refine functionality to new contributors as I think it's > an impactful thing new contributors can work on that would be within their > abilities even if they only have a modest amount of programming and math > experience. > > Tilo RC > > On Monday, February 16, 2026 at 5:01:08 AM UTC-8 [email protected] > wrote: > >> *Hi everyone,* >> >> My name is Marco, and I am an undergraduate student interested in >> applying for GSoC 2026 with SymPy as I said in the previous message. >> >> I have been exploring the codebase recently, specifically focusing on the >> *Assumptions >> module* and the refine() function. I have already opened a couple of >> Pull Requests to get familiar with the workflow: >> >> - >> >> Implemented refine handlers for floor and ceiling (PR #29174) >> - >> >> Implemented refine handler for conjugate (PR #29173) >> >> I noticed the *"Improvements to the Assumptions module"* idea on the >> wiki is labeled as *Advanced*. However, I believe there is a lot of >> value in a project focused on *extending refine capabilities* (adding >> missing handlers like trigonometric functions, logarithms, matrices) and >> bridging the gap between the old and new assumptions systems through >> incremental improvements. >> >> Would a proposal focused on these practical, incremental improvements >> to refine and related bug fixes be considered a strong candidate for GSoC? >> >> I am currently working on adding more handlers as suggested by reviewers. >> >> Thanks for your time and guidance! >> >> Best regards, Marco >> > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/sympy/6ee1f78a-5bb1-4af4-9e0b-b267dc15f6abn%40googlegroups.com.
