-
-
Notifications
You must be signed in to change notification settings - Fork 499
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
Add dependency groups to pyproject.toml
#37446
Conversation
cf0b6d7
to
2e2c641
Compare
#37482 - is a peculiar PR, just cherry-picking commits from here, a PR on which I can't even comment, and positively reviewed by the PR author himself... |
It's not even a cherry-picked commit. Matthias copied a subset of the code changes of this PR, put's it into a different place that is more to his liking and slaps a "positive review" label on it. He did the same with #37452, and insisted that it's "positively review" even after I've removed that label (and explained in #36503 (comment) why the new location is not working for me). @roed314 @williamstein sorry to bother you with this, but my understanding is that this is a clear misuse of the "positive review" label and, since done multiple times on purpose and not by accident, an abuse of his admin/triage rights. Speaking of abuse of admin rights, Matthias continues to flag my review comments as "resolved" - sometimes without even a response to the question (#37351 (review)). Normal users without admin rights cannot mark them as "unresolved" again, effectively hiding them from other reviewers. This problematic conduct has been mentioned to Matthias at multiple instances before (and if my memory serves me well even by members of the sage abuse team). |
@mkoeppe has blocked me on GH - while this is sorted out, we can proceed. And if it's not sorted out, we can block him, why not... |
The Sage Code of Conduct Committee is setting this back to needs review for now based on it being part of @dimpase's reaction to our decision on #36181, #36561, #36676, #36951, #36964, #37351, #36999, and #36941. It can, of course, be granted positive review at a future date, and will be subject to the policy on disputed PRs as normal. |
is this still a disputed PR? |
This PR has obviously neither seen sufficient development, nor any meaningful review. It cannot be merged in this form. It creates a
To summarize: -1, this is deliberate noise. please close. |
The part that declares external dependencies according to draft PEP 725 is valuable and interesting. I am hoping to use it with the skeleton generator for the modularized Sage packages in pyodide, #34539. I have split it out as
|
we don't really practice "single source version information", it can't therefore "violate" it. |
@dimpase That's a meaningless comment. It seems that you are still confused about our version files even after the documentation improvements in |
For anyone interested in improving how we source versions: This requires refactoring, as done in: |
… 'external' section according to draft PEP 725 <!-- ^ 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". --> As done in sagemath#37482 (unbundled from sagemath#37446) for **sagemath-standard**. - This information will be used in the skeleton generator in pyodide/pyodide#4438 ### 📝 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 accordingly. ### ⌛ 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#37486 Reported by: Matthias Köppe Reviewer(s): Kwankyu Lee
This should be closed as a duplicate. |
…t PEP 725 (unbundled from sagemath#37446) <!-- ^ 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". --> This is aspirational decoration for future use by skeleton generators by distributions such as conda, sage-the-distribution, pyodide. Split out from the disputed sagemath#37446, where it is bundled with a number of other changes, including: creating a `pyproject.toml` file in `SAGE_ROOT`, hardcoding versions of Python packages instead of using the existing `sage_bootstrap` infrastructure, etc. @roed314 @vbraun **The scope of PRs should be chosen to minimize friction, not to maximize friction.** sagemath#36726 (comment) Author: @mkoeppe, based on @tobiasdiez's sagemath#37446. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [X] The title is concise and informative. - [ ] 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 accordingly. ### ⌛ 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#37482 Reported by: Matthias Köppe Reviewer(s):
…t PEP 725 (unbundled from sagemath#37446) <!-- ^ 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". --> This is aspirational decoration for future use by skeleton generators by distributions such as conda, sage-the-distribution, pyodide. Split out from the disputed sagemath#37446, where it is bundled with a number of other changes, including: creating a `pyproject.toml` file in `SAGE_ROOT`, hardcoding versions of Python packages instead of using the existing `sage_bootstrap` infrastructure, etc. @roed314 @vbraun **The scope of PRs should be chosen to minimize friction, not to maximize friction.** sagemath#36726 (comment) Author: @mkoeppe, based on @tobiasdiez's sagemath#37446. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [X] The title is concise and informative. - [ ] 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 accordingly. ### ⌛ 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#37482 Reported by: Matthias Köppe Reviewer(s):
…t PEP 725 (unbundled from sagemath#37446) <!-- ^ 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". --> This is aspirational decoration for future use by skeleton generators by distributions such as conda, sage-the-distribution, pyodide. Split out from the disputed sagemath#37446, where it is bundled with a number of other changes, including: creating a `pyproject.toml` file in `SAGE_ROOT`, hardcoding versions of Python packages instead of using the existing `sage_bootstrap` infrastructure, etc. @roed314 @vbraun **The scope of PRs should be chosen to minimize friction, not to maximize friction.** sagemath#36726 (comment) Author: @mkoeppe, based on @tobiasdiez's sagemath#37446. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [X] The title is concise and informative. - [ ] 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 accordingly. ### ⌛ 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#37482 Reported by: Matthias Köppe Reviewer(s):
pyproject.toml
The scope of this PR is now largely reduced, only adding a few dependency groups at the end of the pyproject.toml file. I've thus removed the "disputed" flag. (I can also close this PR and open a new one if this is preferred) |
I'll be slow to respond in the coming 5-6 days or so, as we're moving across the pond tomorrow. |
lgtm |
ought to be squashed into 1 commit. |
71a4f6c
to
d6e03cf
Compare
Thanks!
Done now. |
<!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> Following [PEP 735](https://peps.python.org/pep-0735/#canonical-names- of-dependencies-and-dev-el-split-packages), add a few groups of dependencies that one usually needs while developing sage (e.g. for tests or docs). This info will then be used to generate the conda lock files and once support for PEP 735 is more widespread other tools will be able to use the metadata as well. Eg, once pypa/pip#12963 is implemented one can install all test dependencies with `pip install --groups test`. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [ ] 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 <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#37446 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
<!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> Following [PEP 735](https://peps.python.org/pep-0735/#canonical-names- of-dependencies-and-dev-el-split-packages), add a few groups of dependencies that one usually needs while developing sage (e.g. for tests or docs). This info will then be used to generate the conda lock files and once support for PEP 735 is more widespread other tools will be able to use the metadata as well. Eg, once pypa/pip#12963 is implemented one can install all test dependencies with `pip install --groups test`. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [ ] 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 <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#37446 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik
…da lock files <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> Using the metadata added in sagemath#37446, we automatically generate the conda environment files. This no longer makes any reference to the `conda.txt` files contained in sage-the- distribution. Thus sage-on-top-of-conda is now completely independent of sage-the-distribution (only relying on information specified by sage- the-library). In particular, after this PR is merged the `conda.txt` files could be deleted from sage-the-distribution. In particular, we no longer need to maintain the mapping of pypi packages to conda packages but instead can rely on the offical mappings maintained by the conda team (https://github.com/regro/cf-graph- countyfair/tree/master/mappings/pypi). To test: ``` pip install grayskull conda-lock python tools/update-conda.py ``` The updated conda files are committed here as well. Moreover, the `environment-dev` files have been deleted as there was only little difference between these files and some people rightfully complained that having too many files in the root folder is distracting. As a byproduct, this fixes sagemath#34626. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [ ] 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 - sagemath#37446: specifies additional requirements in the pyproject.toml which are used to generate the conda env files - sagemath#38983: for the update of numpy - sagemath#38982: to fix meson build <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#37447 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Julian Rüth, Tobias Diez
…da lock files <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> Using the metadata added in sagemath#37446, we automatically generate the conda environment files. This no longer makes any reference to the `conda.txt` files contained in sage-the- distribution. Thus sage-on-top-of-conda is now completely independent of sage-the-distribution (only relying on information specified by sage- the-library). In particular, after this PR is merged the `conda.txt` files could be deleted from sage-the-distribution. In particular, we no longer need to maintain the mapping of pypi packages to conda packages but instead can rely on the offical mappings maintained by the conda team (https://github.com/regro/cf-graph- countyfair/tree/master/mappings/pypi). To test: ``` pip install grayskull conda-lock python tools/update-conda.py ``` The updated conda files are committed here as well. Moreover, the `environment-dev` files have been deleted as there was only little difference between these files and some people rightfully complained that having too many files in the root folder is distracting. As a byproduct, this fixes sagemath#34626. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [ ] 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 - sagemath#37446: specifies additional requirements in the pyproject.toml which are used to generate the conda env files - sagemath#38983: for the update of numpy - sagemath#38982: to fix meson build <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#37447 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Julian Rüth, Tobias Diez
…da lock files <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> Using the metadata added in sagemath#37446, we automatically generate the conda environment files. This no longer makes any reference to the `conda.txt` files contained in sage-the- distribution. Thus sage-on-top-of-conda is now completely independent of sage-the-distribution (only relying on information specified by sage- the-library). In particular, after this PR is merged the `conda.txt` files could be deleted from sage-the-distribution. In particular, we no longer need to maintain the mapping of pypi packages to conda packages but instead can rely on the offical mappings maintained by the conda team (https://github.com/regro/cf-graph- countyfair/tree/master/mappings/pypi). To test: ``` pip install grayskull conda-lock python tools/update-conda.py ``` The updated conda files are committed here as well. Moreover, the `environment-dev` files have been deleted as there was only little difference between these files and some people rightfully complained that having too many files in the root folder is distracting. As a byproduct, this fixes sagemath#34626. <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [ ] 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 - sagemath#37446: specifies additional requirements in the pyproject.toml which are used to generate the conda env files - sagemath#38983: for the update of numpy - sagemath#38982: to fix meson build <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#37447 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Julian Rüth, Tobias Diez
Following PEP 735, add a few groups of dependencies that one usually needs while developing sage (e.g. for tests or docs).
This info will then be used to generate the conda lock files and once support for PEP 735 is more widespread other tools will be able to use the metadata as well. Eg, once pypa/pip#12963 is implemented one can install all test dependencies with
pip install --groups test
.📝 Checklist
⌛ Dependencies