FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[doc] SocketType changed in Python 3 · Issue #71566 · python/cpython · GitHub

Repository navigation

[doc] SocketType changed in Python 3 #71566

Closed as duplicate
Closed as duplicate

Description

BPO 27379
Nosy @vadmium, @shihai1991
PRs
  • bpo-27379: In order to keep backward compatibility, update SocketType's type #14710
  • 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 = None
    created_at = <Date 2016-06-24.03:19:57.757>
    labels = ['3.8', '3.9']
    title = 'SocketType changed in Python 3'
    updated_at = <Date 2020-01-17.12:28:51.267>
    user = 'https://github.com/vadmium'

    bugs.python.org fields:

    activity = <Date 2020-01-17.12:28:51.267>
    actor = 'cheryl.sabella'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = []
    creation = <Date 2016-06-24.03:19:57.757>
    creator = 'martin.panter'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 27379
    keywords = ['patch']
    message_count = 3.0
    messages = ['269153', '347691', '349126']
    nosy_count = 2.0
    nosy_names = ['martin.panter', 'shihai1991']
    pr_nums = ['14710']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue27379'
    versions = ['Python 3.8', 'Python 3.9']

    Linked PRs

    Activity

    1. vadmium commented on Jun 24, 2016

      MemberAuthor

      In the documentation for Python 2 and 3, socket.SocketType is defined as:

      This is a Python type object that represents the socket object type. It is the same as “type(socket(...))”.

      In Python 2 it is a standalone “socket._socketobject” class, which holds a “_socket.socket” instance as an internal “_sock” attribute. So the documentation and implementation are consistent. But since revision 8e062e572ea4, Python 3 no longer defines SocketType directly, and just imports the “_socket.SocketType” definition, which is an alias of “_socket.socket”. The change also defines “socket.socket” as a subclass of this low-level class. The result is that SocketType is not the exact type, but only a base class:

      >>> s = socket.socket()
      >>> type(s)
      <class 'socket.socket' at 0x2347d48>
      >>> SocketType
      <class '_socket.socket' at 0x7ff9e2522280>
      >>> type(s) is SocketType  # Should be true according to documentation
      False
      >>> isinstance(s, SocketType)
      True

      Should the documentation just be amended, or should SocketType be changed? If SocketType is not changed, perhaps we should document that socket.socket() is a class, not just a function, and maybe deprecate SocketType.

    2. shihai1991 commented on Jul 11, 2019

      Member

      In order to keep back compatible, I would prefer to update SocketType ;)

    3. shihai1991 commented on Aug 6, 2019

      Member

      ping

    4. transferred this issue fromon Apr 10, 2022
    5. iritkatriel commented on May 19, 2022

      Member

      I don't think backwards compatibility with python 2 matters anymore. A doc fix should do.

    6. changed the title [-]SocketType changed in Python 3[/-] [+][doc] SocketType changed in Python 3[/+] on May 19, 2022
    7. added
      docsDocumentation in the Doc dir
      3.11only security fixes
      3.12only security fixes
      and removed on May 19, 2022
    8. shihai1991 commented on May 26, 2022

      Member

      I don't think backwards compatibility with python 2 matters anymore. A doc fix should do.

      Agree. I closed #14710.

    9. added a commit that references this issue on May 27, 2022
    10. xiaochen7 commented on May 27, 2022

      Contributor

      In the previous commit, the SocketType was changed to the base class for the Socket object type. I created a PR to update the SocketType documentation. Please correct me if there is a different opinion.

    11. aisk commented on Sep 6, 2026

      Member

      This was covered by #150683.

    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

      docsDocumentation in the Doc dirtopic-socketRelated to the socket, socketserver and selectors modules

      Projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL