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 cython from 0.29.34 to 3.0.0 in /python/helpers #7586

Merged
merged 2 commits into from
Aug 3, 2023

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 18, 2023

Bumps cython from 0.29.34 to 3.0.0.

Changelog

Sourced from cython's changelog.

3.0.0 unified release notes

Cython 3.0.0 has been a very large effort that cleaned up many old warts, introduced many new features, and introduces a couple of intentional behaviour changes, even though the goal remained to stay compatible as much as possible with Cython 0.29.x. For details, see the migration guide_.

.. _migration guide: https://cython.readthedocs.io/en/latest/src/userguide/migrating_to_cy30.html

As the development was spread out over several years, a lot of things have happened in the meantime. Many crucial bugfixes and some features were backported to 0.29.x and are not strictly speaking "new" in Cython 3.0.0.

Major themes in 3.0.0

Compatibility with Python

Since Cython 3.0.0 started development, CPython 3.8-3.11 were released. All these are supported in Cython, including experimental support for the in-development CPython 3.12. On the other end of the spectrum, support for Python 2.6 was dropped.

Cython interacts very closely with the C-API of Python, which is where most of the adaptation work happens. Independently, Cython strives to be able to parse newer Python constructs for use with its pure python_ mode, which has been a focus. In short, this allows to compile a wider range of Python code into optimized C code.

.. _pure python: https://cython.readthedocs.io/en/latest/src/tutorial/pure.html

Implemented PEPs ^^^^^^^^^^^^^^^^

  • PEP-3131_: Supporting Non-ASCII Identifiers (Github issue :issue:2601)
  • PEP-479_: generator_stop (enabled by default for language_level=3) (Github issue :issue:2580)
  • PEP-487_: Simpler customisation of class creation (Github issue :issue:2781)
  • PEP-563_: Postponed Evaluation of Annotations (Github issue :issue:3285)
  • PEP-570_: Positional-Only Parameters (Github issue :issue:2915)
  • PEP-572_: Assignment Expressions (a.k.a. the walrus operator :=) (Github issue :issue:2636)
  • PEP-590_: Vectorcall protocol (Github issue :issue:2263)
  • PEP-614_: Relaxing Grammar Restrictions On Decorators (Github issue :issue:4570)

Typing support in the sense of PEP-484_ (Github issues :issue:3949, :issue:4243) and PEP-560_ (Github issues :issue:2753, :issue:3537, :issue:3764) was also improved.

.. _PEP-3131: https://www.python.org/dev/peps/pep-3131 .. _PEP-479: https://www.python.org/dev/peps/pep-0479

... (truncated)

Commits

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 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)

@dependabot dependabot bot requested a review from a team as a code owner July 18, 2023 21:47
@dependabot dependabot bot added dependencies python Dependabot pull requests that update Python code labels Jul 18, 2023
@abdulapopoola
Copy link
Member

@dependabot rebase

@dependabot dependabot bot force-pushed the dependabot/pip/python/helpers/cython-3.0.0 branch 2 times, most recently from a2ad80a to b591a77 Compare August 3, 2023 07:37
@jeffwidman jeffwidman added Ecosystems Used by the maintainer team for internal-facing project tracking and removed dependencies python Dependabot pull requests that update Python code labels Aug 3, 2023
@jeffwidman jeffwidman self-assigned this Aug 3, 2023
@dependabot dependabot deleted a comment from abdulapopoola Aug 3, 2023
@jeffwidman
Copy link
Member

@dependabot rebase

@dependabot dependabot bot force-pushed the dependabot/pip/python/helpers/cython-3.0.0 branch from b591a77 to 768349d Compare August 3, 2023 18:42
@jeffwidman jeffwidman enabled auto-merge August 3, 2023 20:04
dependabot bot and others added 2 commits August 3, 2023 13:35
Bumps [cython](https://github.com/cython/cython) from 0.29.34 to 3.0.0.
- [Release notes](https://github.com/cython/cython/releases)
- [Changelog](https://github.com/cython/cython/blob/master/CHANGES.rst)
- [Commits](cython/cython@0.29.34...3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
This test was failing when it tried to install `pyyaml`:
```
rspec ./spec/dependabot/python/update_checker/pip_compile_version_resolver_spec.rb:139
```

The underlying issue is `PyYAML` isn't yet compatible with `cython` `3.0.0`.
So manually I bumped the `pyyaml` pin to `6.0.1` which includes a
holdback pin to not install the latest `cython`:
* yaml/pyyaml@c42fa3b

The better way to fix this would be to regenerate the `pip-compile`
output lockfile, but I wasn't sure I'd be able to do that since the
`imports_shared.in` file includes a recursive reference to another
requirements file... and that other requirements file doesn't appear to
exist on disk in the fixtures... from a quick glance at the test specs
code, it may dynamically generate that file. So I'd have to start it,
then drop into a debugger to pause it, then manually go look at the file
(if it's even saved to disk), and then re-run it... and even then, it
may cause other failures with the test since it updates all the other
versions...

Anyway, rather than tracking all that down, I merely tried the pin, and
low and behold it fixed the test. So I think we're good for now,
especially as `pyyaml` isn't part of the test at all, it's just a
transitive dep of the actual package under test.
@jeffwidman jeffwidman force-pushed the dependabot/pip/python/helpers/cython-3.0.0 branch from 91dd245 to 0a8e0b4 Compare August 3, 2023 20:35
@jeffwidman jeffwidman merged commit 5688aa2 into main Aug 3, 2023
@jeffwidman jeffwidman deleted the dependabot/pip/python/helpers/cython-3.0.0 branch August 3, 2023 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ecosystems Used by the maintainer team for internal-facing project tracking L: python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants