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

Switch more Python toolchain packages to use (platform-independent) wheels #36885

Merged
merged 25 commits into from
Dec 26, 2023

Conversation

mkoeppe
Copy link
Member

@mkoeppe mkoeppe commented Dec 15, 2023

We simplify the Sage distribution by installing more Python packages as platform-independent wheels.

  • No longer use direct installation using the deprecated setup.py install
  • pip bootstraps itself from its wheel
  • setuptools is installed as a wheel
  • remove the 2nd copy of setuptools (SPKG setuptools_wheel)

We also add the build backends hatchling and flit_core to PYTHON_TOOLCHAIN. This fixes some missing dependencies, including editables (as reported in https://groups.google.com/g/sage-release/c/uP-rwlM__MU/m/oU-49z9VAwAJ).

The package deprecation is no longer used by any package (has it been ... deprecated?) and is removed here.

📝 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

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 18, 2023

Thanks.

@vbraun
Copy link
Member

vbraun commented Dec 20, 2023

Please check that a clean build works. I'm getting

[furo-2022.9.29] ****************************************************
[furo-2022.9.29] Package 'furo' is currently not installed
[furo-2022.9.29] No legacy uninstaller found for 'furo'; nothing to do
[furo-2022.9.29] ./spkg-install: line 36: cd: src: No such file or directory
[furo-2022.9.29] Installing furo-2022.9.29
[furo-2022.9.29] ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
[furo-2022.9.29] Warning: building with "python3 -m pip wheel --wheel-dir=dist --verbose --no-deps --no-index --isolated --ignore-requires-python --find-links=/home/release/Sage/local/var/lib/sage/venv-python3.11.1/var/lib/sage/wheels" failed.
[furo-2022.9.29] Retrying with "python3 -m pip wheel --wheel-dir=dist --verbose --no-deps --no-index --isolated --ignore-requires-python --no-build-isolation --no-binary :all:".
[furo-2022.9.29] ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
[furo-2022.9.29] ***********************************************************************************************************************************************************
[furo-2022.9.29] Error building a wheel for furo-2022.9.29
[furo-2022.9.29] ***********************************************************************************************************************************************************

Copy link

Documentation preview for this PR (built with commit 86105b4; changes) is ready! 🎉

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

Fixed now.

vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 22, 2023
…orm-independent) wheels

    
<!-- ^^^^^
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 -->
We simplify the Sage distribution by installing more Python packages as
platform-independent wheels.
- No longer use direct installation using the deprecated `setup.py
install`
- `pip` bootstraps itself from its wheel
- `setuptools` is installed as a wheel
- remove the 2nd copy of setuptools (SPKG `setuptools_wheel`)

We also add the build backends `hatchling` and `flit_core` to
`PYTHON_TOOLCHAIN`. This fixes some missing dependencies, including
`editables` (as reported in https://groups.google.com/g/sage-
release/c/uP-rwlM__MU/m/oU-49z9VAwAJ).

The package `deprecation` is no longer used by any package (has it been
... deprecated?) and is removed here.

<!-- 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.
- [ ] 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: ...
-->
- Depends on sagemath#36888 (for fixing the html workflow)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36885
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 23, 2023
…orm-independent) wheels

    
<!-- ^^^^^
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 -->
We simplify the Sage distribution by installing more Python packages as
platform-independent wheels.
- No longer use direct installation using the deprecated `setup.py
install`
- `pip` bootstraps itself from its wheel
- `setuptools` is installed as a wheel
- remove the 2nd copy of setuptools (SPKG `setuptools_wheel`)

We also add the build backends `hatchling` and `flit_core` to
`PYTHON_TOOLCHAIN`. This fixes some missing dependencies, including
`editables` (as reported in https://groups.google.com/g/sage-
release/c/uP-rwlM__MU/m/oU-49z9VAwAJ).

The package `deprecation` is no longer used by any package (has it been
... deprecated?) and is removed here.

<!-- 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.
- [ ] 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: ...
-->
- Depends on sagemath#36888 (for fixing the html workflow)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36885
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 24, 2023
…orm-independent) wheels

    
<!-- ^^^^^
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 -->
We simplify the Sage distribution by installing more Python packages as
platform-independent wheels.
- No longer use direct installation using the deprecated `setup.py
install`
- `pip` bootstraps itself from its wheel
- `setuptools` is installed as a wheel
- remove the 2nd copy of setuptools (SPKG `setuptools_wheel`)

We also add the build backends `hatchling` and `flit_core` to
`PYTHON_TOOLCHAIN`. This fixes some missing dependencies, including
`editables` (as reported in https://groups.google.com/g/sage-
release/c/uP-rwlM__MU/m/oU-49z9VAwAJ).

The package `deprecation` is no longer used by any package (has it been
... deprecated?) and is removed here.

<!-- 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.
- [ ] 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: ...
-->
- Depends on sagemath#36888 (for fixing the html workflow)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36885
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik
@vbraun vbraun merged commit f3b3945 into sagemath:develop Dec 26, 2023
28 of 31 checks passed
@mkoeppe mkoeppe added this to the sage-10.3 milestone Dec 26, 2023
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 2, 2024
… `pyproject.toml`

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

<!-- 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". -->
- In part split out from sagemath#36489
- Part of sagemath#33577
<!-- 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.
- [ ] 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: ...
-->
- Depends on sagemath#36533 (which changes setup.cfg, merged here)
- Depends on sagemath#36885

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36561
Reported by: Matthias Köppe
Reviewer(s): François Bissey
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 5, 2024
… `pyproject.toml`

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

<!-- 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". -->
- In part split out from sagemath#36489
- Part of sagemath#33577
<!-- 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.
- [ ] 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: ...
-->
- Depends on sagemath#36533 (which changes setup.cfg, merged here)
- Depends on sagemath#36885

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36561
Reported by: Matthias Köppe
Reviewer(s): François Bissey
mkoeppe added a commit to mkoeppe/sage that referenced this pull request Feb 25, 2024
mkoeppe added a commit to mkoeppe/sage that referenced this pull request Mar 26, 2024
mkoeppe added a commit to mkoeppe/sage that referenced this pull request May 25, 2024
mkoeppe added a commit to mkoeppe/sage that referenced this pull request Jun 9, 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 this pull request may close these issues.

None yet

3 participants