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

Use PEP 660 editable wheels for sagelib #34209

Open
mkoeppe opened this issue Jul 22, 2022 · 20 comments · May be fixed by #38439
Open

Use PEP 660 editable wheels for sagelib #34209

mkoeppe opened this issue Jul 22, 2022 · 20 comments · May be fixed by #38439

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 22, 2022

The current implementation of --enable-editable uses pip install --editable --no-build-isolation (with SETUPTOOLS_ENABLE_FEATURES=legacy-editable in
build/pkgs/sagelib/spkg-install.in), which goes through legacy setup.py develop.

Here we change to the PEP 660 implementation in setuptools 65.x from #34344. We drop --no-build-isolation too, so that setuptools from the wheel, not the installed setuptools 63.x is used.

Depends on #32874

CC: @kwankyu @saraedum

Component: build

Branch/Commit: u/mkoeppe/use_pep_660_editable_wheels_for_sagelib @ 48576c8

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

@mkoeppe mkoeppe added this to the sage-9.7 milestone Jul 22, 2022
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jul 22, 2022

Dependencies: #34177

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jul 22, 2022

Changed dependencies from #34177 to #34177, #32406

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jul 22, 2022

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jul 22, 2022

Commit: eb75752

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jul 22, 2022

comment:4

seems to work but cythonizes from scratch every time


New commits:

989217fbuild/pkgs/setuptools: Update to 63.1.0
d60fa18build/pkgs/setuptools: Update to 63.2.0
970c9d9Merge #34177
8619b29configure.ac: Make --enable-editable the default
6513b6bREADME.md: Explain configure --disable-editable
ff8710edocker/Dockerfile: Use configure --disable-editable
7221a76src/setup.py: Do not run find_namespace_packages for 'setup.py dist_info'
a911e0fsrc/MANIFEST.in: prune sage_docbuild, doc
6c1e4f9Merge #32406
eb75752build/pkgs/setuptools: Use setuptools @ features/pep660

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 10, 2022

comment:6

This setuptools branch is about to be merged into main - https://discuss.python.org/t/help-testing-pep-660-support-in-setuptools/16904/61

@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 10, 2022
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 11, 2022

Work Issues: rebase on #34344

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 11, 2022

Changed dependencies from #34177, #32406 to #34177, #32406, #34344

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 11, 2022

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

c06ececbuild/pkgs/setuptools: Update to 64.0.0
a292013build/bin/sage-dist-helpers (sdh_pip_editable_install), build/pkgs/sagelib/spkg-install: Do not use PEP 660 editable wheels

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 11, 2022

Changed commit from eb75752 to a292013

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 11, 2022

Changed commit from a292013 to ea8a50e

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 11, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

ea8a50eRevert "build/bin/sage-dist-helpers (sdh_pip_editable_install), build/pkgs/sagelib/spkg-install: Do not use PEP 660 editable wheels"

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 11, 2022

Changed work issues from rebase on #34344 to none

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 11, 2022

Changed dependencies from #34177, #32406, #34344 to #34344

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 15, 2022

Changed commit from ea8a50e to da94f7e

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 15, 2022

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

da94f7eRevert "build/bin/sage-dist-helpers (sdh_pip_editable_install), build/pkgs/sagelib/spkg-install: Do not use PEP 660 editable wheels"

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 15, 2022

Changed dependencies from #34344 to #32874

@mkoeppe

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 15, 2022

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

a683934configure.ac (--enable-wheels): New
f2d1576configure.ac: Improve docstring
05b44d7build/pkgs/{sage_conf,sage_docbuild,sage_setup,sage_sws2rst}/spkg-install: Handle SAGE_WHEELS
dde4bdbsrc/sage/misc/package_dir.py: Fix docstring markup
ffe67e8is_package_or_sage_namespace_package_dir: Add option distribution_filter
11507a5build/pkgs/sagelib/spkg-install: No need to uninstall before installing - cleaner is back in
974c7fdsrc/MANIFEST.in: Remove redundant entries for MANIFEST.in, pyproject.toml
25898basrc/MANIFEST.in: Exclude generated file farey_symbol.h; add comments
7ad267aMerge #32874
48576c8build/bin/sage-dist-helpers: Use pip wheel --editable

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Oct 15, 2022

Changed commit from da94f7e to 48576c8

@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Dec 31, 2022
@mkoeppe mkoeppe modified the milestones: sage-10.0, sage-10.1 Apr 30, 2023
@mkoeppe mkoeppe removed this from the sage-10.1 milestone Aug 7, 2023
vbraun pushed a commit to vbraun/sage that referenced this issue Dec 10, 2023
    
<!-- ^^^^^
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 -->
This modernization eliminates some deprecation warnings during
installation. It may help solve the problem of the disappearing sage-
conf (https://groups.google.com/g/sage-
release/c/J6mGYH56FKA/m/m9yHivCWAgAJ, https://groups.google.com/g/sage-
release/c/dvPti2UkyjQ/m/2jeUZROzAwAJ, https://groups.google.com/g/sage-
release/c/DeqhtAgi2es/m/DYq13owvAQAJ).

No change to how sagelib is installed; this will be taken care of
separately (sagemath#34209).

In combination with sagemath#36562, which adds `pyproject.toml` for sage-
docbuild, sage-setup, sage-sws2rst, also these distributions are
switched to the modern editable install.

<!-- 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. -->

- [x] The title is concise, informative, and self-explanatory.
- [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 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#36751
Reported by: Matthias Köppe
Reviewer(s): John H. Palmieri
vbraun pushed a commit to vbraun/sage that referenced this issue Dec 17, 2023
    
<!-- ^^^^^
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 -->
This modernization eliminates some deprecation warnings during
installation. It may help solve the problem of the disappearing sage-
conf (https://groups.google.com/g/sage-
release/c/J6mGYH56FKA/m/m9yHivCWAgAJ, https://groups.google.com/g/sage-
release/c/dvPti2UkyjQ/m/2jeUZROzAwAJ, https://groups.google.com/g/sage-
release/c/DeqhtAgi2es/m/DYq13owvAQAJ).

No change to how sagelib is installed; this will be taken care of
separately (sagemath#34209).

In combination with sagemath#36562, which adds `pyproject.toml` for sage-
docbuild, sage-setup, sage-sws2rst, also these distributions are
switched to the modern editable install.

<!-- 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. -->

- [x] The title is concise, informative, and self-explanatory.
- [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 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#36751
Reported by: Matthias Köppe
Reviewer(s): John H. Palmieri
@mkoeppe mkoeppe added this to the sage-10.5 milestone Jun 28, 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.

1 participant