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-91896: Deprecate collections.abc.ByteString by hauntsaninja · Pull Request #102096 · python/cpython

Conversation

@hauntsaninja

@hauntsaninja hauntsaninja commented Feb 21, 2023 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor

Getting a DeprecationWarning on issubclass proved to be difficult, because it could affect unrelated looking things like isinstance(bytes, Sequence)

  • Issue: Deprecate and schedule removal of collections.abc.ByteString and typing.ByteString #91896

Sorry, something went wrong.

Uh oh!

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

All reactions
@hauntsaninja
pythongh-91896: Deprecate collections.abc.ByteString
804dfa1
Getting a DeprecationWarning on issubclass proved to be difficult,
because it could affect unrelated looking things like
`isinstance(bytes, Sequence)`
@hauntsaninja
hauntsaninja requested a review from rhettinger as a code owner February 21, 2023 01:17
@bedevere-bot bedevere-bot added the awaiting core review label Feb 21, 2023
@bedevere-bot bedevere-bot mentioned this pull request Feb 21, 2023
Deprecate and schedule removal of collections.abc.ByteString and typing.ByteString #91896
Closed
@hauntsaninja
hauntsaninja requested a review from JelleZijlstra February 21, 2023 01:17
hauntsaninja added 3 commits February 20, 2023 17:18
@hauntsaninja
add back a whitespace
4c7eace
@hauntsaninja
docs
d534015
@hauntsaninja
typing docs
476a259
@hauntsaninja
hauntsaninja requested review from AlexWaygood, Fidget-Spinner and gvanrossum as code owners February 21, 2023 01:23
AlexWaygood
AlexWaygood reviewed Feb 21, 2023
View reviewed changes

@AlexWaygood AlexWaygood left a comment

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.

Could you avoid the custom metaclass by using a combination of __init_subclass__ and __subclasshook__ instead?

Sorry, something went wrong.

Uh oh!

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

All reactions
@hauntsaninja

hauntsaninja commented Feb 21, 2023 •
edited
Loading

Uh oh!

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

Copy link
Copy Markdown
Contributor Author

Yeah, I started by trying to get that to work, but didn't see a way of making __subclasshook__ viable, since it would affect things like isinstance(bytes, Sequence) (it also has some other trickiness, e.g. I'd need to import warnings at collections.abc import time to silence the warning when we register / I think I'd need to make stacklevel configurable in warnings._deprecated to make it work?)

All reactions

Sorry, something went wrong.

Uh oh!

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

@rhettinger
rhettinger removed their request for review February 21, 2023 16:28
@hauntsaninja hauntsaninja mentioned this pull request Feb 21, 2023
collections.abc.ByteString is not equivalent to typing.ByteString #102092
Closed
JelleZijlstra
JelleZijlstra reviewed Feb 21, 2023
View reviewed changes

@JelleZijlstra JelleZijlstra left a comment

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.

Thanks!

It's unfortunate there's no warning on issubclass() but I don't have ideas for how to do that reliably either.

Sorry, something went wrong.

Uh oh!

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

All reactions
Comment thread Doc/library/collections.abc.rst Resolved

Uh oh!

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

@hauntsaninja
pep 688 docs
46404a0
@hauntsaninja
hauntsaninja requested a review from JelleZijlstra March 8, 2023 02:45
@blurb-it
📜🤖 Added by blurb_it.
b1b4fd2
JelleZijlstra
JelleZijlstra reviewed Mar 9, 2023
View reviewed changes
Comment thread Lib/_collections_abc.py Resolved

Uh oh!

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

Comment thread Doc/library/collections.abc.rst Resolved

Uh oh!

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

hugovk
hugovk reviewed Mar 9, 2023
View reviewed changes
Comment thread Doc/library/collections.abc.rst Resolved

Uh oh!

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

hauntsaninja added 2 commits March 9, 2023 12:57
@hauntsaninja
what's new, removed
dc22a74
@hauntsaninja
move to pending removal
eeaff44
sobolevn
sobolevn reviewed Mar 11, 2023
View reviewed changes

@sobolevn sobolevn left a comment

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.

Glad to see it deprecated!

Sorry, something went wrong.

Uh oh!

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

All reactions
Comment thread Lib/_collections_abc.py Resolved

Uh oh!

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

hauntsaninja and others added 2 commits March 11, 2023 12:12
@hauntsaninja
add test
8777d29
@hauntsaninja
Merge branch 'main' into pythongh-91896
c053777
sobolevn
sobolevn reviewed Mar 26, 2023
View reviewed changes
Comment thread Lib/_collections_abc.py
class ByteString(Sequence, metaclass=_DeprecateByteStringMeta):
"""This unifies bytes and bytearray.

XXX Should add all their methods.

@sobolevn sobolevn Mar 26, 2023

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.

You can also remove this comment.

Sorry, something went wrong.

Uh oh!

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

All reactions
@hauntsaninja
Merge branch 'main' into pythongh-91896
4523ef0
hugovk
hugovk reviewed May 2, 2023
View reviewed changes
Comment thread Doc/whatsnew/3.12.rst Resolved

Uh oh!

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

Comment thread Misc/NEWS.d/next/Library/2023-03-08-02-45-46.gh-issue-91896.kgON_a.rst Resolved

Uh oh!

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

@AlexWaygood
Merge branch 'main' into pythongh-91896
c23e1ad
@hugovk
Merge branch 'main' into pythongh-91896
f774692
JelleZijlstra
JelleZijlstra approved these changes May 4, 2023
View reviewed changes
@bedevere-bot bedevere-bot added awaiting merge and removed awaiting core review labels May 4, 2023
@JelleZijlstra
JelleZijlstra merged commit 09b7695 into python:main May 4, 2023
@bedevere-bot bedevere-bot removed the awaiting merge label May 4, 2023
carljm added a commit to carljm/cpython that referenced this pull request May 5, 2023
@carljm
Merge branch 'main' into inlinecomp2
8a78a36
* main: (61 commits)
  pythongh-64595: Argument Clinic: Touch source file if any output file changed (python#104152)
  pythongh-64631: Test exception messages in cloned Argument Clinic funcs (python#104167)
  pythongh-68395: Avoid naming conflicts by mangling variable names in Argument Clinic (python#104065)
  pythongh-64658: Expand Argument Clinic return converter docs (python#104175)
  pythonGH-103092: port `_asyncio` freelist to module state (python#104196)
  pythongh-104051: fix crash in test_xxtestfuzz with -We (python#104052)
  pythongh-104190: fix ubsan crash (python#104191)
  pythongh-104106: Add gcc fallback of mkfifoat/mknodat for macOS (pythongh-104129)
  pythonGH-104142: Fix _Py_RefcntAdd to respect immortality (pythonGH-104143)
  pythongh-104112: link from cached_property docs to method-caching FAQ (python#104113)
  pythongh-68968: Correcting message display issue with assertEqual (python#103937)
  pythonGH-103899: Provide a hint when accidentally calling a module (pythonGH-103900)
  pythongh-103963: fix 'make regen-opcode' in out-of-tree builds (python#104177)
  pythongh-102500: Add PEP 688 and 698 to the 3.12 release highlights (python#104174)
  pythonGH-81079: Add case_sensitive argument to `pathlib.Path.glob()` (pythonGH-102710)
  pythongh-91896: Deprecate collections.abc.ByteString (python#102096)
  pythongh-99593: Add tests for Unicode C API (part 2) (python#99868)
  pythongh-102500: Document PEP 688 (python#102571)
  pythongh-102500: Implement PEP 688 (python#102521)
  pythongh-96534: socketmodule: support FreeBSD divert(4) socket (python#96536)
  ...
@hauntsaninja
hauntsaninja deleted the gh-91896 branch May 8, 2023 00:40
@AlexWaygood AlexWaygood mentioned this pull request May 8, 2023
gh-91896: Improve visibility of ByteString deprecation warnings #104294
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@hugovk hugovk hugovk left review comments
@sobolevn sobolevn sobolevn left review comments
@AlexWaygood AlexWaygood AlexWaygood left review comments
@JelleZijlstra JelleZijlstra JelleZijlstra approved these changes
@gvanrossum gvanrossum Awaiting requested review from gvanrossum
@Fidget-Spinner Fidget-Spinner Awaiting requested review from Fidget-Spinner

Uh oh!

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

Assignees

No one assigned

Labels

None yet

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.

6 participants

@hauntsaninja @JelleZijlstra @hugovk @sobolevn @AlexWaygood @bedevere-bot
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.