Skip to content

pkgs/sage-conf: Move metadata from setup.cfg to pyproject.toml #36561

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

Open
wants to merge 11 commits into
base: develop
Choose a base branch
from

Conversation

mkoeppe
Copy link
Contributor

@mkoeppe mkoeppe commented Oct 28, 2023

This is a trivial "chore" PR. It updates Python metadata to the latest format. No controversies about the current format are known about in the Python community. In a typical open source project, someone in a Maintainer role would open a PR and then immediately merge it, or when receiving such a PR from the outside, quickly review and merge it (examples: my PRs pytest-dev/pytest-mock#410 (merged in within 1 day), pyodide/pyodide#4472, pytest-dev/pytest-xdist#1020,
sagemath/cypari2#158, fplll/fpylll#258, polymake/JuPyMake#2, cvxpy/cvxpy#2276, sagemath/cysignals#177).

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@kiwifb
Copy link
Member

kiwifb commented Oct 29, 2023

There should be links for sage_conf_conda and sage_conf_pypi or do they not show up in github?

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 29, 2023

These links are already in the repo and there's no change to them on this PR.

@kiwifb
Copy link
Member

kiwifb commented Oct 29, 2023

Scrap that, I thought the file was brand new. It is already linked. Too early on Monday for me to review properly.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 29, 2023

Note that there was already pyproject.toml for the build-system information; here we're just adding more sections to the file.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 29, 2023

Happy Monday!

@tobiasdiez
Copy link
Contributor

Please make sure that this change is compatible with the usage of pyproject.toml in #36489 (I think that PR uses the default config that you overwrite here).

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 29, 2023

Sure, there's no reason for that implementation of sage-conf to be incompatible with this pyproject.toml.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 2, 2023

Let's get this in please

@tobiasdiez
Copy link
Contributor

Sure, there's no reason for that implementation of sage-conf to be incompatible with this pyproject.toml.

I've tried it with #36489 and its not working as there is no _sage_conf folder anymore. I think its better to stick with the defaults (i.e. either a src or sage_conf folder containing the sources).

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 2, 2023

That #36489 is not ready cannot be blamed on this PR.

Copy link
Member

@kiwifb kiwifb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I do not have any unexpected issue with it in sage-on-gentoo.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 2, 2023

Thank you!

@tobiasdiez
Copy link
Contributor

As I've said before, these lines

packages = ["_sage_conf"]
py-modules = ["sage_conf"]

are not okay for me.

(I think its also not polite to cherry pick commits from a PR and to then introduce changes that lead to conflicts with that PR)

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 3, 2023

As I've said before, these lines

packages = ["_sage_conf"]
py-modules = ["sage_conf"]

are not okay for me.

Tobias, what Python packages and modules are part of the sage-conf distribution is not a matter of opinion or preference, or anything that makes sense to "negotiate". It is just a fact, which was previously declared in setup.cfg; and now it is declared in pyproject.toml.

I also know that you know that.

@tobiasdiez
Copy link
Contributor

Matthias, you are blocking #36489 and on top of that you try to enforce your conventions via this PR. This is not a nice approach.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 3, 2023

No, Tobias, as I have just explained, what is declared in pyproject.toml "is not a matter of opinion or preference", and certainly it is not "my convention". It is the standard. Do I need to point out that you opened #33577, which asks for exactly what is done in this PR?

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Nov 4, 2023

---> sage-abuse (again)

(Edit: I've referred this incident -- abusing of your privileges as a member of the Triage team, and making false and harmful accusations -- to the sage-abuse committee.)

@tobiasdiez
Copy link
Contributor

tobiasdiez commented Nov 4, 2023

Matthias, please don't add a positive review label when there is a negative review. Thanks!

I respect that you don't agree with me nor that you want to discuss things with me, but that doesn't imply that my review just disappears.

@vbraun vbraun force-pushed the develop branch 2 times, most recently from 883e05f to e349b00 Compare November 12, 2023 16:25
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 6, 2023

Lint failure is unrelated, fixed in #36822.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 8, 2024

I think we are free to vote against this PR because it further entrenches a bad design, or because we are drunk, or for any other reason.

Yes, that's how voting works. But that does not stop me from reminding community members about their duty to act responsibly.

Copy link

github-actions bot commented Apr 9, 2024

Documentation preview for this PR (built with commit 9977681; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 19, 2024

The current tally:

Please vote!

@saraedum
Copy link
Member

I vote -1 on this PR.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 27, 2024

I'll note that I am the developer who has been maintaining these distribution packages in pkgs/. I have built and maintain the templating facility (via m4) because synchronizing the version information and other metadata simplifies this maintenance work; it's a carefully thought out and executed part of my plan for the modularized distributions. I would ask reviewers here on the PR and similar PRs to take this into account.

@kcrisman

This comment was marked as off-topic.

@mkoeppe

This comment was marked as abuse.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 3, 2024

9 months later, this PR is still open.

The current tally:

Please vote!

Copy link
Contributor

@culler culler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR seems to replace a pyproject.toml file by an m4 template that can be used to
automatically update version information when generating the pyproject.toml file for a new version. I don't see anything particularly controversial about that. There are surely alternatives to using m4, but Sage is already using m4, so this choice does not make a significant difference.

vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 6, 2024
sagemathgh-38577: Add various project URLs for PyPI
    
<!-- ^ 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". -->

The changed file, `m4/pyproject_toml_metadata.m4`, controls the metadata
of the modularized distributions.

The same changes should be done to **sagemath-standard** and **sage-
conf** after sagemath#37902, sagemath#36561 are merged.

### 📝 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.
- [ ] 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#38577
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 8, 2024
sagemathgh-38577: Add various project URLs for PyPI
    
<!-- ^ 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". -->

The changed file, `m4/pyproject_toml_metadata.m4`, controls the metadata
of the modularized distributions.

The same changes should be done to **sagemath-standard** and **sage-
conf** after sagemath#37902, sagemath#36561 are merged.

### 📝 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.
- [ ] 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#38577
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 8, 2024
sagemathgh-38577: Add various project URLs for PyPI
    
<!-- ^ 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". -->

The changed file, `m4/pyproject_toml_metadata.m4`, controls the metadata
of the modularized distributions.

The same changes should be done to **sagemath-standard** and **sage-
conf** after sagemath#37902, sagemath#36561 are merged.

### 📝 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.
- [ ] 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#38577
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 10, 2024
sagemathgh-38577: Add various project URLs for PyPI
    
<!-- ^ 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". -->

The changed file, `m4/pyproject_toml_metadata.m4`, controls the metadata
of the modularized distributions.

The same changes should be done to **sagemath-standard** and **sage-
conf** after sagemath#37902, sagemath#36561 are merged.

### 📝 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.
- [ ] 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#38577
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 12, 2024
sagemathgh-38577: Add various project URLs for PyPI
    
<!-- ^ 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". -->

The changed file, `m4/pyproject_toml_metadata.m4`, controls the metadata
of the modularized distributions.

The same changes should be done to **sagemath-standard** and **sage-
conf** after sagemath#37902, sagemath#36561 are merged.

### 📝 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.
- [ ] 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#38577
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Sep 14, 2024
sagemathgh-38577: Add various project URLs for PyPI
    
<!-- ^ 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". -->

The changed file, `m4/pyproject_toml_metadata.m4`, controls the metadata
of the modularized distributions.

The same changes should be done to **sagemath-standard** and **sage-
conf** after sagemath#37902, sagemath#36561 are merged.

### 📝 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.
- [ ] 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#38577
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: distribution disputed PR is waiting for community vote, see https://groups.google.com/g/sage-devel/c/IgBYUJl33SQ p: critical / 2 s: needs review v: small
Projects
None yet
Development

Successfully merging this pull request may close these issues.