-
-
Notifications
You must be signed in to change notification settings - Fork 654
gambit: Re-create as a pip package pygambit
(help wanted!)
#37809
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
base: develop
Are you sure you want to change the base?
Conversation
Documentation preview for this PR (built with commit 906a88a; changes) is ready! 🎉 |
Just as a point of order, how does one see which parts of the diff are just from this particular PR and not from (say) #37810? This is a welcome development, though, I second the congrats to the developer. I don't know if we want to make it a standard package, is this draft currently adding it as optional? |
Actually #37810 is not merged here yet. I prepared it after preparing the PR here because it became clear that more work is needed to finish it but I want the removal #37810 done as quickly as possible. |
Yes, it's adding it as "optional" (see file |
Many thanks @mkoeppe for initiating this. We've been trying to do work in Gambit on standardising packaging to make it easier for downstream integration (with SageMath high on that list). Please let us know if we can help because, as noted, we're actually resourced now! |
The new packaging looks all good, and installing in Sage is already working with the present branch. On our side just the uses of the old |
With respect to this, we should disclose that we are currently very much in a "move fast and fix things" mode. There will be breaking API improvements across minor versions. For at least this calendar year, we probably won't always be able to provide deprecation warnings (but we will try to do so where we can). To compensate for this our plan is to maintain at least the two previous minor releases (starting from 16.1) with bug fixes, so users won't be forced to adapt their code to API changes simply to get around some bug. By about this time next year, we will be hoping to have settled into a more mature lifecycle where there'll be fewer API changes and a deprecation path for the ones that do happen. |
1 similar comment
With respect to this, we should disclose that we are currently very much in a "move fast and fix things" mode. There will be breaking API improvements across minor versions. For at least this calendar year, we probably won't always be able to provide deprecation warnings (but we will try to do so where we can). To compensate for this our plan is to maintain at least the two previous minor releases (starting from 16.1) with bug fixes, so users won't be forced to adapt their code to API changes simply to get around some bug. By about this time next year, we will be hoping to have settled into a more mature lifecycle where there'll be fewer API changes and a deprecation path for the ones that do happen. |
sagemathgh-37810: build/pkgs/gambit: Remove <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Removing this broken experimental package, as proposed in 2020. - Closes sagemath#30156 Also removing the module providing outdated "standalone instructions" to use Gambit. Keeping the various references to Gambit tagged with `# optional - gambit`. This will be updated in the follow-up PR" - sagemath#37809 The motivation for opening this PR to remove `gambit` now (2024) is that it removes a remaining use of the function `sdh_setup_bdist_wheel` (the old gambit Python package could not be installed using pip). This a step for the modernization of the build frontend for Python packages in the Sage distribution: - sagemath#35618 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#37810 Reported by: Matthias Köppe Reviewer(s): John H. Palmieri
sagemathgh-37810: build/pkgs/gambit: Remove <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> Removing this broken experimental package, as proposed in 2020. - Closes sagemath#30156 Also removing the module providing outdated "standalone instructions" to use Gambit. Keeping the various references to Gambit tagged with `# optional - gambit`. This will be updated in the follow-up PR" - sagemath#37809 The motivation for opening this PR to remove `gambit` now (2024) is that it removes a remaining use of the function `sdh_setup_bdist_wheel` (the old gambit Python package could not be installed using pip). This a step for the modernization of the build frontend for Python packages in the Sage distribution: - sagemath#35618 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#37810 Reported by: Matthias Köppe Reviewer(s): John H. Palmieri
I got to say, will this work like gap or there will be a missing pieces? |
Gambit, the package for computation in game theory, is being actively developed again and has made several releases in 2024. Congratulations to @tturocy for obtaining support from the Alan Turing Institute for the development of this package.
In this PR, we update our use of Gambit to make it compatible with Gambit 16.x via its Python package pygambit.
Steps:
gambit
->pygambit
)Cc: @drvinceknight @kcrisman @fchapoton
📝 Checklist
⌛ Dependencies