Skip to content

fix CodeType support for PyPy3.11 7.3.19+#707

Merged
mmckerns merged 1 commit intouqfoundation:masterfrom
mgorny:pypy-7.3.19
Mar 12, 2025
Merged

fix CodeType support for PyPy3.11 7.3.19+#707
mmckerns merged 1 commit intouqfoundation:masterfrom
mgorny:pypy-7.3.19

Conversation

@mgorny
Copy link
Contributor

@mgorny mgorny commented Mar 10, 2025

Summary

Add support for the variation of types.CodeType used in PyPy3.11 7.3.19 and newer. It introduces co_qualname in addition to the previous members — but it does not feature co_exceptiontable like CPython 3.11. I've named the version (3,11,'p') for PyPy.

Fixes #706

Checklist

Documentation and Tests

  • Artifacts produced with the main branch work as expected under this PR.

Release Management

  • Added "Fixes #NNN" in the PR body, referencing the issue (#NNN) it closes.
  • Added a comment to issue #NNN, linking back to this PR.
  • Requested a review.

Add support for the variation of `types.CodeType` used in PyPy3.11
7.3.19 and newer.  It introduces `co_qualname` in addition
to the previous members — but it does not feature `co_exceptiontable`
like CPython 3.11.  I've named the version `(3,11,'p')` for PyPy.

Fixes uqfoundation#706
Copy link
Member

@mmckerns mmckerns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed and tested the changes. LGTM. Not sure why test is failing for 3.9.9 on Travis -- passes for 3.9.21.
Seeing the same issue for recent pulls in the last week or so (after changes to Travis), for example: #705

@mmckerns mmckerns added this to the dill-0.4.0 milestone Mar 12, 2025
@mmckerns mmckerns merged commit 599265e into uqfoundation:master Mar 12, 2025
1 check failed
@mgorny mgorny deleted the pypy-7.3.19 branch March 12, 2025 07:05
@mgorny
Copy link
Contributor Author

mgorny commented Mar 12, 2025

Thank you!

tgbugs added a commit to tgbugs/cloudpickle that referenced this pull request Apr 26, 2025
luketainton pushed a commit to luketainton/repos_pypilot that referenced this pull request Jan 5, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [dill](https://github.com/uqfoundation/dill) | project.dependencies | minor | `==0.3.9` -> `==0.4.0` |

---

### Release Notes

<details>
<summary>uqfoundation/dill (dill)</summary>

### [`v0.4.0`](https://github.com/uqfoundation/dill/releases/tag/0.4.0)

[Compare Source](uqfoundation/dill@0.3.9...0.4.0)

### 0.4.0 Release Notes

With `dill`, you can serialize almost anything in python, even an entire interpreter session.  If you encounter any pickling failures, `dill` also has some good tools to help you discover why your object fails to pickle.

`dill` installs with `pip`:
`$ pip install dill`

`dill` requires:
`- python or pypy, >=3.8`

Optional requirements:
`- pyreadline, >=1.7.1` (install with `$ pip install dill[readline]`)
`- objgraph, >=1.7.2` (install with `$ pip install dill[graph]`)

`dill` is licensed under 3-clause BSD:

    >>> import dill
    >>> print (dill.license())

To cite `dill`:

    >>> import dill
    >>> print (dill.citation())

#### What's Changed

-   update travis badge link by [@&#8203;mmckerns](https://github.com/mmckerns) in uqfoundation/dill#683
-   fix buiding documentation with sphinx 8.x by [@&#8203;kloczek](https://github.com/kloczek) in uqfoundation/dill#684
-   add initial support for python 3.14 by [@&#8203;mmckerns](https://github.com/mmckerns) in uqfoundation/dill#691
-   Bump starlette from 0.37.2 to 0.40.0 in /docs by [@&#8203;dependabot](https://github.com/dependabot) in uqfoundation/dill#686
-   fix typo in requirements.txt by [@&#8203;mmckerns](https://github.com/mmckerns) in uqfoundation/dill#693
-   updated copyright for 2025 by [@&#8203;mmckerns](https://github.com/mmckerns) in uqfoundation/dill#696
-   Bump jinja2 from 3.1.4 to 3.1.5 in /docs by [@&#8203;dependabot](https://github.com/dependabot) in uqfoundation/dill#695
-   support pypy-3.11 by [@&#8203;mmckerns](https://github.com/mmckerns) in uqfoundation/dill#701
-   update docs requirements; CI for pypy3.11 by [@&#8203;mmckerns](https://github.com/mmckerns) in uqfoundation/dill#702
-   fix CodeType support for PyPy3.11 7.3.19+ by [@&#8203;mgorny](https://github.com/mgorny) in uqfoundation/dill#707
-   move travis build of 3.9 to focal by [@&#8203;mmckerns](https://github.com/mmckerns) in uqfoundation/dill#708
-   Bump jinja2 from 3.1.5 to 3.1.6 in /docs by [@&#8203;dependabot](https://github.com/dependabot) in uqfoundation/dill#705

#### New Contributors

-   [@&#8203;kloczek](https://github.com/kloczek) made their first contribution in uqfoundation/dill#684

**Full Changelog**: uqfoundation/dill@0.3.9...0.4.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDUuMiIsInVwZGF0ZWRJblZlciI6IjM5LjI0NS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: https://git.tainton.uk/repos/pypilot/pulls/327
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
Co-committed-by: Renovate [BOT] <renovate-bot@git.tainton.uk>
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.

Code pickling broken with PyPy3.11 7.3.19+

2 participants