Re: Regarding interest in GSoC Idea in Gambit

59 views
Skip to first unread message

James

unread,
Mar 3, 2026, 12:20:38 PM (yesterday) Mar 3
to sage-...@googlegroups.com, Gambit Project

Hi,

This is James. I had previously reached out to the Gambit organization and maintainers regarding SageMath interoperability project, and I received their response outlining the suggested next steps.

Following that, I started by looking into the existing work on the Sage side. In particular, I reviewed the commits made by mkoeppe in the PR
https://github.com/sagemath/sage/pull/37809. I went through the changes (updation of package name, updating builds, sphinx changes for new docs, making optional) and focused on the three major steps that have already been implemented, in order to understand the further required changes and the current state of the integration in more depth. 

With that , I’m now planning to move on to analyzing what api level and other changes are required, which parts of the existing work can be reused as is, and where new or updated implementation would be needed (as far I explored the sage codebase its pkgs/sagemath-bliss/sage/game_theory/normal_form_game.py and src/sage/game_theory/parser.py). This should help clarify the overall scope of the remaining work and how best to proceed.

Would be a great help if sage devs and maintainers can guide.

Thank you for your time.

James    

On Tue, Mar 3, 2026 at 9:15 PM James <jrdav...@gmail.com> wrote:
Thank you, I would be very willing to embark on developing the detailed proposal you outlined.
As a next step, I would 
  • review the current state of the PR  https://github.com/sagemath/sage/pull/37809, and what changes will be required to bring it up to date with current sagemath and gambit codebase.
  • I would also review existing Gambit issues related to documentation and tutorials (including issue #627) and propose ideas accordingly.  
 Please let me know if there are any specific constraints, preferred formats, or timelines you would like me to keep in mind while preparing the proposal.  
Thank you for your time.
James

On Tue, Mar 3, 2026 at 8:39 PM Gambit Project <gambit.ga...@gmail.com> wrote:
Dear Davda:

Thanks for your email. Having reviewed your profile and cover letter, and considering interest in projects expressed by other potential contributors, we would particularly like to explore your willingness and suitability to work on:

Idea 4: “Working on Gambit interoperability with SageMath”.

This project has two parts: 
  1. First the work to integrate SageMath with the latest version of pygambit should be done and ideally result in a merged pull request from SageMath. See the existing pull request here: https://github.com/sagemath/sage/pull/37809
  2. Second, materials like tutorials and docs should be developed to show off the new integration. For that, see, e.g., https://github.com/gambitproject/gambit/issues/627
As a next step, it would be great if you could develop a proposal for these two steps. In that proposal, please cover the following:
  • The SageMath PR https://github.com/sagemath/sage/pull/37809 is now somewhat stale. It contains work already done by the SageMath team (first 3 items in "steps") and a final item where help was wanted for updating the API usage. Please investigate and report on how the first 3 steps would need to be updated to be current -- if you think it makes sense to comment on PR or email the SageMath dev list, please do, or just put in your proposal what you would want to check/ask them to potentially help with). 
  • With the SageMath initial steps updated, that leaves the main work on updating the API. Please investigate and report on what is needed for that, what is unclear and how to figure anything unclear out, along with details/rough estimate of how long things might take and any risks etc.
  • Assuming that PR can be merged in, the rest of the proposal should cover how you would develop materials to show off the interoperability of Gambit and SageMath. Look at our existing tutorials, possibly look at our other issues related to tutorial requests to get a sense of what type of tutorials we have in mind, and think about any new documentation and any new aspects we might want to add to a tutorial or tutorials beyond what is already mentioned in issue #627. In particular, any demonstrations that nicely show the unique features of Gambit along side unique features of SageMath to properly demo the benefit of interoperability would be great.
Please don't rush, demonstrating proper background research, thoughtfulness, and good ideas is key here.

Is this detailed proposal something you are willing to embark on?

Best,
The Gambit Team.

On Fri, Feb 27, 2026 at 6:15 PM James <jrdav...@gmail.com> wrote:
Hey there, this is James I was interested in Gambit project to contribute this year for GSoC I had attached my cv and cover letter in this email, where in cover letter I mentioned my experiences and also the projects I am interested in, would love to start working on some issues that can get me hands on experience and some more depth about project. It would be great if mentors can guide me how to start and pick up issues.


Would love to hear back from you.
Thank You for your time.

James

unread,
Mar 3, 2026, 12:21:22 PM (yesterday) Mar 3
to sage-...@googlegroups.com, Gambit Project
Sorry for typo,  I mistakenly referred to
pkgs/sagemath-bliss/sage/game_theory/normal_form_game.py,
its src/sage/game_theory/normal_form_game.py

kcrisman

unread,
9:38 AM (13 hours ago) 9:38 AM
to sage-devel
On Tuesday, March 3, 2026 at 12:20:38 PM UTC-5 jrdav...@gmail.com wrote:

Hi,

This is James. I had previously reached out to the Gambit organization and maintainers regarding SageMath interoperability project, and I received their response outlining the suggested next steps.

Following that, I started by looking into the existing work on the Sage side. In particular, I reviewed the commits made by mkoeppe in the PR
https://github.com/sagemath/sage/pull/37809. I went through the changes (updation of package name, updating builds, sphinx changes for new docs, making optional) and focused on the three major steps that have already been implemented, in order to understand the further required changes and the current state of the integration in more depth. 

With that , I’m now planning to move on to analyzing what api level and other changes are required, which parts of the existing work can be reused as is, and where new or updated implementation would be needed (as far I explored the sage codebase its pkgs/sagemath-bliss/sage/game_theory/normal_form_game.py and src/sage/game_theory/parser.py). This should help clarify the overall scope of the remaining work and how best to proceed.

Would be a great help if sage devs and maintainers can guide.

I'm not currently very active, but I helped some with the gambit integration before, and it would indeed be awesome to get this back fully into Sage.  And if they have GSOC as an option, that's even better, as Sage also is a GSOC org this summer (if I'm not mistaken), so it will "look good", I guess to have that cooperation.

I think you definitely want your first step to be just getting pygambit to interface with Sage at all.  Most likely that will lead to a lot of failing tests.  Maybe all the tests will fail because Gambit has been developing so rapidly!  That is okay, we can fix them in the second step.  It is likely that some Sage conventions for creating a package will have changed slightly, but hopefully not very much at all, so I think this is a pretty realistic goal.  It will be a good idea to ask very specific questions on this list if you run into trouble on it; as currently formed you probably haven't heard anything yet because it is tantamount to "how do I do this", which unfortunately is probably too broad for anyone to give you guidance directly.  Instead of just reviewing the changes, try to make your own branch that uses as many of them as possible and see what it breaks!  With some luck, it won't break anything.

Then the work comes of actually changing the *existing* examples to conform with whatever Gambit is doing right now, and coming up with new ones that show off any new or changed functionality.  For that you will need to learn some game theory, in order to have good examples.  But I would think that even just getting the pygambit package to work properly at all will be a very good contribution, from the Sage perspective.  Good luck!

- kcrisman

James

unread,
12:09 PM (10 hours ago) 12:09 PM
to sage-...@googlegroups.com, Matthias Köppe, Gambit Project
Thanks kcrisman, I started setting up sage yesterday and yesterday also got reply from matthias koppe, after that I started testing on rebase of that draft PR branch (of matthias koppe) in passagemath (made by him to work on this, https://github.com/passagemath/passagemath/pull/2238) and also did some tests with pygambit(new 16.5.0) with current codebase of passagemath and tests fails (expected). Then I created a new file and wrote some examples for just checking and testing with existing sage and new pygambit and it works and still for more depth I am trying
out different things. 
Thank you for your help and time.
James

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/fc436a23-18ba-4870-a411-9883e800f2a6n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages