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 — Remove deprecated C API objects slated for removal in 3.15 · Issue #133644 · python/cpython

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

New issue
Copy link
New issue
Copy link
Open
Open
Remove deprecated C API objects slated for removal in 3.15#133644
Copy link
Labels
3.15bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-C-API

Description

@picnixz
picnixz
opened on May 8, 2025
Issue body actions

Proposal:

This issue serves as a tracker for removing the following parts of the C API:

  • Global configuration variables: #133654
  • Process-wide parameters: #133661
  • PyImport_ImportModuleNoBlock: #133655
  • PyWeakref_GetObject and PyWeakref_GET_OBJECT: #133657
  • Functions to configure Python's initialization (PySys_Set* & co)
  • Py_UNICODE_WIDE and Py_UNICODE type

Tracked separately:

  • vendored copy of libmpdecimal: #115119. (deferred to Python 3.16)
  • PyUnicode_As{Encoded,Decoded}{Object,Unicode}: #133610 cc @StanFromIreland
  • PySys_ResetWarnOptions Remove deprecated PySys_ResetWarnOptions C-API function #138886 cc @sobolevn

I'll take care of doing the other deprecation removals and update c-api-pending-removal-in-3-15.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

  • gh-133644: remove deprecated global configuration variables #133654
  • gh-133644: remove deprecated PyImport_ImportModuleNoBlock #133655
  • gh-133644: remove PyWeakref_GetObject and PyWeakref_GET_OBJECT #133657
  • gh-133644: remove deprecated Python initialization getter functions #133661
  • gh-133644: Avoid deprecated Py_SetProgramName() in _testembed.c #133665
  • gh-133644: update Py_InteractiveFlag deprecation notice #133749
  • [3.14] gh-133644: update Py_InteractiveFlag deprecation notice (GH-133749) #133751
  • [3.13] gh-133644: update Py_InteractiveFlag deprecation notice (GH-133749) #133752
  • gh-133644: Remove PySys_SetArgv* for 3.15 #136277
  • gh-138886: Remove deprecated PySys_ResetWarnOptions C-API function #138887

Activity

Next
  1. picnixz
    self-assigned this
    on May 8, 2025
  2. picnixz
    added
    interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)
    topic-C-API
    3.15bugs and security fixesbugs and security fixes
    on May 8, 2025
  3. skirpichev commented on May 8, 2025

    @skirpichev
    skirpichev
    on May 8, 2025 · Hidden as resolved
    show commentMore actions
  4. picnixz
    added a commit that references this issue on May 8, 2025

    gh-133644: remove deprecated `PyImport_ImportModuleNoBlock` (#133655)

    a2c4467
  5. vstinner
    added 3 commits that reference this issue on May 8, 2025

    pythongh-133644: Avoid deprecated Py_SetProgramName() in _testembed

    bf71385

    pythongh-133644: Avoid deprecated Py_SetProgramName() in _testembed.c

    4a9dada

    gh-133644: Remove deprecated Python initialization getter functions (#…

    5044e85
  6. picnixz
    added a commit that references this issue on May 9, 2025

    gh-133644: update `Py_InteractiveFlag` deprecation notice (#133749)

    3ed8d6f
  7. miss-islington
    added 2 commits that reference this issue on May 9, 2025

    pythongh-133644: update `Py_InteractiveFlag` deprecation notice (pyth…

    4eda56d

    pythongh-133644: update `Py_InteractiveFlag` deprecation notice (pyth…

    fb0609b
  8. picnixz
    added 2 commits that reference this issue on May 9, 2025

    [3.14] gh-133644: update `Py_InteractiveFlag` deprecation notice (GH-…

    9a77637

    [3.13] gh-133644: update `Py_InteractiveFlag` deprecation notice (GH-…

    a98d46a
  9. vstinner
    added a commit that references this issue on May 9, 2025

    gh-133644: Avoid deprecated Py_SetProgramName() in _testembed.c (#133665

    6d9ec4e
  10. 1 remaining item

  11. StanFromIreland commented on Jul 9, 2025

    @StanFromIreland
    StanFromIreland
    on Jul 9, 2025
    Member
    More actions

    I think we can cross out libmpdecimal removal since it has been deferred to 3.16?

  12. StanFromIreland commented on Jul 9, 2025

    @StanFromIreland
    StanFromIreland
    on Jul 9, 2025
    Member
    More actions

    Py_UNICODE_WIDE and Py_UNICODE type

    Looking at just the top 500 pypi packages (Thanks Victor!), there is still usage in several packages. Do we want to postpone to 3.16?

  13. vstinner commented on Jul 11, 2025

    @vstinner
    vstinner
    on Jul 11, 2025
    Member
    More actions

    Looking at just the top 500 pypi packages (Thanks Victor!), there is still usage in several packages. Do we want to postpone to 3.16?

    How is it used? How many projects use them?

  14. vstinner commented on Jul 11, 2025

    @vstinner
    vstinner
    on Jul 11, 2025
    Member
    More actions

    I think we can cross out libmpdecimal removal since it has been deferred to 3.16?

    Right, we should wait for Python 3.16.

  15. Pranjal095
    added 4 commits that reference this issue on Jul 12, 2025

    pythongh-133644: remove deprecated `PyImport_ImportModuleNoBlock` (py…

    b218a11

    pythongh-133644: Remove deprecated Python initialization getter funct…

    32b583a

    pythongh-133644: update `Py_InteractiveFlag` deprecation notice (pyth…

    4bf059e

    pythongh-133644: Avoid deprecated Py_SetProgramName() in _testembed.c (…

    0edfd4e
  16. taegyunkim
    added 4 commits that reference this issue on Aug 4, 2025

    pythongh-133644: remove deprecated `PyImport_ImportModuleNoBlock` (py…

    25fae29

    pythongh-133644: Remove deprecated Python initialization getter funct…

    c741cf6

    pythongh-133644: update `Py_InteractiveFlag` deprecation notice (pyth…

    2d576c3

    pythongh-133644: Avoid deprecated Py_SetProgramName() in _testembed.c (…

    f4216c2
  17. picnixz
    removed their assignment
    on Sep 14, 2025
  18. encukou
    added a commit that references this issue on Sep 24, 2025

    gh-133644: remove `PyWeakref_GetObject` and `PyWeakref_GET_OBJECT` (G…

    a5e0562
  19. encukou commented on Feb 27, 2026

    @encukou
    encukou
    on Feb 27, 2026
    Member
    More actions

    For Py_UNICODE_WIDE I propose soft deprecation instead.
    There's been no user warning outside docs, and removing an #ifdef macro can silently change the value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.15bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-C-API

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      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.