Repository navigation
Add bytearray.resize() method #129559
Copy link
Copy link
Closed
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancementA feature request or enhancement
Description
Activity
- addedtype-featureA feature request or enhancementA feature request or enhancement
on Feb 1, 2025 - added a commit that references this issue
on Feb 1, 2025 - addedinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)
on Feb 2, 2025 - changed the title
[-]Expose PyByteArray_Resize on Python bytearray objects[/-][+]Add bytearray.resize() method[/+]on Feb 2, 2025 - changed the title
[-]Add bytearray.resize() method[/-][+]Add `bytearray.resize()` method[/+]on Feb 3, 2025 - added a commit that references this issue
on Feb 5, 2025 thanks!
Reacted by Cody Maloney and Victor Stinner- added a commit that references this issue
on Oct 14, 2025 - added a commit that references this issue
on Nov 21, 2025 - added a commit that references this issue
on Nov 22, 2025
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-featureA feature request or enhancementA feature request or enhancement
Feature or enhancement
Proposal:
Add
bytearray.resize()which wrapsPyByteArray_ResizePyByteArray_Resizeis part of the C Stable API and allows efficiently expanding a bytearray object's buffer in place (when possible / most efficient) without needing to have another object which can "hold" the data temporarily or needing to copy the data from one storage to a second. (ex.bytearray.extend(itertools.range(0, 20),a = bytearray(); a += b'temp'.This can be somewhat emulated currently with appending a
itertools.range/ iterator that provides__length_hint__, but that still requires copying byte data out of the iterator.PyByteArray_Resizedoesn't require setting / clearing the newly allocated space, just always ensures the data ends with a null byte\0.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
bytearray.resize()#129560.in bytearray.resize AC #140134bytearray.resizethread safety test for free-threading (GH-141739) #141835