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

Bump setuptools from 70.3.0 to 74.0.0 #1630

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 1, 2024

Bumps setuptools from 70.3.0 to 74.0.0.

Changelog

Sourced from setuptools's changelog.

v74.0.0

Features

  • Changed the type of error raised by setuptools.command.easy_install.CommandSpec.from_param on unsupported argument from AttributeError to TypeError -- by :user:Avasam (#4548)
  • Added detection of ARM64 variant of MSVC -- by :user:saschanaz (#4553)
  • Made setuptools.package_index.Credential a typing.NamedTuple -- by :user:Avasam (#4585)
  • Reraise error from setuptools.command.easy_install.auto_chmod instead of nonsensical TypeError: 'Exception' object is not subscriptable -- by :user:Avasam (#4593)
  • Fully typed all collection attributes in pkg_resources -- by :user:Avasam (#4598)
  • Automatically exclude .tox|.nox|.venv directories from sdist. (#4603)

Deprecations and Removals

Misc

v73.0.1

Bugfixes

  • Remove abc.ABCMeta metaclass from abstract classes. pypa/setuptools#4503 <https://github.com/pypa/setuptools/pull/4503>_ had an unintended consequence of causing potential TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases -- by :user:Avasam (#4579)

v73.0.0

Features

  • Mark abstract base classes and methods with abc.ABC and abc.abstractmethod -- by :user:Avasam (#4503)
  • Changed the order of type checks in setuptools.command.easy_install.CommandSpec.from_param to support any collections.abc.Iterable of str param -- by :user:Avasam (#4505)

Bugfixes

  • Prevent an error in bdist_wheel if compression is set to a str (even if valid) after finalizing options but before running the command. -- by :user:Avasam (#4383)

... (truncated)

Commits
  • 98ad794 Bump version: 73.0.1 → 74.0.0
  • b4fb917 Merge pull request #4600 from pypa/debt/msvc-monkey
  • 18a44d8 Add news fragment.
  • 5f8215d Merge pull request #4548 from Avasam/from_param-TypeError
  • 6928048 Merge branch 'main' into debt/msvc-monkey
  • 11a6b59 Merge pull request #4606 from pypa/distutils-58fe058e4
  • 903604b Reraise sensible errors from auto_chmod (#4593)
  • 8ec5b5a Add missing news fragment for PR 4603
  • e90dfd5 Exclude top-level .tox|.nox|.venv from sdist (#4603)
  • ef2957a Reraise sensible errors from auto_chmod
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [setuptools](https://github.com/pypa/setuptools) from 70.3.0 to 74.0.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](pypa/setuptools@v70.3.0...v74.0.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot requested a review from edmorley as a code owner September 1, 2024 14:58
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Sep 1, 2024
@edmorley edmorley removed their request for review September 2, 2024 07:15
@edmorley
Copy link
Member

edmorley commented Sep 2, 2024

Starting with setuptools v71.0.0, setuptools will now prefer any installed dependencies over the ones it vendors for its own usage:
https://setuptools.pypa.io/en/stable/history.html#v71-0-0
pypa/setuptools#4457

Whilst this change has good intentions (of being the first step towards setuptools moving away from vendoring and declaring explicit dependencies) this change carries a high risk of breakage for us, since setuptools will now fail in weird and wonderful ways if the app dependencies happen to include outdated versions of setuptools own dependencies. This is less of an issue for packages being built in a PEP-517/518 style isolated build environment, however, not all packages have migrated from setup.py to pyproject.toml builds yet (and pip only uses an isolated build environment if they have, or if there is no setuptools/wheel installed globally).

As such, I don't have plans to update setuptools beyond 70.3.0 (the last version before 71.0.0), and for Python 3.13+ this buildpack will stop installing setuptools and wheel by default. (The Python CNB has already stopped installing them for all Python versions: heroku/buildpacks-python#243)

I'll update the Dependabot config to exclude setuptools from updates.

@edmorley edmorley closed this Sep 2, 2024
Copy link
Contributor Author

dependabot bot commented on behalf of github Sep 2, 2024

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/pip/setuptools-74.0.0 branch September 2, 2024 09:17
edmorley added a commit that referenced this pull request Sep 2, 2024
Since we can't update to setuptools v71+ due to its new approach
to vendored dependencies:
#1630 (comment)

When this buildpack adds support for Python 3.13 we will also
be dropping the global installs of setuptools and wheel.

GUS-W-16637281.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant