Skip to content
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

Remove broken experimental package gambit #30156

Closed
mkoeppe opened this issue Jul 16, 2020 · 20 comments · Fixed by #37810
Closed

Remove broken experimental package gambit #30156

mkoeppe opened this issue Jul 16, 2020 · 20 comments · Fixed by #37810

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 16, 2020

It is not compatible with python 3.

https://github.com/mkoeppe/sage/runs/876312037

  [gambit-15.1.1.p0]   make[2]: Leaving directory '/sage/local/var/tmp/sage/build/gambit-15.1.1.p0/src'
  [gambit-15.1.1.p0]   Traceback (most recent call last):
  [gambit-15.1.1.p0]     File "setup.py", line 32, in <module>
  [gambit-15.1.1.p0]       m.Extension.__dict__ = m._Extension.__dict__
  [gambit-15.1.1.p0]   AttributeError: attribute '__dict__' of 'type' objects is not writable
  [gambit-15.1.1.p0]   Error installing Python API
  [gambit-15.1.1.p0]   

Another failure report: cygwin linking trouble - https://groups.google.com/g/sage-devel/c/HisDSCo7zlk/m/dAs5K5OrBwAJ

Upstream looks unattended. The last releases are from 2017.

https://github.com/gambitproject/gambit/issues

http://www.gambit-project.org/

gambitproject/gambit#242

https://repology.org/project/gambit-game-theory/versions

Previous tickets: #24840, #24012

CC: @dimpase @theref @kcrisman @nathanncohen @drvinceknight @tscrim @jhpalmieri

Component: packages: experimental

Issue created by migration from https://trac.sagemath.org/ticket/30156

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@dimpase
Copy link
Member

dimpase commented Jul 16, 2020

comment:3

I've also emailed Vince Knight, who might know more about Gambit status.

@dimpase
Copy link
Member

dimpase commented Jul 17, 2020

comment:4

no reply - so let's just remove it.

@dimpase
Copy link
Member

dimpase commented Jul 17, 2020

comment:5

however there is a lot of stuff in src/sage/games/ that needs it.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jul 17, 2020

comment:6

Let's give people a bit of time to react. This is not urgent. When we have collected a bit more information on Meta-ticket #29900 (Fix optional and experimental packages for Sage 9.2), we can perhaps also send a message to sage-users

@tscrim
Copy link
Collaborator

tscrim commented Jul 17, 2020

comment:7

This is our one current use of game theory in Sage. I think a better solution is to extract PR242 as a patch to Sage. (I forget why this was downgraded to experimental in the first place.) We might also consider forking this to include some of the updates, something I would consider doing, but I probably wouldn't be able to do anything with it long-term.

@kcrisman
Copy link
Member

comment:8

I agree we should wait on this - perhaps contacting the maintainer of Gambit itself.

@dimpase
Copy link
Member

dimpase commented Aug 10, 2020

comment:9

The primary author got back to me saying that's fine, he'll want to do a better Python API anyway (he considers the current one to be unstable), but not before finishing his term as a dean... That is yes, we ought to remove it.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 10, 2020

comment:10

remvove "it" = the python interface, or the whole package?

@dimpase
Copy link
Member

dimpase commented Aug 10, 2020

comment:11

the whole package, I suppose

@kcrisman
Copy link
Member

comment:12

What about the current doctests etc that rely on it? It would be unfortunate to remove them completely - but perhaps need to have some warnings on those files that the Gambit tests are currently broken and to use a previous version of Sage if you need that functionality for now.

@jhpalmieri
Copy link
Member

comment:13

If no one can install the package, they won't easily be able to run the doctests, so they can stay. If you want to add some warnings where it says "Run sage -i gambit ...", that would probably be a good idea.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 11, 2020

comment:14

Are there parts of the Sage game theory code depend on the Gambit executables, or does everything depend on the broken Gambit Python library?

@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Oct 24, 2020
@fchapoton
Copy link
Contributor

comment:16

Gambit 16 does not support Python 3. The current master branch does.

@kcrisman
Copy link
Member

comment:17

Gambit 16 does not support Python 3. The current master branch does.

Interesting. Maybe it would be worth simply packaging as such? Unfortunately it wouldn't appear to currently be pip-installable.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Mar 24, 2021

comment:18

Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Mar 24, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Aug 22, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 14, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 1, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Jan 7, 2023
@mkoeppe mkoeppe removed this from the sage-10.0 milestone Mar 16, 2023
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 16, 2024

It's 2024 and gambit is back: http://www.gambit-project.org/, including pygambit, supporting Python >= 3.8 - https://pypi.org/project/pygambit/#history

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 16, 2024

@mkoeppe mkoeppe closed this as not planned Won't fix, can't repro, duplicate, stale Apr 16, 2024
@mkoeppe mkoeppe reopened this Apr 16, 2024
vbraun pushed a commit to vbraun/sage that referenced this issue Apr 28, 2024
    
<!-- ^ 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
vbraun pushed a commit to vbraun/sage that referenced this issue May 2, 2024
    
<!-- ^ 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
@mkoeppe mkoeppe added this to the sage-10.4 milestone May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants