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 — Buffer support in the stable ABI · Issue #88775 · python/cpython

Buffer support in the stable ABI #88775

New issue
Copy link
New issue
Copy link
Closed
Closed
Buffer support in the stable ABI#88775
Copy link
Labels
3.10 (EOL)end of lifeend of lifebuildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

Description

tarunjohar
mannequin
opened on Jul 12, 2021
Issue body actions
BPO 44609
Nosy @encukou, @methane

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = <Date 2021-10-21.13:30:09.065>
created_at = <Date 2021-07-12.15:05:02.827>
labels = ['type-bug', '3.10', 'build']
title = 'Buffer support in the stable ABI'
updated_at = <Date 2021-10-21.13:30:09.061>
user = 'https://bugs.python.org/tarunjohar'

bugs.python.org fields:

activity = <Date 2021-10-21.13:30:09.061>
actor = 'petr.viktorin'
assignee = 'none'
closed = True
closed_date = <Date 2021-10-21.13:30:09.065>
closer = 'petr.viktorin'
components = ['Build']
creation = <Date 2021-07-12.15:05:02.827>
creator = 'tarun.johar'
dependencies = []
files = []
hgrepos = []
issue_num = 44609
keywords = []
message_count = 2.0
messages = ['397319', '404601']
nosy_count = 3.0
nosy_names = ['petr.viktorin', 'methane', 'tarun.johar']
pr_nums = []
priority = 'normal'
resolution = 'fixed'
stage = 'resolved'
status = 'closed'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue44609'
versions = ['Python 3.10']

Activity

  1. tarunjohar commented on Jul 12, 2021

    @tarunjohar
    tarunjoharmannequin
    on Jul 12, 2021
    MannequinAuthor
    More actions

    PEP-384 and PEP-652 define a stable ABI to be used with Python 3.2 and later. On Windows, symbols for the stable ABI are exported from the python3.dll shared library.

    The following functions are present in Python 3.9 but have been removed from Python 3.10b3:

    PyObject_AsCharBuffer()
    PyObject_AsReadBuffer()
    PyObject_AsWriteBuffer()
    PyObject_CheckReadBuffer()

    The justification for the removal of these functions was discussed in this issue:

    https://bugs.python.org/issue41103

    Without these functions, an extension cannot utilize the stable ABI to access the buffer memory of data structures. The buffer protocol is suggested as an alternative, but the buffer functions PyObject_GetBuffer() and PyBuffer_Release() are not present in the stable ABI.

    While these two functions may be added to the stable ABI, removal of the four functions above makes Python 3.10 incompatible with previous versions. It is requested that the four functions be reinstated and maintained as described in PEP-652.

  2. tarunjohar
    added
    3.10 (EOL)end of lifeend of life
    buildThe build process and cross-buildThe build process and cross-build
    type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
    on Jul 12, 2021
  3. encukou commented on Oct 21, 2021

    @encukou
    encukou
    on Oct 21, 2021
    Member
    More actions

    That removal was reverted. Thanks for the report!

    They are still deprecated, which means they may be removed from future API (and only remain in the stable ABI).
    But I hope that's only considered when the new buffer protocol is available in the stable ABI.

  4. encukou
    closed this as completedon Oct 21, 2021
  5. encukou
    closed this as completedon Oct 21, 2021
  6. ezio-melotti
    transferred this issue fromon Apr 10, 2022
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.10 (EOL)end of lifeend of lifebuildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

    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.