GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-133644: Remove `PySys_SetArgv*` for 3.15 by xuantengh · Pull Request #136277 · python/cpython

Conversation

@xuantengh

@xuantengh xuantengh commented Jul 4, 2025 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Remove PySys_SetArgv and PySys_SetArgvEx.


📚 Documentation preview 📚: https://cpython-previews--136277.org.readthedocs.build/

  • Issue: Remove deprecated C API objects slated for removal in 3.15 #133644

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
xuantengh added 2 commits July 4, 2025 15:40
@xuantengh
remove PySys_SetArgv*
029686f
@xuantengh
add news entry
edbaf03
@xuantengh
xuantengh requested review from a team, encukou and ericsnowcurrently as code owners July 4, 2025 07:47
@bedevere-app bedevere-app Bot added the awaiting review label Jul 4, 2025
@xuantengh xuantengh changed the title Remove PySys_SetArgv* for 3.15 gh-133644: Remove PySys_SetArgv* for 3.15 Jul 4, 2025
@bedevere-app bedevere-app Bot mentioned this pull request Jul 4, 2025
Remove deprecated C API objects slated for removal in 3.15 #133644
Open
6 of 9 tasks
@ZeroIntensity ZeroIntensity added the topic-C-API label Jul 4, 2025
ZeroIntensity
ZeroIntensity reviewed Jul 4, 2025
View reviewed changes
Comment thread Misc/stable_abi.toml
Comment on lines -1338 to -1341
[function.PySys_SetArgv]
added = '3.2'
[function.PySys_SetArgvEx]
added = '3.2'

@ZeroIntensity ZeroIntensity Jul 4, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

We shouldn't remove the entry here, we should just mark them as abi_only = true.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

zooba reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

@zooba zooba Jul 4, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Which will preserve them in python3dll.c, which is the actual breaking change (or at least the one that can be easily seen in a source diff).

Arguably they should stay in the header files as well, possibly only when Py_LIMITED_API is set. The functionality can change if it needs to, though ideally wouldn't break every existing user.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread Misc/NEWS.d/next/C_API/2025-07-04-15-44-49.gh-issue-133644.Oao-7A.rst Resolved

Uh oh!

There was an error while loading. Please reload this page.

@picnixz

picnixz commented Jul 4, 2025

Copy link
Copy Markdown
Member

Please check if there are projects in the wild that use this. See for instance the case of PyWeakRef_GetObject where we delayed the removal for now until less projects are using it. And also, we should coordinate with the compat project. Finally, add a section for this removal in What's New as well as possible fallbacks.

xuantengh reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

xuantengh added 2 commits July 5, 2025 00:05
@xuantengh
recover stable abi
b99725e
@xuantengh
fix news
6ba2e57
@xuantengh

xuantengh commented Jul 5, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

Please check if there are projects in the wild that use this.

I have some rough and preliminary search in GitHub and find some projects like:

  • https://github.com/plotdevice/plotdevice
  • https://github.com/crftwr/keyhac-win
  • https://github.com/renpy/renpyweb

still use these C functions.

I can have a more detail exploration for popular PyPI packages later.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@xuantengh

xuantengh commented Jul 8, 2025

Copy link
Copy Markdown
Contributor Author

@picnixz I search the top 300 popular PyPI packages and find PySys_SetArgv appears in the following 2:

  • cython
  • orjson
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@picnixz

picnixz commented Jul 8, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Well cython is a major project that we don't want to break. orjson is, iirc, simd-accelerated JSON so we don't want to break it either. They should first upgrade their code and then we'll remove the functions on our side I think.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions

github-actions Bot commented Apr 26, 2026

Copy link
Copy Markdown

This PR is stale because it has been open for 30 days with no activity.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions github-actions Bot added the stale Stale PR or inactive for long period of time. label Apr 26, 2026
This was referenced Jul 27, 2026
26 C APIs scheduled for removal in 3.16 are still present #154757
Open
gh-154757: Remove the deprecated Py_UNICODE type #154759
Open
@ambv ambv mentioned this pull request Oct 20, 2026
gh-133644: remove deprecated global configuration variables #133654
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@zooba zooba zooba left review comments
@ZeroIntensity ZeroIntensity ZeroIntensity left review comments
@encukou encukou Awaiting requested review from encukou encukou is a code owner
@ericsnowcurrently ericsnowcurrently Awaiting requested review from ericsnowcurrently ericsnowcurrently is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

awaiting review stale Stale PR or inactive for long period of time. topic-C-API

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@xuantengh @picnixz @zooba @ZeroIntensity
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.