smtplib API Reference

Full documentation for smtplib (Standard Library / Native)

smtplib.CRLF
Error rendering doc: No Python documentation found for '\r\n'.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.
smtplib.LMTP
Python Library Documentation: class LMTP in module smtplib

class LMTP(SMTP)
 |  LMTP(host='', port=2003, local_hostname=None, source_address=None, timeout=<object object at 0x000001BAA6308A10>)
 |
 |  LMTP - Local Mail Transfer Protocol
 |
 |  The LMTP protocol, which is very similar to ESMTP, is heavily based
 |  on the standard SMTP client. It's common to use Unix sockets for
 |  LMTP, so our connect() method must support that as well as a regular
 |  host:port server.  local_hostname and source_address have the same
 |  meaning as they do in the SMTP class.  To specify a Unix socket,
 |  you must use an absolute path as the host, starting with a '/'.
 |
 |  Authentication is supported, using the regular SMTP mechanism. When
 |  using a Unix socket, LMTP generally don't support or require any
 |  authentication, but your mileage might vary.
 |
 |  Method resolution order:
 |      LMTP
 |      SMTP
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, host='', port=2003, local_hostname=None, source_address=None, timeout=<object object at 0x000001BAA6308A10>)
 |      Initialize a new instance.
 |
 |  connect(self, host='localhost', port=0, source_address=None)
 |      Connect to the LMTP daemon, on either a Unix or a TCP socket.
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  ehlo_msg = 'lhlo'
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from SMTP:
 |
 |  __enter__(self)
 |
 |  __exit__(self, *args)
 |
 |  auth(self, mechanism, authobject, *, initial_response_ok=True)
 |      Authentication command - requires response processing.
 |
 |      'mechanism' specifies which authentication mechanism is to
 |      be used - the valid values are those listed in the 'auth'
 |      element of 'esmtp_features'.
 |
 |      'authobject' must be a callable object taking a single argument:
 |
 |              data = authobject(challenge)
 |
 |      It will be called to process the server's challenge response; the
 |      challenge argument it is passed will be a bytes.  It should return
 |      an ASCII string that will be base64 encoded and sent to the server.
 |
 |      Keyword arguments:
 |          - initial_response_ok: Allow sending the RFC 4954 initial-response
 |            to the AUTH command, if the authentication methods supports it.
 |
 |  auth_cram_md5(self, challenge=None)
 |      Authobject to use with CRAM-MD5 authentication. Requires self.user
 |      and self.password to be set.
 |
 |  auth_login(self, challenge=None)
 |      Authobject to use with LOGIN authentication. Requires self.user and
 |      self.password to be set.
 |
 |  auth_plain(self, challenge=None)
 |      Authobject to use with PLAIN authentication. Requires self.user and
 |      self.password to be set.
 |
 |  close(self)
 |      Close the connection to the SMTP server.
 |
 |  data(self, msg)
 |      SMTP 'DATA' command -- sends message data to server.
 |
 |      Automatically quotes lines beginning with a period per rfc821.
 |      Raises SMTPDataError if there is an unexpected reply to the
 |      DATA command; the return value from this method is the final
 |      response code received when the all data is sent.  If msg
 |      is a string, lone '\r' and '\n' characters are converted to
 |      '\r\n' characters.  If msg is bytes, it is transmitted as is.
 |
 |  docmd(self, cmd, args='')
 |      Send a command, and return its response code.
 |
 |  ehlo(self, name='')
 |      SMTP 'ehlo' command.
 |      Hostname to send for this command defaults to the FQDN of the local
 |      host.
 |
 |  ehlo_or_helo_if_needed(self)
 |      Call self.ehlo() and/or self.helo() if needed.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |
 |  expn(self, address)
 |      SMTP 'expn' command -- expands a mailing list.
 |
 |  getreply(self)
 |      Get a reply from the server.
 |
 |      Returns a tuple consisting of:
 |
 |        - server response code (e.g. '250', or such, if all goes well)
 |          Note: returns -1 if it can't read response code.
 |
 |        - server response string corresponding to response code (multiline
 |          responses are converted to a single, multiline string).
 |
 |      Raises SMTPServerDisconnected if end-of-file is reached.
 |
 |  has_extn(self, opt)
 |      Does the server support a given SMTP service extension?
 |
 |  helo(self, name='')
 |      SMTP 'helo' command.
 |      Hostname to send for this command defaults to the FQDN of the local
 |      host.
 |
 |  help(self, args='')
 |      SMTP 'help' command.
 |      Returns help text from server.
 |
 |  login(self, user, password, *, initial_response_ok=True)
 |      Log in on an SMTP server that requires authentication.
 |
 |      The arguments are:
 |          - user:         The user name to authenticate with.
 |          - password:     The password for the authentication.
 |
 |      Keyword arguments:
 |          - initial_response_ok: Allow sending the RFC 4954 initial-response
 |            to the AUTH command, if the authentication methods supports it.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      This method will return normally if the authentication was successful.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |       SMTPAuthenticationError  The server didn't accept the username/
 |                                password combination.
 |       SMTPNotSupportedError    The AUTH command is not supported by the
 |                                server.
 |       SMTPException            No suitable authentication method was
 |                                found.
 |
 |  mail(self, sender, options=())
 |      SMTP 'mail' command -- begins mail xfer session.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPNotSupportedError  The options parameter includes 'SMTPUTF8'
 |                              but the SMTPUTF8 extension is not supported by
 |                              the server.
 |
 |  noop(self)
 |      SMTP 'noop' command -- doesn't do anything :>
 |
 |  putcmd(self, cmd, args='')
 |      Send a command to the server.
 |
 |  quit(self)
 |      Terminate the SMTP session.
 |
 |  rcpt(self, recip, options=())
 |      SMTP 'rcpt' command -- indicates 1 recipient for this mail.
 |
 |  rset(self)
 |      SMTP 'rset' command -- resets session.
 |
 |  send(self, s)
 |      Send `s' to the server.
 |
 |  send_message(self, msg, from_addr=None, to_addrs=None, mail_options=(), rcpt_options=())
 |      Converts message to a bytestring and passes it to sendmail.
 |
 |      The arguments are as for sendmail, except that msg is an
 |      email.message.Message object.  If from_addr is None or to_addrs is
 |      None, these arguments are taken from the headers of the Message as
 |      described in RFC 2822 (a ValueError is raised if there is more than
 |      one set of 'Resent-' headers).  Regardless of the values of from_addr and
 |      to_addr, any Bcc field (or Resent-Bcc field, when the Message is a
 |      resent) of the Message object won't be transmitted.  The Message
 |      object is then serialized using email.generator.BytesGenerator and
 |      sendmail is called to transmit the message.  If the sender or any of
 |      the recipient addresses contain non-ASCII and the server advertises the
 |      SMTPUTF8 capability, the policy is cloned with utf8 set to True for the
 |      serialization, and SMTPUTF8 and BODY=8BITMIME are asserted on the send.
 |      If the server does not support SMTPUTF8, an SMTPNotSupported error is
 |      raised.  Otherwise the generator is called without modifying the
 |      policy.
 |
 |  sendmail(self, from_addr, to_addrs, msg, mail_options=(), rcpt_options=())
 |      This command performs an entire mail transaction.
 |
 |      The arguments are:
 |          - from_addr    : The address sending this mail.
 |          - to_addrs     : A list of addresses to send this mail to.  A bare
 |                           string will be treated as a list with 1 address.
 |          - msg          : The message to send.
 |          - mail_options : List of ESMTP options (such as 8bitmime) for the
 |                           mail command.
 |          - rcpt_options : List of ESMTP options (such as DSN commands) for
 |                           all the rcpt commands.
 |
 |      msg may be a string containing characters in the ASCII range, or a byte
 |      string.  A string is encoded to bytes using the ascii codec, and lone
 |      \r and \n characters are converted to \r\n characters.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.  If the server does ESMTP, message size
 |      and each of the specified options will be passed to it.  If EHLO
 |      fails, HELO will be tried and ESMTP options suppressed.
 |
 |      This method will return normally if the mail is accepted for at least
 |      one recipient.  It returns a dictionary, with one entry for each
 |      recipient that was refused.  Each entry contains a tuple of the SMTP
 |      error code and the accompanying error message sent by the server.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError          The server didn't reply properly to
 |                              the helo greeting.
 |       SMTPRecipientsRefused  The server rejected ALL recipients
 |                              (no mail was sent).
 |       SMTPSenderRefused      The server didn't accept the from_addr.
 |       SMTPDataError          The server replied with an unexpected
 |                              error code (other than a refusal of
 |                              a recipient).
 |       SMTPNotSupportedError  The mail_options parameter includes 'SMTPUTF8'
 |                              but the SMTPUTF8 extension is not supported by
 |                              the server.
 |
 |      Note: the connection will be open even after an exception is raised.
 |
 |      Example:
 |
 |       >>> import smtplib
 |       >>> s=smtplib.SMTP("localhost")
 |       >>> tolist=["one@one.org","two@two.org","three@three.org","four@four.org"]
 |       >>> msg = '''\
 |       ... From: Me@my.org
 |       ... Subject: testin'...
 |       ...
 |       ... This is a test '''
 |       >>> s.sendmail("me@my.org",tolist,msg)
 |       { "three@three.org" : ( 550 ,"User unknown" ) }
 |       >>> s.quit()
 |
 |      In the above example, the message was accepted for delivery to three
 |      of the four addresses, and one was rejected, with the error code
 |      550.  If all addresses are accepted, then the method will return an
 |      empty dictionary.
 |
 |  set_debuglevel(self, debuglevel)
 |      Set the debug output level.
 |
 |      A non-false value results in debug messages for connection and for all
 |      messages sent to and received from the server.
 |
 |  starttls(self, *, context=None)
 |      Puts the connection to the SMTP server into TLS mode.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      If the server supports TLS, this will encrypt the rest of the SMTP
 |      session. If you provide the context parameter,
 |      the identity of the SMTP server and client can be checked. This,
 |      however, depends on whether the socket module really checks the
 |      certificates.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |
 |  verify(self, address)
 |      SMTP 'verify' command -- checks for address validity.
 |
 |  vrfy = verify(self, address)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTP:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from SMTP:
 |
 |  debuglevel = 0
 |
 |  default_port = 25
 |
 |  does_esmtp = False
 |
 |  ehlo_resp = None
 |
 |  file = None
 |
 |  helo_resp = None
 |
 |  sock = None
smtplib.LMTP_PORT
Python Library Documentation: int object

class int(object)
 |  int([x]) -> integer
 |  int(x, base=10) -> integer
 |
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is a number, return x.__int__().  For floating-point
 |  numbers, this truncates towards zero.
 |
 |  If x is not a number or if base is given, then x must be a string,
 |  bytes, or bytearray instance representing an integer literal in the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.
 |  >>> int('0b100', base=0)
 |  4
 |
 |  Built-in subclasses:
 |      bool
 |
 |  Methods defined here:
 |
 |  __abs__(self, /)
 |      abs(self)
 |
 |  __add__(self, value, /)
 |      Return self+value.
 |
 |  __and__(self, value, /)
 |      Return self&value.
 |
 |  __bool__(self, /)
 |      True if self else False
 |
 |  __ceil__(...)
 |      Ceiling of an Integral returns itself.
 |
 |  __divmod__(self, value, /)
 |      Return divmod(self, value).
 |
 |  __eq__(self, value, /)
 |      Return self==value.
 |
 |  __float__(self, /)
 |      float(self)
 |
 |  __floor__(...)
 |      Flooring an Integral returns itself.
 |
 |  __floordiv__(self, value, /)
 |      Return self//value.
 |
 |  __format__(self, format_spec, /)
 |      Convert to a string according to format_spec.
 |
 |  __ge__(self, value, /)
 |      Return self>=value.
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __getnewargs__(self, /)
 |
 |  __gt__(self, value, /)
 |      Return self>value.
 |
 |  __hash__(self, /)
 |      Return hash(self).
 |
 |  __index__(self, /)
 |      Return self converted to an integer, if self is suitable for use as an index into a list.
 |
 |  __int__(self, /)
 |      int(self)
 |
 |  __invert__(self, /)
 |      ~self
 |
 |  __le__(self, value, /)
 |      Return self<=value.
 |
 |  __lshift__(self, value, /)
 |      Return self<<value.
 |
 |  __lt__(self, value, /)
 |      Return self<value.
 |
 |  __mod__(self, value, /)
 |      Return self%value.
 |
 |  __mul__(self, value, /)
 |      Return self*value.
 |
 |  __ne__(self, value, /)
 |      Return self!=value.
 |
 |  __neg__(self, /)
 |      -self
 |
 |  __or__(self, value, /)
 |      Return self|value.
 |
 |  __pos__(self, /)
 |      +self
 |
 |  __pow__(self, value, mod=None, /)
 |      Return pow(self, value, mod).
 |
 |  __radd__(self, value, /)
 |      Return value+self.
 |
 |  __rand__(self, value, /)
 |      Return value&self.
 |
 |  __rdivmod__(self, value, /)
 |      Return divmod(value, self).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __rfloordiv__(self, value, /)
 |      Return value//self.
 |
 |  __rlshift__(self, value, /)
 |      Return value<<self.
 |
 |  __rmod__(self, value, /)
 |      Return value%self.
 |
 |  __rmul__(self, value, /)
 |      Return value*self.
 |
 |  __ror__(self, value, /)
 |      Return value|self.
 |
 |  __round__(...)
 |      Rounding an Integral returns itself.
 |
 |      Rounding with an ndigits argument also returns an integer.
 |
 |  __rpow__(self, value, mod=None, /)
 |      Return pow(value, self, mod).
 |
 |  __rrshift__(self, value, /)
 |      Return value>>self.
 |
 |  __rshift__(self, value, /)
 |      Return self>>value.
 |
 |  __rsub__(self, value, /)
 |      Return value-self.
 |
 |  __rtruediv__(self, value, /)
 |      Return value/self.
 |
 |  __rxor__(self, value, /)
 |      Return value^self.
 |
 |  __sizeof__(self, /)
 |      Returns size in memory, in bytes.
 |
 |  __sub__(self, value, /)
 |      Return self-value.
 |
 |  __truediv__(self, value, /)
 |      Return self/value.
 |
 |  __trunc__(...)
 |      Truncating an Integral returns itself.
 |
 |  __xor__(self, value, /)
 |      Return self^value.
 |
 |  as_integer_ratio(self, /)
 |      Return a pair of integers, whose ratio is equal to the original int.
 |
 |      The ratio is in lowest terms and has a positive denominator.
 |
 |      >>> (10).as_integer_ratio()
 |      (10, 1)
 |      >>> (-10).as_integer_ratio()
 |      (-10, 1)
 |      >>> (0).as_integer_ratio()
 |      (0, 1)
 |
 |  bit_count(self, /)
 |      Number of ones in the binary representation of the absolute value of self.
 |
 |      Also known as the population count.
 |
 |      >>> bin(13)
 |      '0b1101'
 |      >>> (13).bit_count()
 |      3
 |
 |  bit_length(self, /)
 |      Number of bits necessary to represent self in binary.
 |
 |      >>> bin(37)
 |      '0b100101'
 |      >>> (37).bit_length()
 |      6
 |
 |  conjugate(...)
 |      Returns self, the complex conjugate of any int.
 |
 |  is_integer(self, /)
 |      Returns True. Exists for duck type compatibility with float.is_integer.
 |
 |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
 |      Return an array of bytes representing an integer.
 |
 |      length
 |        Length of bytes object to use.  An OverflowError is raised if the
 |        integer is not representable with the given number of bytes.  Default
 |        is length 1.
 |      byteorder
 |        The byte order used to represent the integer.  If byteorder is 'big',
 |        the most significant byte is at the beginning of the byte array.  If
 |        byteorder is 'little', the most significant byte is at the end of the
 |        byte array.  To request the native byte order of the host system, use
 |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
 |      signed
 |        Determines whether two's complement is used to represent the integer.
 |        If signed is False and a negative integer is given, an OverflowError
 |        is raised.
 |
 |  ----------------------------------------------------------------------
 |  Class methods defined here:
 |
 |  from_bytes(bytes, byteorder='big', *, signed=False)
 |      Return the integer represented by the given array of bytes.
 |
 |      bytes
 |        Holds the array of bytes to convert.  The argument must either
 |        support the buffer protocol or be an iterable object producing bytes.
 |        Bytes and bytearray are examples of built-in objects that support the
 |        buffer protocol.
 |      byteorder
 |        The byte order used to represent the integer.  If byteorder is 'big',
 |        the most significant byte is at the beginning of the byte array.  If
 |        byteorder is 'little', the most significant byte is at the end of the
 |        byte array.  To request the native byte order of the host system, use
 |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
 |      signed
 |        Indicates whether two's complement is used to represent the integer.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs)
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  denominator
 |      the denominator of a rational number in lowest terms
 |
 |  imag
 |      the imaginary part of a complex number
 |
 |  numerator
 |      the numerator of a rational number in lowest terms
 |
 |  real
 |      the real part of a complex number
smtplib.OLDSTYLE_AUTH
Python Library Documentation: Pattern in module re object

class Pattern(builtins.object)
 |  Compiled regular expression object.
 |
 |  Methods defined here:
 |
 |  __copy__(self, /)
 |
 |  __deepcopy__(self, memo, /)
 |
 |  __eq__(self, value, /)
 |      Return self==value.
 |
 |  __ge__(self, value, /)
 |      Return self>=value.
 |
 |  __gt__(self, value, /)
 |      Return self>value.
 |
 |  __hash__(self, /)
 |      Return hash(self).
 |
 |  __le__(self, value, /)
 |      Return self<=value.
 |
 |  __lt__(self, value, /)
 |      Return self<value.
 |
 |  __ne__(self, value, /)
 |      Return self!=value.
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  findall(self, /, string, pos=0, endpos=9223372036854775807)
 |      Return a list of all non-overlapping matches of pattern in string.
 |
 |  finditer(self, /, string, pos=0, endpos=9223372036854775807)
 |      Return an iterator over all non-overlapping matches for the RE pattern in string.
 |
 |      For each match, the iterator returns a match object.
 |
 |  fullmatch(self, /, string, pos=0, endpos=9223372036854775807)
 |      Matches against all of the string.
 |
 |  match(self, /, string, pos=0, endpos=9223372036854775807)
 |      Matches zero or more characters at the beginning of the string.
 |
 |  scanner(self, /, string, pos=0, endpos=9223372036854775807)
 |
 |  search(self, /, string, pos=0, endpos=9223372036854775807)
 |      Scan through string looking for a match, and return a corresponding match object instance.
 |
 |      Return None if no position in the string matches.
 |
 |  split(self, /, string, maxsplit=0)
 |      Split string by the occurrences of pattern.
 |
 |  sub(self, /, repl, string, count=0)
 |      Return the string obtained by replacing the leftmost non-overlapping occurrences of pattern in string by the replacement repl.
 |
 |  subn(self, /, repl, string, count=0)
 |      Return the tuple (new_string, number_of_subs_made) found by replacing the leftmost non-overlapping occurrences of pattern with the replacement repl.
 |
 |  ----------------------------------------------------------------------
 |  Class methods defined here:
 |
 |  __class_getitem__(...)
 |      See PEP 585
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  flags
 |      The regex matching flags.
 |
 |  groupindex
 |      A dictionary mapping group names to group numbers.
 |
 |  groups
 |      The number of capturing groups in the pattern.
 |
 |  pattern
 |      The pattern string from which the RE object was compiled.
smtplib.SMTP
Python Library Documentation: class SMTP in module smtplib

class SMTP(builtins.object)
 |  SMTP(host='', port=0, local_hostname=None, timeout=<object object at 0x000001BAA6308A10>, source_address=None)
 |
 |  This class manages a connection to an SMTP or ESMTP server.
 |  SMTP Objects:
 |      SMTP objects have the following attributes:
 |          helo_resp
 |              This is the message given by the server in response to the
 |              most recent HELO command.
 |
 |          ehlo_resp
 |              This is the message given by the server in response to the
 |              most recent EHLO command. This is usually multiline.
 |
 |          does_esmtp
 |              This is a True value _after you do an EHLO command_, if the
 |              server supports ESMTP.
 |
 |          esmtp_features
 |              This is a dictionary, which, if the server supports ESMTP,
 |              will _after you do an EHLO command_, contain the names of the
 |              SMTP service extensions this server supports, and their
 |              parameters (if any).
 |
 |              Note, all extension names are mapped to lower case in the
 |              dictionary.
 |
 |      See each method's docstrings for details.  In general, there is a
 |      method of the same name to perform each SMTP command.  There is also a
 |      method called 'sendmail' that will do an entire mail transaction.
 |
 |  Methods defined here:
 |
 |  __enter__(self)
 |
 |  __exit__(self, *args)
 |
 |  __init__(self, host='', port=0, local_hostname=None, timeout=<object object at 0x000001BAA6308A10>, source_address=None)
 |      Initialize a new instance.
 |
 |      If specified, `host` is the name of the remote host to which to
 |      connect.  If specified, `port` specifies the port to which to connect.
 |      By default, smtplib.SMTP_PORT is used.  If a host is specified the
 |      connect method is called, and if it returns anything other than a
 |      success code an SMTPConnectError is raised.  If specified,
 |      `local_hostname` is used as the FQDN of the local host in the HELO/EHLO
 |      command.  Otherwise, the local hostname is found using
 |      socket.getfqdn(). The `source_address` parameter takes a 2-tuple (host,
 |      port) for the socket to bind to as its source address before
 |      connecting. If the host is '' and port is 0, the OS default behavior
 |      will be used.
 |
 |  auth(self, mechanism, authobject, *, initial_response_ok=True)
 |      Authentication command - requires response processing.
 |
 |      'mechanism' specifies which authentication mechanism is to
 |      be used - the valid values are those listed in the 'auth'
 |      element of 'esmtp_features'.
 |
 |      'authobject' must be a callable object taking a single argument:
 |
 |              data = authobject(challenge)
 |
 |      It will be called to process the server's challenge response; the
 |      challenge argument it is passed will be a bytes.  It should return
 |      an ASCII string that will be base64 encoded and sent to the server.
 |
 |      Keyword arguments:
 |          - initial_response_ok: Allow sending the RFC 4954 initial-response
 |            to the AUTH command, if the authentication methods supports it.
 |
 |  auth_cram_md5(self, challenge=None)
 |      Authobject to use with CRAM-MD5 authentication. Requires self.user
 |      and self.password to be set.
 |
 |  auth_login(self, challenge=None)
 |      Authobject to use with LOGIN authentication. Requires self.user and
 |      self.password to be set.
 |
 |  auth_plain(self, challenge=None)
 |      Authobject to use with PLAIN authentication. Requires self.user and
 |      self.password to be set.
 |
 |  close(self)
 |      Close the connection to the SMTP server.
 |
 |  connect(self, host='localhost', port=0, source_address=None)
 |      Connect to a host on a given port.
 |
 |      If the hostname ends with a colon (`:') followed by a number, and
 |      there is no port specified, that suffix will be stripped off and the
 |      number interpreted as the port number to use.
 |
 |      Note: This method is automatically invoked by __init__, if a host is
 |      specified during instantiation.
 |
 |  data(self, msg)
 |      SMTP 'DATA' command -- sends message data to server.
 |
 |      Automatically quotes lines beginning with a period per rfc821.
 |      Raises SMTPDataError if there is an unexpected reply to the
 |      DATA command; the return value from this method is the final
 |      response code received when the all data is sent.  If msg
 |      is a string, lone '\r' and '\n' characters are converted to
 |      '\r\n' characters.  If msg is bytes, it is transmitted as is.
 |
 |  docmd(self, cmd, args='')
 |      Send a command, and return its response code.
 |
 |  ehlo(self, name='')
 |      SMTP 'ehlo' command.
 |      Hostname to send for this command defaults to the FQDN of the local
 |      host.
 |
 |  ehlo_or_helo_if_needed(self)
 |      Call self.ehlo() and/or self.helo() if needed.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |
 |  expn(self, address)
 |      SMTP 'expn' command -- expands a mailing list.
 |
 |  getreply(self)
 |      Get a reply from the server.
 |
 |      Returns a tuple consisting of:
 |
 |        - server response code (e.g. '250', or such, if all goes well)
 |          Note: returns -1 if it can't read response code.
 |
 |        - server response string corresponding to response code (multiline
 |          responses are converted to a single, multiline string).
 |
 |      Raises SMTPServerDisconnected if end-of-file is reached.
 |
 |  has_extn(self, opt)
 |      Does the server support a given SMTP service extension?
 |
 |  helo(self, name='')
 |      SMTP 'helo' command.
 |      Hostname to send for this command defaults to the FQDN of the local
 |      host.
 |
 |  help(self, args='')
 |      SMTP 'help' command.
 |      Returns help text from server.
 |
 |  login(self, user, password, *, initial_response_ok=True)
 |      Log in on an SMTP server that requires authentication.
 |
 |      The arguments are:
 |          - user:         The user name to authenticate with.
 |          - password:     The password for the authentication.
 |
 |      Keyword arguments:
 |          - initial_response_ok: Allow sending the RFC 4954 initial-response
 |            to the AUTH command, if the authentication methods supports it.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      This method will return normally if the authentication was successful.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |       SMTPAuthenticationError  The server didn't accept the username/
 |                                password combination.
 |       SMTPNotSupportedError    The AUTH command is not supported by the
 |                                server.
 |       SMTPException            No suitable authentication method was
 |                                found.
 |
 |  mail(self, sender, options=())
 |      SMTP 'mail' command -- begins mail xfer session.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPNotSupportedError  The options parameter includes 'SMTPUTF8'
 |                              but the SMTPUTF8 extension is not supported by
 |                              the server.
 |
 |  noop(self)
 |      SMTP 'noop' command -- doesn't do anything :>
 |
 |  putcmd(self, cmd, args='')
 |      Send a command to the server.
 |
 |  quit(self)
 |      Terminate the SMTP session.
 |
 |  rcpt(self, recip, options=())
 |      SMTP 'rcpt' command -- indicates 1 recipient for this mail.
 |
 |  rset(self)
 |      SMTP 'rset' command -- resets session.
 |
 |  send(self, s)
 |      Send `s' to the server.
 |
 |  send_message(self, msg, from_addr=None, to_addrs=None, mail_options=(), rcpt_options=())
 |      Converts message to a bytestring and passes it to sendmail.
 |
 |      The arguments are as for sendmail, except that msg is an
 |      email.message.Message object.  If from_addr is None or to_addrs is
 |      None, these arguments are taken from the headers of the Message as
 |      described in RFC 2822 (a ValueError is raised if there is more than
 |      one set of 'Resent-' headers).  Regardless of the values of from_addr and
 |      to_addr, any Bcc field (or Resent-Bcc field, when the Message is a
 |      resent) of the Message object won't be transmitted.  The Message
 |      object is then serialized using email.generator.BytesGenerator and
 |      sendmail is called to transmit the message.  If the sender or any of
 |      the recipient addresses contain non-ASCII and the server advertises the
 |      SMTPUTF8 capability, the policy is cloned with utf8 set to True for the
 |      serialization, and SMTPUTF8 and BODY=8BITMIME are asserted on the send.
 |      If the server does not support SMTPUTF8, an SMTPNotSupported error is
 |      raised.  Otherwise the generator is called without modifying the
 |      policy.
 |
 |  sendmail(self, from_addr, to_addrs, msg, mail_options=(), rcpt_options=())
 |      This command performs an entire mail transaction.
 |
 |      The arguments are:
 |          - from_addr    : The address sending this mail.
 |          - to_addrs     : A list of addresses to send this mail to.  A bare
 |                           string will be treated as a list with 1 address.
 |          - msg          : The message to send.
 |          - mail_options : List of ESMTP options (such as 8bitmime) for the
 |                           mail command.
 |          - rcpt_options : List of ESMTP options (such as DSN commands) for
 |                           all the rcpt commands.
 |
 |      msg may be a string containing characters in the ASCII range, or a byte
 |      string.  A string is encoded to bytes using the ascii codec, and lone
 |      \r and \n characters are converted to \r\n characters.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.  If the server does ESMTP, message size
 |      and each of the specified options will be passed to it.  If EHLO
 |      fails, HELO will be tried and ESMTP options suppressed.
 |
 |      This method will return normally if the mail is accepted for at least
 |      one recipient.  It returns a dictionary, with one entry for each
 |      recipient that was refused.  Each entry contains a tuple of the SMTP
 |      error code and the accompanying error message sent by the server.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError          The server didn't reply properly to
 |                              the helo greeting.
 |       SMTPRecipientsRefused  The server rejected ALL recipients
 |                              (no mail was sent).
 |       SMTPSenderRefused      The server didn't accept the from_addr.
 |       SMTPDataError          The server replied with an unexpected
 |                              error code (other than a refusal of
 |                              a recipient).
 |       SMTPNotSupportedError  The mail_options parameter includes 'SMTPUTF8'
 |                              but the SMTPUTF8 extension is not supported by
 |                              the server.
 |
 |      Note: the connection will be open even after an exception is raised.
 |
 |      Example:
 |
 |       >>> import smtplib
 |       >>> s=smtplib.SMTP("localhost")
 |       >>> tolist=["one@one.org","two@two.org","three@three.org","four@four.org"]
 |       >>> msg = '''\
 |       ... From: Me@my.org
 |       ... Subject: testin'...
 |       ...
 |       ... This is a test '''
 |       >>> s.sendmail("me@my.org",tolist,msg)
 |       { "three@three.org" : ( 550 ,"User unknown" ) }
 |       >>> s.quit()
 |
 |      In the above example, the message was accepted for delivery to three
 |      of the four addresses, and one was rejected, with the error code
 |      550.  If all addresses are accepted, then the method will return an
 |      empty dictionary.
 |
 |  set_debuglevel(self, debuglevel)
 |      Set the debug output level.
 |
 |      A non-false value results in debug messages for connection and for all
 |      messages sent to and received from the server.
 |
 |  starttls(self, *, context=None)
 |      Puts the connection to the SMTP server into TLS mode.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      If the server supports TLS, this will encrypt the rest of the SMTP
 |      session. If you provide the context parameter,
 |      the identity of the SMTP server and client can be checked. This,
 |      however, depends on whether the socket module really checks the
 |      certificates.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |
 |  verify(self, address)
 |      SMTP 'verify' command -- checks for address validity.
 |
 |  vrfy = verify(self, address)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  debuglevel = 0
 |
 |  default_port = 25
 |
 |  does_esmtp = False
 |
 |  ehlo_msg = 'ehlo'
 |
 |  ehlo_resp = None
 |
 |  file = None
 |
 |  helo_resp = None
 |
 |  sock = None
smtplib.SMTPAuthenticationError
Python Library Documentation: class SMTPAuthenticationError in module smtplib

class SMTPAuthenticationError(SMTPResponseException)
 |  SMTPAuthenticationError(code, msg)
 |
 |  Authentication error.
 |
 |  Most probably the server didn't accept the username/password
 |  combination provided.
 |
 |  Method resolution order:
 |      SMTPAuthenticationError
 |      SMTPResponseException
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods inherited from SMTPResponseException:
 |
 |  __init__(self, code, msg)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPConnectError
Python Library Documentation: class SMTPConnectError in module smtplib

class SMTPConnectError(SMTPResponseException)
 |  SMTPConnectError(code, msg)
 |
 |  Error during connection establishment.
 |
 |  Method resolution order:
 |      SMTPConnectError
 |      SMTPResponseException
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods inherited from SMTPResponseException:
 |
 |  __init__(self, code, msg)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPDataError
Python Library Documentation: class SMTPDataError in module smtplib

class SMTPDataError(SMTPResponseException)
 |  SMTPDataError(code, msg)
 |
 |  The SMTP server didn't accept the data.
 |
 |  Method resolution order:
 |      SMTPDataError
 |      SMTPResponseException
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods inherited from SMTPResponseException:
 |
 |  __init__(self, code, msg)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPException
Python Library Documentation: class SMTPException in module smtplib

class SMTPException(builtins.OSError)
 |  Base class for all exceptions raised by this module.
 |
 |  Method resolution order:
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Data descriptors defined here:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPHeloError
Python Library Documentation: class SMTPHeloError in module smtplib

class SMTPHeloError(SMTPResponseException)
 |  SMTPHeloError(code, msg)
 |
 |  The server refused our HELO reply.
 |
 |  Method resolution order:
 |      SMTPHeloError
 |      SMTPResponseException
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods inherited from SMTPResponseException:
 |
 |  __init__(self, code, msg)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPNotSupportedError
Python Library Documentation: class SMTPNotSupportedError in module smtplib

class SMTPNotSupportedError(SMTPException)
 |  The command or option is not supported by the SMTP server.
 |
 |  This exception is raised when an attempt is made to run a command or a
 |  command with an option which is not supported by the server.
 |
 |  Method resolution order:
 |      SMTPNotSupportedError
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPRecipientsRefused
Python Library Documentation: class SMTPRecipientsRefused in module smtplib

class SMTPRecipientsRefused(SMTPException)
 |  SMTPRecipientsRefused(recipients)
 |
 |  All recipient addresses refused.
 |
 |  The errors for each recipient are accessible through the attribute
 |  'recipients', which is a dictionary of exactly the same sort as
 |  SMTP.sendmail() returns.
 |
 |  Method resolution order:
 |      SMTPRecipientsRefused
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, recipients)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPResponseException
Python Library Documentation: class SMTPResponseException in module smtplib

class SMTPResponseException(SMTPException)
 |  SMTPResponseException(code, msg)
 |
 |  Base class for all exceptions that include an SMTP error code.
 |
 |  These exceptions are generated in some instances when the SMTP
 |  server returns an error code.  The error code is stored in the
 |  `smtp_code' attribute of the error, and the `smtp_error' attribute
 |  is set to the error message.
 |
 |  Method resolution order:
 |      SMTPResponseException
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, code, msg)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPSenderRefused
Python Library Documentation: class SMTPSenderRefused in module smtplib

class SMTPSenderRefused(SMTPResponseException)
 |  SMTPSenderRefused(code, msg, sender)
 |
 |  Sender address refused.
 |
 |  In addition to the attributes set by on all SMTPResponseException
 |  exceptions, this sets `sender' to the string that the SMTP refused.
 |
 |  Method resolution order:
 |      SMTPSenderRefused
 |      SMTPResponseException
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, code, msg, sender)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTPServerDisconnected
Python Library Documentation: class SMTPServerDisconnected in module smtplib

class SMTPServerDisconnected(SMTPException)
 |  Not connected to any SMTP server.
 |
 |  This exception is raised when the server unexpectedly disconnects,
 |  or when an attempt is made to use the SMTP instance before
 |  connecting it to a server.
 |
 |  Method resolution order:
 |      SMTPServerDisconnected
 |      SMTPException
 |      builtins.OSError
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Data descriptors inherited from SMTPException:
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.OSError:
 |
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |
 |  __reduce__(...)
 |      Helper for pickle.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  ----------------------------------------------------------------------
 |  Static methods inherited from builtins.OSError:
 |
 |  __new__(*args, **kwargs) class method of builtins.OSError
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.OSError:
 |
 |  characters_written
 |
 |  errno
 |      POSIX exception code
 |
 |  filename
 |      exception filename
 |
 |  filename2
 |      second exception filename
 |
 |  strerror
 |      exception strerror
 |
 |  winerror
 |      Win32 exception code
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from builtins.BaseException:
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __setstate__(...)
 |
 |  add_note(...)
 |      Exception.add_note(note) --
 |      add a note to the exception
 |
 |  with_traceback(...)
 |      Exception.with_traceback(tb) --
 |      set self.__traceback__ to tb and return self.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from builtins.BaseException:
 |
 |  __cause__
 |      exception cause
 |
 |  __context__
 |      exception context
 |
 |  __dict__
 |
 |  __suppress_context__
 |
 |  __traceback__
 |
 |  args
smtplib.SMTP_PORT
Python Library Documentation: int object

class int(object)
 |  int([x]) -> integer
 |  int(x, base=10) -> integer
 |
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is a number, return x.__int__().  For floating-point
 |  numbers, this truncates towards zero.
 |
 |  If x is not a number or if base is given, then x must be a string,
 |  bytes, or bytearray instance representing an integer literal in the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.
 |  >>> int('0b100', base=0)
 |  4
 |
 |  Built-in subclasses:
 |      bool
 |
 |  Methods defined here:
 |
 |  __abs__(self, /)
 |      abs(self)
 |
 |  __add__(self, value, /)
 |      Return self+value.
 |
 |  __and__(self, value, /)
 |      Return self&value.
 |
 |  __bool__(self, /)
 |      True if self else False
 |
 |  __ceil__(...)
 |      Ceiling of an Integral returns itself.
 |
 |  __divmod__(self, value, /)
 |      Return divmod(self, value).
 |
 |  __eq__(self, value, /)
 |      Return self==value.
 |
 |  __float__(self, /)
 |      float(self)
 |
 |  __floor__(...)
 |      Flooring an Integral returns itself.
 |
 |  __floordiv__(self, value, /)
 |      Return self//value.
 |
 |  __format__(self, format_spec, /)
 |      Convert to a string according to format_spec.
 |
 |  __ge__(self, value, /)
 |      Return self>=value.
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __getnewargs__(self, /)
 |
 |  __gt__(self, value, /)
 |      Return self>value.
 |
 |  __hash__(self, /)
 |      Return hash(self).
 |
 |  __index__(self, /)
 |      Return self converted to an integer, if self is suitable for use as an index into a list.
 |
 |  __int__(self, /)
 |      int(self)
 |
 |  __invert__(self, /)
 |      ~self
 |
 |  __le__(self, value, /)
 |      Return self<=value.
 |
 |  __lshift__(self, value, /)
 |      Return self<<value.
 |
 |  __lt__(self, value, /)
 |      Return self<value.
 |
 |  __mod__(self, value, /)
 |      Return self%value.
 |
 |  __mul__(self, value, /)
 |      Return self*value.
 |
 |  __ne__(self, value, /)
 |      Return self!=value.
 |
 |  __neg__(self, /)
 |      -self
 |
 |  __or__(self, value, /)
 |      Return self|value.
 |
 |  __pos__(self, /)
 |      +self
 |
 |  __pow__(self, value, mod=None, /)
 |      Return pow(self, value, mod).
 |
 |  __radd__(self, value, /)
 |      Return value+self.
 |
 |  __rand__(self, value, /)
 |      Return value&self.
 |
 |  __rdivmod__(self, value, /)
 |      Return divmod(value, self).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __rfloordiv__(self, value, /)
 |      Return value//self.
 |
 |  __rlshift__(self, value, /)
 |      Return value<<self.
 |
 |  __rmod__(self, value, /)
 |      Return value%self.
 |
 |  __rmul__(self, value, /)
 |      Return value*self.
 |
 |  __ror__(self, value, /)
 |      Return value|self.
 |
 |  __round__(...)
 |      Rounding an Integral returns itself.
 |
 |      Rounding with an ndigits argument also returns an integer.
 |
 |  __rpow__(self, value, mod=None, /)
 |      Return pow(value, self, mod).
 |
 |  __rrshift__(self, value, /)
 |      Return value>>self.
 |
 |  __rshift__(self, value, /)
 |      Return self>>value.
 |
 |  __rsub__(self, value, /)
 |      Return value-self.
 |
 |  __rtruediv__(self, value, /)
 |      Return value/self.
 |
 |  __rxor__(self, value, /)
 |      Return value^self.
 |
 |  __sizeof__(self, /)
 |      Returns size in memory, in bytes.
 |
 |  __sub__(self, value, /)
 |      Return self-value.
 |
 |  __truediv__(self, value, /)
 |      Return self/value.
 |
 |  __trunc__(...)
 |      Truncating an Integral returns itself.
 |
 |  __xor__(self, value, /)
 |      Return self^value.
 |
 |  as_integer_ratio(self, /)
 |      Return a pair of integers, whose ratio is equal to the original int.
 |
 |      The ratio is in lowest terms and has a positive denominator.
 |
 |      >>> (10).as_integer_ratio()
 |      (10, 1)
 |      >>> (-10).as_integer_ratio()
 |      (-10, 1)
 |      >>> (0).as_integer_ratio()
 |      (0, 1)
 |
 |  bit_count(self, /)
 |      Number of ones in the binary representation of the absolute value of self.
 |
 |      Also known as the population count.
 |
 |      >>> bin(13)
 |      '0b1101'
 |      >>> (13).bit_count()
 |      3
 |
 |  bit_length(self, /)
 |      Number of bits necessary to represent self in binary.
 |
 |      >>> bin(37)
 |      '0b100101'
 |      >>> (37).bit_length()
 |      6
 |
 |  conjugate(...)
 |      Returns self, the complex conjugate of any int.
 |
 |  is_integer(self, /)
 |      Returns True. Exists for duck type compatibility with float.is_integer.
 |
 |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
 |      Return an array of bytes representing an integer.
 |
 |      length
 |        Length of bytes object to use.  An OverflowError is raised if the
 |        integer is not representable with the given number of bytes.  Default
 |        is length 1.
 |      byteorder
 |        The byte order used to represent the integer.  If byteorder is 'big',
 |        the most significant byte is at the beginning of the byte array.  If
 |        byteorder is 'little', the most significant byte is at the end of the
 |        byte array.  To request the native byte order of the host system, use
 |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
 |      signed
 |        Determines whether two's complement is used to represent the integer.
 |        If signed is False and a negative integer is given, an OverflowError
 |        is raised.
 |
 |  ----------------------------------------------------------------------
 |  Class methods defined here:
 |
 |  from_bytes(bytes, byteorder='big', *, signed=False)
 |      Return the integer represented by the given array of bytes.
 |
 |      bytes
 |        Holds the array of bytes to convert.  The argument must either
 |        support the buffer protocol or be an iterable object producing bytes.
 |        Bytes and bytearray are examples of built-in objects that support the
 |        buffer protocol.
 |      byteorder
 |        The byte order used to represent the integer.  If byteorder is 'big',
 |        the most significant byte is at the beginning of the byte array.  If
 |        byteorder is 'little', the most significant byte is at the end of the
 |        byte array.  To request the native byte order of the host system, use
 |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
 |      signed
 |        Indicates whether two's complement is used to represent the integer.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs)
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  denominator
 |      the denominator of a rational number in lowest terms
 |
 |  imag
 |      the imaginary part of a complex number
 |
 |  numerator
 |      the numerator of a rational number in lowest terms
 |
 |  real
 |      the real part of a complex number
smtplib.SMTP_SSL
Python Library Documentation: class SMTP_SSL in module smtplib

class SMTP_SSL(SMTP)
 |  SMTP_SSL(host='', port=0, local_hostname=None, *, timeout=<object object at 0x000001BAA6308A10>, source_address=None, context=None)
 |
 |  This is a subclass derived from SMTP that connects over an SSL
 |  encrypted socket (to use this class you need a socket module that was
 |  compiled with SSL support). If host is not specified, '' (the local
 |  host) is used. If port is omitted, the standard SMTP-over-SSL port
 |  (465) is used.  local_hostname and source_address have the same meaning
 |  as they do in the SMTP class.  context also optional, can contain a
 |  SSLContext.
 |
 |  Method resolution order:
 |      SMTP_SSL
 |      SMTP
 |      builtins.object
 |
 |  Methods defined here:
 |
 |  __init__(self, host='', port=0, local_hostname=None, *, timeout=<object object at 0x000001BAA6308A10>, source_address=None, context=None)
 |      Initialize a new instance.
 |
 |      If specified, `host` is the name of the remote host to which to
 |      connect.  If specified, `port` specifies the port to which to connect.
 |      By default, smtplib.SMTP_PORT is used.  If a host is specified the
 |      connect method is called, and if it returns anything other than a
 |      success code an SMTPConnectError is raised.  If specified,
 |      `local_hostname` is used as the FQDN of the local host in the HELO/EHLO
 |      command.  Otherwise, the local hostname is found using
 |      socket.getfqdn(). The `source_address` parameter takes a 2-tuple (host,
 |      port) for the socket to bind to as its source address before
 |      connecting. If the host is '' and port is 0, the OS default behavior
 |      will be used.
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |
 |  default_port = 465
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from SMTP:
 |
 |  __enter__(self)
 |
 |  __exit__(self, *args)
 |
 |  auth(self, mechanism, authobject, *, initial_response_ok=True)
 |      Authentication command - requires response processing.
 |
 |      'mechanism' specifies which authentication mechanism is to
 |      be used - the valid values are those listed in the 'auth'
 |      element of 'esmtp_features'.
 |
 |      'authobject' must be a callable object taking a single argument:
 |
 |              data = authobject(challenge)
 |
 |      It will be called to process the server's challenge response; the
 |      challenge argument it is passed will be a bytes.  It should return
 |      an ASCII string that will be base64 encoded and sent to the server.
 |
 |      Keyword arguments:
 |          - initial_response_ok: Allow sending the RFC 4954 initial-response
 |            to the AUTH command, if the authentication methods supports it.
 |
 |  auth_cram_md5(self, challenge=None)
 |      Authobject to use with CRAM-MD5 authentication. Requires self.user
 |      and self.password to be set.
 |
 |  auth_login(self, challenge=None)
 |      Authobject to use with LOGIN authentication. Requires self.user and
 |      self.password to be set.
 |
 |  auth_plain(self, challenge=None)
 |      Authobject to use with PLAIN authentication. Requires self.user and
 |      self.password to be set.
 |
 |  close(self)
 |      Close the connection to the SMTP server.
 |
 |  connect(self, host='localhost', port=0, source_address=None)
 |      Connect to a host on a given port.
 |
 |      If the hostname ends with a colon (`:') followed by a number, and
 |      there is no port specified, that suffix will be stripped off and the
 |      number interpreted as the port number to use.
 |
 |      Note: This method is automatically invoked by __init__, if a host is
 |      specified during instantiation.
 |
 |  data(self, msg)
 |      SMTP 'DATA' command -- sends message data to server.
 |
 |      Automatically quotes lines beginning with a period per rfc821.
 |      Raises SMTPDataError if there is an unexpected reply to the
 |      DATA command; the return value from this method is the final
 |      response code received when the all data is sent.  If msg
 |      is a string, lone '\r' and '\n' characters are converted to
 |      '\r\n' characters.  If msg is bytes, it is transmitted as is.
 |
 |  docmd(self, cmd, args='')
 |      Send a command, and return its response code.
 |
 |  ehlo(self, name='')
 |      SMTP 'ehlo' command.
 |      Hostname to send for this command defaults to the FQDN of the local
 |      host.
 |
 |  ehlo_or_helo_if_needed(self)
 |      Call self.ehlo() and/or self.helo() if needed.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |
 |  expn(self, address)
 |      SMTP 'expn' command -- expands a mailing list.
 |
 |  getreply(self)
 |      Get a reply from the server.
 |
 |      Returns a tuple consisting of:
 |
 |        - server response code (e.g. '250', or such, if all goes well)
 |          Note: returns -1 if it can't read response code.
 |
 |        - server response string corresponding to response code (multiline
 |          responses are converted to a single, multiline string).
 |
 |      Raises SMTPServerDisconnected if end-of-file is reached.
 |
 |  has_extn(self, opt)
 |      Does the server support a given SMTP service extension?
 |
 |  helo(self, name='')
 |      SMTP 'helo' command.
 |      Hostname to send for this command defaults to the FQDN of the local
 |      host.
 |
 |  help(self, args='')
 |      SMTP 'help' command.
 |      Returns help text from server.
 |
 |  login(self, user, password, *, initial_response_ok=True)
 |      Log in on an SMTP server that requires authentication.
 |
 |      The arguments are:
 |          - user:         The user name to authenticate with.
 |          - password:     The password for the authentication.
 |
 |      Keyword arguments:
 |          - initial_response_ok: Allow sending the RFC 4954 initial-response
 |            to the AUTH command, if the authentication methods supports it.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      This method will return normally if the authentication was successful.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |       SMTPAuthenticationError  The server didn't accept the username/
 |                                password combination.
 |       SMTPNotSupportedError    The AUTH command is not supported by the
 |                                server.
 |       SMTPException            No suitable authentication method was
 |                                found.
 |
 |  mail(self, sender, options=())
 |      SMTP 'mail' command -- begins mail xfer session.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPNotSupportedError  The options parameter includes 'SMTPUTF8'
 |                              but the SMTPUTF8 extension is not supported by
 |                              the server.
 |
 |  noop(self)
 |      SMTP 'noop' command -- doesn't do anything :>
 |
 |  putcmd(self, cmd, args='')
 |      Send a command to the server.
 |
 |  quit(self)
 |      Terminate the SMTP session.
 |
 |  rcpt(self, recip, options=())
 |      SMTP 'rcpt' command -- indicates 1 recipient for this mail.
 |
 |  rset(self)
 |      SMTP 'rset' command -- resets session.
 |
 |  send(self, s)
 |      Send `s' to the server.
 |
 |  send_message(self, msg, from_addr=None, to_addrs=None, mail_options=(), rcpt_options=())
 |      Converts message to a bytestring and passes it to sendmail.
 |
 |      The arguments are as for sendmail, except that msg is an
 |      email.message.Message object.  If from_addr is None or to_addrs is
 |      None, these arguments are taken from the headers of the Message as
 |      described in RFC 2822 (a ValueError is raised if there is more than
 |      one set of 'Resent-' headers).  Regardless of the values of from_addr and
 |      to_addr, any Bcc field (or Resent-Bcc field, when the Message is a
 |      resent) of the Message object won't be transmitted.  The Message
 |      object is then serialized using email.generator.BytesGenerator and
 |      sendmail is called to transmit the message.  If the sender or any of
 |      the recipient addresses contain non-ASCII and the server advertises the
 |      SMTPUTF8 capability, the policy is cloned with utf8 set to True for the
 |      serialization, and SMTPUTF8 and BODY=8BITMIME are asserted on the send.
 |      If the server does not support SMTPUTF8, an SMTPNotSupported error is
 |      raised.  Otherwise the generator is called without modifying the
 |      policy.
 |
 |  sendmail(self, from_addr, to_addrs, msg, mail_options=(), rcpt_options=())
 |      This command performs an entire mail transaction.
 |
 |      The arguments are:
 |          - from_addr    : The address sending this mail.
 |          - to_addrs     : A list of addresses to send this mail to.  A bare
 |                           string will be treated as a list with 1 address.
 |          - msg          : The message to send.
 |          - mail_options : List of ESMTP options (such as 8bitmime) for the
 |                           mail command.
 |          - rcpt_options : List of ESMTP options (such as DSN commands) for
 |                           all the rcpt commands.
 |
 |      msg may be a string containing characters in the ASCII range, or a byte
 |      string.  A string is encoded to bytes using the ascii codec, and lone
 |      \r and \n characters are converted to \r\n characters.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.  If the server does ESMTP, message size
 |      and each of the specified options will be passed to it.  If EHLO
 |      fails, HELO will be tried and ESMTP options suppressed.
 |
 |      This method will return normally if the mail is accepted for at least
 |      one recipient.  It returns a dictionary, with one entry for each
 |      recipient that was refused.  Each entry contains a tuple of the SMTP
 |      error code and the accompanying error message sent by the server.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError          The server didn't reply properly to
 |                              the helo greeting.
 |       SMTPRecipientsRefused  The server rejected ALL recipients
 |                              (no mail was sent).
 |       SMTPSenderRefused      The server didn't accept the from_addr.
 |       SMTPDataError          The server replied with an unexpected
 |                              error code (other than a refusal of
 |                              a recipient).
 |       SMTPNotSupportedError  The mail_options parameter includes 'SMTPUTF8'
 |                              but the SMTPUTF8 extension is not supported by
 |                              the server.
 |
 |      Note: the connection will be open even after an exception is raised.
 |
 |      Example:
 |
 |       >>> import smtplib
 |       >>> s=smtplib.SMTP("localhost")
 |       >>> tolist=["one@one.org","two@two.org","three@three.org","four@four.org"]
 |       >>> msg = '''\
 |       ... From: Me@my.org
 |       ... Subject: testin'...
 |       ...
 |       ... This is a test '''
 |       >>> s.sendmail("me@my.org",tolist,msg)
 |       { "three@three.org" : ( 550 ,"User unknown" ) }
 |       >>> s.quit()
 |
 |      In the above example, the message was accepted for delivery to three
 |      of the four addresses, and one was rejected, with the error code
 |      550.  If all addresses are accepted, then the method will return an
 |      empty dictionary.
 |
 |  set_debuglevel(self, debuglevel)
 |      Set the debug output level.
 |
 |      A non-false value results in debug messages for connection and for all
 |      messages sent to and received from the server.
 |
 |  starttls(self, *, context=None)
 |      Puts the connection to the SMTP server into TLS mode.
 |
 |      If there has been no previous EHLO or HELO command this session, this
 |      method tries ESMTP EHLO first.
 |
 |      If the server supports TLS, this will encrypt the rest of the SMTP
 |      session. If you provide the context parameter,
 |      the identity of the SMTP server and client can be checked. This,
 |      however, depends on whether the socket module really checks the
 |      certificates.
 |
 |      This method may raise the following exceptions:
 |
 |       SMTPHeloError            The server didn't reply properly to
 |                                the helo greeting.
 |
 |  verify(self, address)
 |      SMTP 'verify' command -- checks for address validity.
 |
 |  vrfy = verify(self, address)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from SMTP:
 |
 |  __dict__
 |      dictionary for instance variables
 |
 |  __weakref__
 |      list of weak references to the object
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from SMTP:
 |
 |  debuglevel = 0
 |
 |  does_esmtp = False
 |
 |  ehlo_msg = 'ehlo'
 |
 |  ehlo_resp = None
 |
 |  file = None
 |
 |  helo_resp = None
 |
 |  sock = None
smtplib.SMTP_SSL_PORT
Python Library Documentation: int object

class int(object)
 |  int([x]) -> integer
 |  int(x, base=10) -> integer
 |
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is a number, return x.__int__().  For floating-point
 |  numbers, this truncates towards zero.
 |
 |  If x is not a number or if base is given, then x must be a string,
 |  bytes, or bytearray instance representing an integer literal in the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.
 |  >>> int('0b100', base=0)
 |  4
 |
 |  Built-in subclasses:
 |      bool
 |
 |  Methods defined here:
 |
 |  __abs__(self, /)
 |      abs(self)
 |
 |  __add__(self, value, /)
 |      Return self+value.
 |
 |  __and__(self, value, /)
 |      Return self&value.
 |
 |  __bool__(self, /)
 |      True if self else False
 |
 |  __ceil__(...)
 |      Ceiling of an Integral returns itself.
 |
 |  __divmod__(self, value, /)
 |      Return divmod(self, value).
 |
 |  __eq__(self, value, /)
 |      Return self==value.
 |
 |  __float__(self, /)
 |      float(self)
 |
 |  __floor__(...)
 |      Flooring an Integral returns itself.
 |
 |  __floordiv__(self, value, /)
 |      Return self//value.
 |
 |  __format__(self, format_spec, /)
 |      Convert to a string according to format_spec.
 |
 |  __ge__(self, value, /)
 |      Return self>=value.
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __getnewargs__(self, /)
 |
 |  __gt__(self, value, /)
 |      Return self>value.
 |
 |  __hash__(self, /)
 |      Return hash(self).
 |
 |  __index__(self, /)
 |      Return self converted to an integer, if self is suitable for use as an index into a list.
 |
 |  __int__(self, /)
 |      int(self)
 |
 |  __invert__(self, /)
 |      ~self
 |
 |  __le__(self, value, /)
 |      Return self<=value.
 |
 |  __lshift__(self, value, /)
 |      Return self<<value.
 |
 |  __lt__(self, value, /)
 |      Return self<value.
 |
 |  __mod__(self, value, /)
 |      Return self%value.
 |
 |  __mul__(self, value, /)
 |      Return self*value.
 |
 |  __ne__(self, value, /)
 |      Return self!=value.
 |
 |  __neg__(self, /)
 |      -self
 |
 |  __or__(self, value, /)
 |      Return self|value.
 |
 |  __pos__(self, /)
 |      +self
 |
 |  __pow__(self, value, mod=None, /)
 |      Return pow(self, value, mod).
 |
 |  __radd__(self, value, /)
 |      Return value+self.
 |
 |  __rand__(self, value, /)
 |      Return value&self.
 |
 |  __rdivmod__(self, value, /)
 |      Return divmod(value, self).
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __rfloordiv__(self, value, /)
 |      Return value//self.
 |
 |  __rlshift__(self, value, /)
 |      Return value<<self.
 |
 |  __rmod__(self, value, /)
 |      Return value%self.
 |
 |  __rmul__(self, value, /)
 |      Return value*self.
 |
 |  __ror__(self, value, /)
 |      Return value|self.
 |
 |  __round__(...)
 |      Rounding an Integral returns itself.
 |
 |      Rounding with an ndigits argument also returns an integer.
 |
 |  __rpow__(self, value, mod=None, /)
 |      Return pow(value, self, mod).
 |
 |  __rrshift__(self, value, /)
 |      Return value>>self.
 |
 |  __rshift__(self, value, /)
 |      Return self>>value.
 |
 |  __rsub__(self, value, /)
 |      Return value-self.
 |
 |  __rtruediv__(self, value, /)
 |      Return value/self.
 |
 |  __rxor__(self, value, /)
 |      Return value^self.
 |
 |  __sizeof__(self, /)
 |      Returns size in memory, in bytes.
 |
 |  __sub__(self, value, /)
 |      Return self-value.
 |
 |  __truediv__(self, value, /)
 |      Return self/value.
 |
 |  __trunc__(...)
 |      Truncating an Integral returns itself.
 |
 |  __xor__(self, value, /)
 |      Return self^value.
 |
 |  as_integer_ratio(self, /)
 |      Return a pair of integers, whose ratio is equal to the original int.
 |
 |      The ratio is in lowest terms and has a positive denominator.
 |
 |      >>> (10).as_integer_ratio()
 |      (10, 1)
 |      >>> (-10).as_integer_ratio()
 |      (-10, 1)
 |      >>> (0).as_integer_ratio()
 |      (0, 1)
 |
 |  bit_count(self, /)
 |      Number of ones in the binary representation of the absolute value of self.
 |
 |      Also known as the population count.
 |
 |      >>> bin(13)
 |      '0b1101'
 |      >>> (13).bit_count()
 |      3
 |
 |  bit_length(self, /)
 |      Number of bits necessary to represent self in binary.
 |
 |      >>> bin(37)
 |      '0b100101'
 |      >>> (37).bit_length()
 |      6
 |
 |  conjugate(...)
 |      Returns self, the complex conjugate of any int.
 |
 |  is_integer(self, /)
 |      Returns True. Exists for duck type compatibility with float.is_integer.
 |
 |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
 |      Return an array of bytes representing an integer.
 |
 |      length
 |        Length of bytes object to use.  An OverflowError is raised if the
 |        integer is not representable with the given number of bytes.  Default
 |        is length 1.
 |      byteorder
 |        The byte order used to represent the integer.  If byteorder is 'big',
 |        the most significant byte is at the beginning of the byte array.  If
 |        byteorder is 'little', the most significant byte is at the end of the
 |        byte array.  To request the native byte order of the host system, use
 |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
 |      signed
 |        Determines whether two's complement is used to represent the integer.
 |        If signed is False and a negative integer is given, an OverflowError
 |        is raised.
 |
 |  ----------------------------------------------------------------------
 |  Class methods defined here:
 |
 |  from_bytes(bytes, byteorder='big', *, signed=False)
 |      Return the integer represented by the given array of bytes.
 |
 |      bytes
 |        Holds the array of bytes to convert.  The argument must either
 |        support the buffer protocol or be an iterable object producing bytes.
 |        Bytes and bytearray are examples of built-in objects that support the
 |        buffer protocol.
 |      byteorder
 |        The byte order used to represent the integer.  If byteorder is 'big',
 |        the most significant byte is at the beginning of the byte array.  If
 |        byteorder is 'little', the most significant byte is at the end of the
 |        byte array.  To request the native byte order of the host system, use
 |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
 |      signed
 |        Indicates whether two's complement is used to represent the integer.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs)
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  denominator
 |      the denominator of a rational number in lowest terms
 |
 |  imag
 |      the imaginary part of a complex number
 |
 |  numerator
 |      the numerator of a rational number in lowest terms
 |
 |  real
 |      the real part of a complex number
smtplib.bCRLF
Python Library Documentation: bytes object

class bytes(object)
 |  bytes(iterable_of_ints) -> bytes
 |  bytes(string, encoding[, errors]) -> bytes
 |  bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer
 |  bytes(int) -> bytes object of size given by the parameter initialized with null bytes
 |  bytes() -> empty bytes object
 |
 |  Construct an immutable array of bytes from:
 |    - an iterable yielding integers in range(256)
 |    - a text string encoded using the specified encoding
 |    - any object implementing the buffer API.
 |    - an integer
 |
 |  Methods defined here:
 |
 |  __add__(self, value, /)
 |      Return self+value.
 |
 |  __buffer__(self, flags, /)
 |      Return a buffer object that exposes the underlying memory of the object.
 |
 |  __bytes__(self, /)
 |      Convert this value to exact type bytes.
 |
 |  __contains__(self, key, /)
 |      Return bool(key in self).
 |
 |  __eq__(self, value, /)
 |      Return self==value.
 |
 |  __ge__(self, value, /)
 |      Return self>=value.
 |
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |
 |  __getitem__(self, key, /)
 |      Return self[key].
 |
 |  __getnewargs__(...)
 |
 |  __gt__(self, value, /)
 |      Return self>value.
 |
 |  __hash__(self, /)
 |      Return hash(self).
 |
 |  __iter__(self, /)
 |      Implement iter(self).
 |
 |  __le__(self, value, /)
 |      Return self<=value.
 |
 |  __len__(self, /)
 |      Return len(self).
 |
 |  __lt__(self, value, /)
 |      Return self<value.
 |
 |  __mod__(self, value, /)
 |      Return self%value.
 |
 |  __mul__(self, value, /)
 |      Return self*value.
 |
 |  __ne__(self, value, /)
 |      Return self!=value.
 |
 |  __repr__(self, /)
 |      Return repr(self).
 |
 |  __rmod__(self, value, /)
 |      Return value%self.
 |
 |  __rmul__(self, value, /)
 |      Return value*self.
 |
 |  __str__(self, /)
 |      Return str(self).
 |
 |  capitalize(...)
 |      B.capitalize() -> copy of B
 |
 |      Return a copy of B with only its first character capitalized (ASCII)
 |      and the rest lower-cased.
 |
 |  center(self, width, fillchar=b' ', /)
 |      Return a centered string of length width.
 |
 |      Padding is done using the specified fill character.
 |
 |  count(...)
 |      B.count(sub[, start[, end]]) -> int
 |
 |      Return the number of non-overlapping occurrences of subsection sub in
 |      bytes B[start:end].  Optional arguments start and end are interpreted
 |      as in slice notation.
 |
 |  decode(self, /, encoding='utf-8', errors='strict')
 |      Decode the bytes using the codec registered for encoding.
 |
 |      encoding
 |        The encoding with which to decode the bytes.
 |      errors
 |        The error handling scheme to use for the handling of decoding errors.
 |        The default is 'strict' meaning that decoding errors raise a
 |        UnicodeDecodeError. Other possible values are 'ignore' and 'replace'
 |        as well as any other name registered with codecs.register_error that
 |        can handle UnicodeDecodeErrors.
 |
 |  endswith(...)
 |      B.endswith(suffix[, start[, end]]) -> bool
 |
 |      Return True if B ends with the specified suffix, False otherwise.
 |      With optional start, test B beginning at that position.
 |      With optional end, stop comparing B at that position.
 |      suffix can also be a tuple of bytes to try.
 |
 |  expandtabs(self, /, tabsize=8)
 |      Return a copy where all tab characters are expanded using spaces.
 |
 |      If tabsize is not given, a tab size of 8 characters is assumed.
 |
 |  find(...)
 |      B.find(sub[, start[, end]]) -> int
 |
 |      Return the lowest index in B where subsection sub is found,
 |      such that sub is contained within B[start,end].  Optional
 |      arguments start and end are interpreted as in slice notation.
 |
 |      Return -1 on failure.
 |
 |  hex(...)
 |      Create a string of hexadecimal numbers from a bytes object.
 |
 |        sep
 |          An optional single character or byte to separate hex bytes.
 |        bytes_per_sep
 |          How many bytes between separators.  Positive values count from the
 |          right, negative values count from the left.
 |
 |      Example:
 |      >>> value = b'\xb9\x01\xef'
 |      >>> value.hex()
 |      'b901ef'
 |      >>> value.hex(':')
 |      'b9:01:ef'
 |      >>> value.hex(':', 2)
 |      'b9:01ef'
 |      >>> value.hex(':', -2)
 |      'b901:ef'
 |
 |  index(...)
 |      B.index(sub[, start[, end]]) -> int
 |
 |      Return the lowest index in B where subsection sub is found,
 |      such that sub is contained within B[start,end].  Optional
 |      arguments start and end are interpreted as in slice notation.
 |
 |      Raises ValueError when the subsection is not found.
 |
 |  isalnum(...)
 |      B.isalnum() -> bool
 |
 |      Return True if all characters in B are alphanumeric
 |      and there is at least one character in B, False otherwise.
 |
 |  isalpha(...)
 |      B.isalpha() -> bool
 |
 |      Return True if all characters in B are alphabetic
 |      and there is at least one character in B, False otherwise.
 |
 |  isascii(...)
 |      B.isascii() -> bool
 |
 |      Return True if B is empty or all characters in B are ASCII,
 |      False otherwise.
 |
 |  isdigit(...)
 |      B.isdigit() -> bool
 |
 |      Return True if all characters in B are digits
 |      and there is at least one character in B, False otherwise.
 |
 |  islower(...)
 |      B.islower() -> bool
 |
 |      Return True if all cased characters in B are lowercase and there is
 |      at least one cased character in B, False otherwise.
 |
 |  isspace(...)
 |      B.isspace() -> bool
 |
 |      Return True if all characters in B are whitespace
 |      and there is at least one character in B, False otherwise.
 |
 |  istitle(...)
 |      B.istitle() -> bool
 |
 |      Return True if B is a titlecased string and there is at least one
 |      character in B, i.e. uppercase characters may only follow uncased
 |      characters and lowercase characters only cased ones. Return False
 |      otherwise.
 |
 |  isupper(...)
 |      B.isupper() -> bool
 |
 |      Return True if all cased characters in B are uppercase and there is
 |      at least one cased character in B, False otherwise.
 |
 |  join(self, iterable_of_bytes, /)
 |      Concatenate any number of bytes objects.
 |
 |      The bytes whose method is called is inserted in between each pair.
 |
 |      The result is returned as a new bytes object.
 |
 |      Example: b'.'.join([b'ab', b'pq', b'rs']) -> b'ab.pq.rs'.
 |
 |  ljust(self, width, fillchar=b' ', /)
 |      Return a left-justified string of length width.
 |
 |      Padding is done using the specified fill character.
 |
 |  lower(...)
 |      B.lower() -> copy of B
 |
 |      Return a copy of B with all ASCII characters converted to lowercase.
 |
 |  lstrip(self, bytes=None, /)
 |      Strip leading bytes contained in the argument.
 |
 |      If the argument is omitted or None, strip leading  ASCII whitespace.
 |
 |  partition(self, sep, /)
 |      Partition the bytes into three parts using the given separator.
 |
 |      This will search for the separator sep in the bytes. If the separator is found,
 |      returns a 3-tuple containing the part before the separator, the separator
 |      itself, and the part after it.
 |
 |      If the separator is not found, returns a 3-tuple containing the original bytes
 |      object and two empty bytes objects.
 |
 |  removeprefix(self, prefix, /)
 |      Return a bytes object with the given prefix string removed if present.
 |
 |      If the bytes starts with the prefix string, return bytes[len(prefix):].
 |      Otherwise, return a copy of the original bytes.
 |
 |  removesuffix(self, suffix, /)
 |      Return a bytes object with the given suffix string removed if present.
 |
 |      If the bytes ends with the suffix string and that suffix is not empty,
 |      return bytes[:-len(prefix)].  Otherwise, return a copy of the original
 |      bytes.
 |
 |  replace(self, old, new, count=-1, /)
 |      Return a copy with all occurrences of substring old replaced by new.
 |
 |        count
 |          Maximum number of occurrences to replace.
 |          -1 (the default value) means replace all occurrences.
 |
 |      If the optional argument count is given, only the first count occurrences are
 |      replaced.
 |
 |  rfind(...)
 |      B.rfind(sub[, start[, end]]) -> int
 |
 |      Return the highest index in B where subsection sub is found,
 |      such that sub is contained within B[start,end].  Optional
 |      arguments start and end are interpreted as in slice notation.
 |
 |      Return -1 on failure.
 |
 |  rindex(...)
 |      B.rindex(sub[, start[, end]]) -> int
 |
 |      Return the highest index in B where subsection sub is found,
 |      such that sub is contained within B[start,end].  Optional
 |      arguments start and end are interpreted as in slice notation.
 |
 |      Raise ValueError when the subsection is not found.
 |
 |  rjust(self, width, fillchar=b' ', /)
 |      Return a right-justified string of length width.
 |
 |      Padding is done using the specified fill character.
 |
 |  rpartition(self, sep, /)
 |      Partition the bytes into three parts using the given separator.
 |
 |      This will search for the separator sep in the bytes, starting at the end. If
 |      the separator is found, returns a 3-tuple containing the part before the
 |      separator, the separator itself, and the part after it.
 |
 |      If the separator is not found, returns a 3-tuple containing two empty bytes
 |      objects and the original bytes object.
 |
 |  rsplit(self, /, sep=None, maxsplit=-1)
 |      Return a list of the sections in the bytes, using sep as the delimiter.
 |
 |        sep
 |          The delimiter according which to split the bytes.
 |          None (the default value) means split on ASCII whitespace characters
 |          (space, tab, return, newline, formfeed, vertical tab).
 |        maxsplit
 |          Maximum number of splits to do.
 |          -1 (the default value) means no limit.
 |
 |      Splitting is done starting at the end of the bytes and working to the front.
 |
 |  rstrip(self, bytes=None, /)
 |      Strip trailing bytes contained in the argument.
 |
 |      If the argument is omitted or None, strip trailing ASCII whitespace.
 |
 |  split(self, /, sep=None, maxsplit=-1)
 |      Return a list of the sections in the bytes, using sep as the delimiter.
 |
 |      sep
 |        The delimiter according which to split the bytes.
 |        None (the default value) means split on ASCII whitespace characters
 |        (space, tab, return, newline, formfeed, vertical tab).
 |      maxsplit
 |        Maximum number of splits to do.
 |        -1 (the default value) means no limit.
 |
 |  splitlines(self, /, keepends=False)
 |      Return a list of the lines in the bytes, breaking at line boundaries.
 |
 |      Line breaks are not included in the resulting list unless keepends is given and
 |      true.
 |
 |  startswith(...)
 |      B.startswith(prefix[, start[, end]]) -> bool
 |
 |      Return True if B starts with the specified prefix, False otherwise.
 |      With optional start, test B beginning at that position.
 |      With optional end, stop comparing B at that position.
 |      prefix can also be a tuple of bytes to try.
 |
 |  strip(self, bytes=None, /)
 |      Strip leading and trailing bytes contained in the argument.
 |
 |      If the argument is omitted or None, strip leading and trailing ASCII whitespace.
 |
 |  swapcase(...)
 |      B.swapcase() -> copy of B
 |
 |      Return a copy of B with uppercase ASCII characters converted
 |      to lowercase ASCII and vice versa.
 |
 |  title(...)
 |      B.title() -> copy of B
 |
 |      Return a titlecased version of B, i.e. ASCII words start with uppercase
 |      characters, all remaining cased characters have lowercase.
 |
 |  translate(self, table, /, delete=b'')
 |      Return a copy with each character mapped by the given translation table.
 |
 |        table
 |          Translation table, which must be a bytes object of length 256.
 |
 |      All characters occurring in the optional argument delete are removed.
 |      The remaining characters are mapped through the given translation table.
 |
 |  upper(...)
 |      B.upper() -> copy of B
 |
 |      Return a copy of B with all ASCII characters converted to uppercase.
 |
 |  zfill(self, width, /)
 |      Pad a numeric string with zeros on the left, to fill a field of the given width.
 |
 |      The original string is never truncated.
 |
 |  ----------------------------------------------------------------------
 |  Class methods defined here:
 |
 |  fromhex(string, /)
 |      Create a bytes object from a string of hexadecimal numbers.
 |
 |      Spaces between two numbers are accepted.
 |      Example: bytes.fromhex('B9 01EF') -> b'\\xb9\\x01\\xef'.
 |
 |  ----------------------------------------------------------------------
 |  Static methods defined here:
 |
 |  __new__(*args, **kwargs)
 |      Create and return a new object.  See help(type) for accurate signature.
 |
 |  maketrans(frm, to, /)
 |      Return a translation table useable for the bytes or bytearray translate method.
 |
 |      The returned table will be one where each byte in frm is mapped to the byte at
 |      the same position in to.
 |
 |      The bytes objects frm and to must be of the same length.
smtplib.base64
Python Library Documentation: module base64

NAME
    base64 - Base16, Base32, Base64 (RFC 3548), Base85 and Ascii85 data encodings

MODULE REFERENCE
    https://docs.python.org/3.12/library/base64.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

FUNCTIONS
    a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\x0b')
        Decode the Ascii85 encoded bytes-like object or ASCII string b.

        foldspaces is a flag that specifies whether the 'y' short sequence should be
        accepted as shorthand for 4 consecutive spaces (ASCII 0x20). This feature is
        not supported by the "standard" Adobe encoding.

        adobe controls whether the input sequence is in Adobe Ascii85 format (i.e.
        is framed with <~ and ~>).

        ignorechars should be a byte string containing characters to ignore from the
        input. This should only contain whitespace characters, and by default
        contains all whitespace characters in ASCII.

        The result is returned as a bytes object.

    a85encode(b, *, foldspaces=False, wrapcol=0, pad=False, adobe=False)
        Encode bytes-like object b using Ascii85 and return a bytes object.

        foldspaces is an optional flag that uses the special short sequence 'y'
        instead of 4 consecutive spaces (ASCII 0x20) as supported by 'btoa'. This
        feature is not supported by the "standard" Adobe encoding.

        wrapcol controls whether the output should have newline (b'\n') characters
        added to it. If this is non-zero, each output line will be at most this
        many characters long, excluding the trailing newline.

        pad controls whether the input is padded to a multiple of 4 before
        encoding. Note that the btoa implementation always pads.

        adobe controls whether the encoded byte sequence is framed with <~ and ~>,
        which is used by the Adobe implementation.

    b16decode(s, casefold=False)
        Decode the Base16 encoded bytes-like object or ASCII string s.

        Optional casefold is a flag specifying whether a lowercase alphabet is
        acceptable as input.  For security purposes, the default is False.

        The result is returned as a bytes object.  A binascii.Error is raised if
        s is incorrectly padded or if there are non-alphabet characters present
        in the input.

    b16encode(s)
        Encode the bytes-like object s using Base16 and return a bytes object.

    b32decode(s, casefold=False, map01=None)
        Decode the base32 encoded bytes-like object or ASCII string s.

        Optional casefold is a flag specifying whether a lowercase alphabet is
        acceptable as input.  For security purposes, the default is False.

        RFC 3548 allows for optional mapping of the digit 0 (zero) to the
        letter O (oh), and for optional mapping of the digit 1 (one) to
        either the letter I (eye) or letter L (el).  The optional argument
        map01 when not None, specifies which letter the digit 1 should be
        mapped to (when map01 is not None, the digit 0 is always mapped to
        the letter O).  For security purposes the default is None, so that
        0 and 1 are not allowed in the input.

        The result is returned as a bytes object.  A binascii.Error is raised if
        the input is incorrectly padded or if there are non-alphabet
        characters present in the input.

    b32encode(s)
        Encode the bytes-like objects using base32 and return a bytes object.

    b32hexdecode(s, casefold=False)
        Decode the base32hex encoded bytes-like object or ASCII string s.

        Optional casefold is a flag specifying whether a lowercase alphabet is
        acceptable as input.  For security purposes, the default is False.

        The result is returned as a bytes object.  A binascii.Error is raised if
        the input is incorrectly padded or if there are non-alphabet
        characters present in the input.

    b32hexencode(s)
        Encode the bytes-like objects using base32hex and return a bytes object.

    b64decode(s, altchars=None, validate=False)
        Decode the Base64 encoded bytes-like object or ASCII string s.

        Optional altchars must be a bytes-like object or ASCII string of length 2
        which specifies the alternative alphabet used instead of the '+' and '/'
        characters.

        The result is returned as a bytes object.  A binascii.Error is raised if
        s is incorrectly padded.

        If validate is False (the default), characters that are neither in the
        normal base-64 alphabet nor the alternative alphabet are discarded prior
        to the padding check.  If validate is True, these non-alphabet characters
        in the input result in a binascii.Error.
        For more information about the strict base64 check, see:

        https://docs.python.org/3.11/library/binascii.html#binascii.a2b_base64

    b64encode(s, altchars=None)
        Encode the bytes-like object s using Base64 and return a bytes object.

        Optional altchars should be a byte string of length 2 which specifies an
        alternative alphabet for the '+' and '/' characters.  This allows an
        application to e.g. generate url or filesystem safe Base64 strings.

    b85decode(b)
        Decode the base85-encoded bytes-like object or ASCII string b

        The result is returned as a bytes object.

    b85encode(b, pad=False)
        Encode bytes-like object b in base85 format and return a bytes object.

        If pad is true, the input is padded with b'\0' so its length is a multiple of
        4 bytes before encoding.

    decode(input, output)
        Decode a file; input and output are binary files.

    decodebytes(s)
        Decode a bytestring of base-64 data into a bytes object.

    encode(input, output)
        Encode a file; input and output are binary files.

    encodebytes(s)
        Encode a bytestring into a bytes object containing multiple lines
        of base-64 data.

    standard_b64decode(s)
        Decode bytes encoded with the standard Base64 alphabet.

        Argument s is a bytes-like object or ASCII string to decode.  The result
        is returned as a bytes object.  A binascii.Error is raised if the input
        is incorrectly padded.  Characters that are not in the standard alphabet
        are discarded prior to the padding check.

    standard_b64encode(s)
        Encode bytes-like object s using the standard Base64 alphabet.

        The result is returned as a bytes object.

    urlsafe_b64decode(s)
        Decode bytes using the URL- and filesystem-safe Base64 alphabet.

        Argument s is a bytes-like object or ASCII string to decode.  The result
        is returned as a bytes object.  A binascii.Error is raised if the input
        is incorrectly padded.  Characters that are not in the URL-safe base-64
        alphabet, and are not a plus '+' or slash '/', are discarded prior to the
        padding check.

        The alphabet uses '-' instead of '+' and '_' instead of '/'.

    urlsafe_b64encode(s)
        Encode bytes using the URL- and filesystem-safe Base64 alphabet.

        Argument s is a bytes-like object to encode.  The result is returned as a
        bytes object.  The alphabet uses '-' instead of '+' and '_' instead of
        '/'.

DATA
    __all__ = ['encode', 'decode', 'encodebytes', 'decodebytes', 'b64encod...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\base64.py

smtplib.copy
Python Library Documentation: module copy

NAME
    copy - Generic (shallow and deep) copying operations.

MODULE REFERENCE
    https://docs.python.org/3.12/library/copy.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    Interface summary:

            import copy

            x = copy.copy(y)        # make a shallow copy of y
            x = copy.deepcopy(y)    # make a deep copy of y

    For module specific errors, copy.Error is raised.

    The difference between shallow and deep copying is only relevant for
    compound objects (objects that contain other objects, like lists or
    class instances).

    - A shallow copy constructs a new compound object and then (to the
      extent possible) inserts *the same objects* into it that the
      original contains.

    - A deep copy constructs a new compound object and then, recursively,
      inserts *copies* into it of the objects found in the original.

    Two problems often exist with deep copy operations that don't exist
    with shallow copy operations:

     a) recursive objects (compound objects that, directly or indirectly,
        contain a reference to themselves) may cause a recursive loop

     b) because deep copy copies *everything* it may copy too much, e.g.
        administrative data structures that should be shared even between
        copies

    Python's deep copy operation avoids these problems by:

     a) keeping a table of objects already copied during the current
        copying pass

     b) letting user-defined classes override the copying operation or the
        set of components copied

    This version does not copy types like module, class, function, method,
    nor stack trace, stack frame, nor file, socket, window, nor any
    similar types.

    Classes can use the same interfaces to control copying that they use
    to control pickling: they can define methods called __getinitargs__(),
    __getstate__() and __setstate__().  See the documentation for module
    "pickle" for information on these methods.

CLASSES
    builtins.Exception(builtins.BaseException)
        Error

    class Error(builtins.Exception)
     |  Method resolution order:
     |      Error
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.Exception:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.Exception:
     |
     |  __new__(*args, **kwargs) class method of builtins.Exception
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

FUNCTIONS
    copy(x)
        Shallow copy operation on arbitrary Python objects.

        See the module's __doc__ string for more info.

    deepcopy(x, memo=None, _nil=[])
        Deep copy operation on arbitrary Python objects.

        See the module's __doc__ string for more info.

DATA
    __all__ = ['Error', 'copy', 'deepcopy']

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\copy.py

smtplib.datetime
Python Library Documentation: module datetime

NAME
    datetime - Fast implementation of the datetime type.

MODULE REFERENCE
    https://docs.python.org/3.12/library/datetime.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

CLASSES
    builtins.object
        date
            datetime
        time
        timedelta
        tzinfo
            timezone

    class date(builtins.object)
     |  date(year, month, day) --> date object
     |
     |  Methods defined here:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __format__(...)
     |      Formats self with strftime.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  ctime(...)
     |      Return ctime() style string.
     |
     |  isocalendar(...)
     |      Return a named tuple containing ISO year, week number, and weekday.
     |
     |  isoformat(...)
     |      Return string in ISO 8601 format, YYYY-MM-DD.
     |
     |  isoweekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 1 ... Sunday == 7
     |
     |  replace(...)
     |      Return date with new specified fields.
     |
     |  strftime(...)
     |      format -> strftime() style string.
     |
     |  timetuple(...)
     |      Return time tuple, compatible with time.localtime().
     |
     |  toordinal(...)
     |      Return proleptic Gregorian ordinal.  January 1 of year 1 is day 1.
     |
     |  weekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 0 ... Sunday == 6
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  fromisocalendar(...)
     |      int, int, int -> Construct a date from the ISO year, week number and weekday.
     |
     |      This is the inverse of the date.isocalendar() function
     |
     |  fromisoformat(...)
     |      str -> Construct a date from a string in ISO 8601 format.
     |
     |  fromordinal(...)
     |      int -> date corresponding to a proleptic Gregorian ordinal.
     |
     |  fromtimestamp(timestamp, /)
     |      Create a date from a POSIX timestamp.
     |
     |      The timestamp is a number, e.g. created via time.time(), that is interpreted
     |      as local time.
     |
     |  today(...)
     |      Current date or datetime:  same as self.__class__.fromtimestamp(time.time()).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  day
     |
     |  month
     |
     |  year
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  max = datetime.date(9999, 12, 31)
     |
     |  min = datetime.date(1, 1, 1)
     |
     |  resolution = datetime.timedelta(days=1)

    class datetime(date)
     |  datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
     |
     |  The year, month and day arguments are required. tzinfo may be None, or an
     |  instance of a tzinfo subclass. The remaining arguments may be ints.
     |
     |  Method resolution order:
     |      datetime
     |      date
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |
     |  __reduce_ex__(...)
     |      __reduce_ex__(proto) -> (cls, state)
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  astimezone(...)
     |      tz -> convert to local time in new timezone tz
     |
     |  ctime(...)
     |      Return ctime() style string.
     |
     |  date(...)
     |      Return date object with same year, month and day.
     |
     |  dst(...)
     |      Return self.tzinfo.dst(self).
     |
     |  isoformat(...)
     |      [sep] -> string in ISO 8601 format, YYYY-MM-DDT[HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].
     |      sep is used to separate the year from the time, and defaults to 'T'.
     |      The optional argument timespec specifies the number of additional terms
     |      of the time to include. Valid options are 'auto', 'hours', 'minutes',
     |      'seconds', 'milliseconds' and 'microseconds'.
     |
     |  replace(...)
     |      Return datetime with new specified fields.
     |
     |  time(...)
     |      Return time object with same time but with tzinfo=None.
     |
     |  timestamp(...)
     |      Return POSIX timestamp as float.
     |
     |  timetuple(...)
     |      Return time tuple, compatible with time.localtime().
     |
     |  timetz(...)
     |      Return time object with same time and tzinfo.
     |
     |  tzname(...)
     |      Return self.tzinfo.tzname(self).
     |
     |  utcoffset(...)
     |      Return self.tzinfo.utcoffset(self).
     |
     |  utctimetuple(...)
     |      Return UTC time tuple, compatible with time.localtime().
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  combine(...)
     |      date, time -> datetime with same date and time fields
     |
     |  fromisoformat(...)
     |      string -> datetime from a string in most ISO 8601 formats
     |
     |  fromtimestamp(...)
     |      timestamp[, tz] -> tz's local time from POSIX timestamp.
     |
     |  now(tz=None)
     |      Returns new datetime object representing current time local to tz.
     |
     |        tz
     |          Timezone object.
     |
     |      If no tz is specified, uses local timezone.
     |
     |  strptime(...)
     |      string, format -> new datetime parsed from a string (like time.strptime()).
     |
     |  utcfromtimestamp(...)
     |      Construct a naive UTC datetime from a POSIX timestamp.
     |
     |  utcnow(...)
     |      Return a new datetime representing UTC day and time.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  fold
     |
     |  hour
     |
     |  microsecond
     |
     |  minute
     |
     |  second
     |
     |  tzinfo
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
     |
     |  min = datetime.datetime(1, 1, 1, 0, 0)
     |
     |  resolution = datetime.timedelta(microseconds=1)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from date:
     |
     |  __format__(...)
     |      Formats self with strftime.
     |
     |  isocalendar(...)
     |      Return a named tuple containing ISO year, week number, and weekday.
     |
     |  isoweekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 1 ... Sunday == 7
     |
     |  strftime(...)
     |      format -> strftime() style string.
     |
     |  toordinal(...)
     |      Return proleptic Gregorian ordinal.  January 1 of year 1 is day 1.
     |
     |  weekday(...)
     |      Return the day of the week represented by the date.
     |      Monday == 0 ... Sunday == 6
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from date:
     |
     |  fromisocalendar(...)
     |      int, int, int -> Construct a date from the ISO year, week number and weekday.
     |
     |      This is the inverse of the date.isocalendar() function
     |
     |  fromordinal(...)
     |      int -> date corresponding to a proleptic Gregorian ordinal.
     |
     |  today(...)
     |      Current date or datetime:  same as self.__class__.fromtimestamp(time.time()).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from date:
     |
     |  day
     |
     |  month
     |
     |  year

    class time(builtins.object)
     |  time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object
     |
     |  All arguments are optional. tzinfo may be None, or an instance of
     |  a tzinfo subclass. The remaining arguments may be ints.
     |
     |  Methods defined here:
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __format__(...)
     |      Formats self with strftime.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |
     |  __reduce_ex__(...)
     |      __reduce_ex__(proto) -> (cls, state)
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  dst(...)
     |      Return self.tzinfo.dst(self).
     |
     |  isoformat(...)
     |      Return string in ISO 8601 format, [HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].
     |
     |      The optional argument timespec specifies the number of additional terms
     |      of the time to include. Valid options are 'auto', 'hours', 'minutes',
     |      'seconds', 'milliseconds' and 'microseconds'.
     |
     |  replace(...)
     |      Return time with new specified fields.
     |
     |  strftime(...)
     |      format -> strftime() style string.
     |
     |  tzname(...)
     |      Return self.tzinfo.tzname(self).
     |
     |  utcoffset(...)
     |      Return self.tzinfo.utcoffset(self).
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  fromisoformat(...)
     |      string -> time from a string in ISO 8601 format
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  fold
     |
     |  hour
     |
     |  microsecond
     |
     |  minute
     |
     |  second
     |
     |  tzinfo
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  max = datetime.time(23, 59, 59, 999999)
     |
     |  min = datetime.time(0, 0)
     |
     |  resolution = datetime.timedelta(microseconds=1)

    class timedelta(builtins.object)
     |  Difference between two datetime values.
     |
     |  timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
     |
     |  All arguments are optional and default to 0.
     |  Arguments may be integers or floats, and may be positive or negative.
     |
     |  Methods defined here:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  total_seconds(...)
     |      Total seconds in the duration.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  days
     |      Number of days.
     |
     |  microseconds
     |      Number of microseconds (>= 0 and less than 1 second).
     |
     |  seconds
     |      Number of seconds (>= 0 and less than 1 day).
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  max = datetime.timedelta(days=999999999, seconds=86399, microseconds=9...
     |
     |  min = datetime.timedelta(days=-999999999)
     |
     |  resolution = datetime.timedelta(microseconds=1)

    class timezone(tzinfo)
     |  Fixed offset from UTC implementation of tzinfo.
     |
     |  Method resolution order:
     |      timezone
     |      tzinfo
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getinitargs__(...)
     |      pickle support
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  dst(...)
     |      Return None.
     |
     |  fromutc(...)
     |      datetime in UTC -> datetime in local time.
     |
     |  tzname(...)
     |      If name is specified when timezone is created, returns the name.  Otherwise returns offset as 'UTC(+|-)HH:MM'.
     |
     |  utcoffset(...)
     |      Return fixed offset.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  max = datetime.timezone(datetime.timedelta(seconds=86340))
     |
     |  min = datetime.timezone(datetime.timedelta(days=-1, seconds=60))
     |
     |  utc = datetime.timezone.utc
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from tzinfo:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      -> (cls, state)

    class tzinfo(builtins.object)
     |  Abstract base class for time zone info objects.
     |
     |  Methods defined here:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      -> (cls, state)
     |
     |  dst(...)
     |      datetime -> DST offset as timedelta positive east of UTC.
     |
     |  fromutc(...)
     |      datetime in UTC -> datetime in local time.
     |
     |  tzname(...)
     |      datetime -> string name of time zone.
     |
     |  utcoffset(...)
     |      datetime -> timedelta showing offset from UTC, negative values indicating West of UTC
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.

DATA
    MAXYEAR = 9999
    MINYEAR = 1
    UTC = datetime.timezone.utc
    __all__ = ('date', 'datetime', 'time', 'timedelta', 'timezone', 'tzinf...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\datetime.py

smtplib.email
Python Library Documentation: package email

NAME
    email - A package for parsing, handling, and generating email messages.

MODULE REFERENCE
    https://docs.python.org/3.12/library/email.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

PACKAGE CONTENTS
    _encoded_words
    _header_value_parser
    _parseaddr
    _policybase
    base64mime
    charset
    contentmanager
    encoders
    errors
    feedparser
    generator
    header
    headerregistry
    iterators
    message
    mime (package)
    parser
    policy
    quoprimime
    utils

FUNCTIONS
    message_from_binary_file(fp, *args, **kws)
        Read a binary file and parse its contents into a Message object model.

        Optional _class and strict are passed to the Parser constructor.

    message_from_bytes(s, *args, **kws)
        Parse a bytes string into a Message object model.

        Optional _class and strict are passed to the Parser constructor.

    message_from_file(fp, *args, **kws)
        Read a file and parse its contents into a Message object model.

        Optional _class and strict are passed to the Parser constructor.

    message_from_string(s, *args, **kws)
        Parse a string into a Message object model.

        Optional _class and strict are passed to the Parser constructor.

DATA
    __all__ = ['base64mime', 'charset', 'encoders', 'errors', 'feedparser'...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\email\__init__.py

smtplib.encode_base64
Python Library Documentation: function body_encode in module email.base64mime

body_encode(s, maxlinelen=76, eol='\n')
    Encode a string with base64.

    Each line will be wrapped at, at most, maxlinelen characters (defaults to
    76 characters).

    Each line of encoded text will end with eol, which defaults to "\n".  Set
    this to "\r\n" if you will be using the result of this function directly
    in an email.
smtplib.hmac
Python Library Documentation: module hmac

NAME
    hmac - HMAC (Keyed-Hashing for Message Authentication) module.

MODULE REFERENCE
    https://docs.python.org/3.12/library/hmac.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    Implements the HMAC algorithm as described by RFC 2104.

CLASSES
    builtins.object
        HMAC

    class HMAC(builtins.object)
     |  HMAC(key, msg=None, digestmod='')
     |
     |  RFC 2104 HMAC class.  Also complies with RFC 4231.
     |
     |  This supports the API for Cryptographic Hash Functions (PEP 247).
     |
     |  Methods defined here:
     |
     |  __init__(self, key, msg=None, digestmod='')
     |      Create a new HMAC object.
     |
     |      key: bytes or buffer, key for the keyed hash object.
     |      msg: bytes or buffer, Initial input for the hash or None.
     |      digestmod: A hash name suitable for hashlib.new(). *OR*
     |                 A hashlib constructor returning a new hash object. *OR*
     |                 A module supporting PEP 247.
     |
     |                 Required as of 3.8, despite its position after the optional
     |                 msg argument.  Passing it as a keyword argument is
     |                 recommended, though not required for legacy API reasons.
     |
     |  copy(self)
     |      Return a separate copy of this hashing object.
     |
     |      An update to this copy won't affect the original object.
     |
     |  digest(self)
     |      Return the hash value of this hashing object.
     |
     |      This returns the hmac value as bytes.  The object is
     |      not altered in any way by this function; you can continue
     |      updating the object after calling this function.
     |
     |  hexdigest(self)
     |      Like digest(), but returns a string of hexadecimal digits instead.
     |
     |  update(self, msg)
     |      Feed data from msg into this hashing object.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  name
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  block_size
     |
     |  digest_size
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  blocksize = 64

FUNCTIONS
    compare_digest(a, b, /)
        Return 'a == b'.

        This function uses an approach designed to prevent
        timing analysis, making it appropriate for cryptography.

        a and b must both be of the same type: either str (ASCII only),
        or any bytes-like object.

        Note: If a and b are of different lengths, or if an error occurs,
        a timing attack could theoretically reveal information about the
        types and lengths of a and b--but not their values.

    digest(key, msg, digest)
        Fast inline implementation of HMAC.

        key: bytes or buffer, The key for the keyed hash object.
        msg: bytes or buffer, Input message.
        digest: A hash name suitable for hashlib.new() for best performance. *OR*
                A hashlib constructor returning a new hash object. *OR*
                A module supporting PEP 247.

    new(key, msg=None, digestmod='')
        Create a new hashing object and return it.

        key: bytes or buffer, The starting key for the hash.
        msg: bytes or buffer, Initial input for the hash, or None.
        digestmod: A hash name suitable for hashlib.new(). *OR*
                   A hashlib constructor returning a new hash object. *OR*
                   A module supporting PEP 247.

                   Required as of 3.8, despite its position after the optional
                   msg argument.  Passing it as a keyword argument is
                   recommended, though not required for legacy API reasons.

        You can now feed arbitrary bytes into the object using its update()
        method, and can ask for the hash value at any time by calling its digest()
        or hexdigest() methods.

DATA
    digest_size = None
    trans_36 = b'67452301>?<=:;89&\'$%"# !./,-*+()\x16\x17\x14\...\xc2\xc3...
    trans_5C = b'\\]^_XYZ[TUVWPQRSLMNOHIJKDEFG@ABC|}~\x7fxyz{tu...\xa8\xa9...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\hmac.py

smtplib.io
Python Library Documentation: module io

NAME
    io

MODULE REFERENCE
    https://docs.python.org/3.12/library/io.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    The io module provides the Python interfaces to stream handling. The
    builtin open function is defined in this module.

    At the top of the I/O hierarchy is the abstract base class IOBase. It
    defines the basic interface to a stream. Note, however, that there is no
    separation between reading and writing to streams; implementations are
    allowed to raise an OSError if they do not support a given operation.

    Extending IOBase is RawIOBase which deals simply with the reading and
    writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide
    an interface to OS files.

    BufferedIOBase deals with buffering on a raw byte stream (RawIOBase). Its
    subclasses, BufferedWriter, BufferedReader, and BufferedRWPair buffer
    streams that are readable, writable, and both respectively.
    BufferedRandom provides a buffered interface to random access
    streams. BytesIO is a simple stream of in-memory bytes.

    Another IOBase subclass, TextIOBase, deals with the encoding and decoding
    of streams into text. TextIOWrapper, which extends it, is a buffered text
    interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO
    is an in-memory stream for text.

    Argument names are not part of the specification, and only the arguments
    of open() are intended to be used as keyword arguments.

    data:

    DEFAULT_BUFFER_SIZE

       An int containing the default buffer size used by the module's buffered
       I/O classes. open() uses the file's blksize (as obtained by os.stat) if
       possible.

CLASSES
    _io._BufferedIOBase(_io._IOBase)
        _io.BufferedRWPair
        _io.BufferedRandom
        _io.BufferedReader
        _io.BufferedWriter
        _io.BytesIO
        BufferedIOBase(_io._BufferedIOBase, IOBase)
    _io._IOBase(builtins.object)
        IOBase
            BufferedIOBase(_io._BufferedIOBase, IOBase)
            RawIOBase(_io._RawIOBase, IOBase)
            TextIOBase(_io._TextIOBase, IOBase)
    _io._RawIOBase(_io._IOBase)
        _io.FileIO
        RawIOBase(_io._RawIOBase, IOBase)
    _io._TextIOBase(_io._IOBase)
        _io.StringIO
        _io.TextIOWrapper
        TextIOBase(_io._TextIOBase, IOBase)
    builtins.OSError(builtins.Exception)
        builtins.BlockingIOError
        UnsupportedOperation(builtins.OSError, builtins.ValueError)
    builtins.ValueError(builtins.Exception)
        UnsupportedOperation(builtins.OSError, builtins.ValueError)
    builtins.object
        _io.IncrementalNewlineDecoder

    class BlockingIOError(OSError)
     |  I/O operation would block.
     |
     |  Method resolution order:
     |      BlockingIOError
     |      OSError
     |      Exception
     |      BaseException
     |      object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from OSError:
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class BufferedIOBase(_io._BufferedIOBase, IOBase)
     |  Base class for buffered IO objects.
     |
     |  The main difference with RawIOBase is that the read() method
     |  supports omitting the size argument, and does not have a default
     |  implementation that defers to readinto().
     |
     |  In addition, read(), readinto() and write() may raise
     |  BlockingIOError if the underlying raw stream is in non-blocking
     |  mode and not ready; unlike their raw counterparts, they will never
     |  return None.
     |
     |  A typical implementation should not inherit from a RawIOBase
     |  implementation, but wrap one.
     |
     |  Method resolution order:
     |      BufferedIOBase
     |      _io._BufferedIOBase
     |      IOBase
     |      _io._IOBase
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  __abstractmethods__ = frozenset()
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._BufferedIOBase:
     |
     |  detach(self, /)
     |      Disconnect this buffer from its underlying raw stream and return it.
     |
     |      After the raw stream has been detached, the buffer is in an unusable
     |      state.
     |
     |  read(self, size=-1, /)
     |      Read and return up to n bytes.
     |
     |      If the size argument is omitted, None, or negative, read and
     |      return all data until EOF.
     |
     |      If the size argument is positive, and the underlying raw stream is
     |      not 'interactive', multiple raw reads may be issued to satisfy
     |      the byte count (unless EOF is reached first).
     |      However, for interactive raw streams (as well as sockets and pipes),
     |      at most one raw read will be issued, and a short result does not
     |      imply that EOF is imminent.
     |
     |      Return an empty bytes object on EOF.
     |
     |      Return None if the underlying raw stream was open in non-blocking
     |      mode and no data is available at the moment.
     |
     |  read1(self, size=-1, /)
     |      Read and return up to size bytes, with at most one read() call to the underlying raw stream.
     |
     |      Return an empty bytes object on EOF.
     |      A short result does not imply that EOF is imminent.
     |
     |  readinto(self, buffer, /)
     |
     |  readinto1(self, buffer, /)
     |
     |  write(self, b, /)
     |      Write buffer b to the IO stream.
     |
     |      Return the number of bytes written, which is always
     |      the length of b in bytes.
     |
     |      Raise BlockingIOError if the buffer is full and the
     |      underlying raw stream cannot accept more data at the moment.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  seek(self, offset, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, size=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _io._IOBase:
     |
     |  __dict__
     |
     |  closed

    class BufferedRWPair(_BufferedIOBase)
     |  BufferedRWPair(reader, writer, buffer_size=8192, /)
     |
     |  A buffered reader and writer object together.
     |
     |  A buffered reader object and buffered writer object put together to
     |  form a sequential IO object that can read and write. This is typically
     |  used with a socket or two-way pipe.
     |
     |  reader and writer are RawIOBase objects that are readable and
     |  writeable respectively. If the buffer_size is omitted it defaults to
     |  DEFAULT_BUFFER_SIZE.
     |
     |  Method resolution order:
     |      BufferedRWPair
     |      _BufferedIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  close(...)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  flush(...)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(...)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  peek(...)
     |
     |  read(...)
     |      Read and return up to n bytes.
     |
     |      If the size argument is omitted, None, or negative, read and
     |      return all data until EOF.
     |
     |      If the size argument is positive, and the underlying raw stream is
     |      not 'interactive', multiple raw reads may be issued to satisfy
     |      the byte count (unless EOF is reached first).
     |      However, for interactive raw streams (as well as sockets and pipes),
     |      at most one raw read will be issued, and a short result does not
     |      imply that EOF is imminent.
     |
     |      Return an empty bytes object on EOF.
     |
     |      Return None if the underlying raw stream was open in non-blocking
     |      mode and no data is available at the moment.
     |
     |  read1(...)
     |      Read and return up to size bytes, with at most one read() call to the underlying raw stream.
     |
     |      Return an empty bytes object on EOF.
     |      A short result does not imply that EOF is imminent.
     |
     |  readable(...)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readinto(...)
     |
     |  readinto1(...)
     |
     |  writable(...)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  write(...)
     |      Write buffer b to the IO stream.
     |
     |      Return the number of bytes written, which is always
     |      the length of b in bytes.
     |
     |      Raise BlockingIOError if the buffer is full and the
     |      underlying raw stream cannot accept more data at the moment.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  closed
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _BufferedIOBase:
     |
     |  detach(self, /)
     |      Disconnect this buffer from its underlying raw stream and return it.
     |
     |      After the raw stream has been detached, the buffer is in an unusable
     |      state.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  seek(self, offset, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, size=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class BufferedRandom(_BufferedIOBase)
     |  BufferedRandom(raw, buffer_size=8192)
     |
     |  A buffered interface to random access streams.
     |
     |  The constructor creates a reader and writer for a seekable stream,
     |  raw, given in the first argument. If the buffer_size is omitted it
     |  defaults to DEFAULT_BUFFER_SIZE.
     |
     |  Method resolution order:
     |      BufferedRandom
     |      _BufferedIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __reduce_ex__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __sizeof__(self, /)
     |      Size of object in memory, in bytes.
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  detach(self, /)
     |      Disconnect this buffer from its underlying raw stream and return it.
     |
     |      After the raw stream has been detached, the buffer is in an unusable
     |      state.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  peek(self, size=0, /)
     |
     |  read(self, size=-1, /)
     |      Read and return up to n bytes.
     |
     |      If the size argument is omitted, None, or negative, read and
     |      return all data until EOF.
     |
     |      If the size argument is positive, and the underlying raw stream is
     |      not 'interactive', multiple raw reads may be issued to satisfy
     |      the byte count (unless EOF is reached first).
     |      However, for interactive raw streams (as well as sockets and pipes),
     |      at most one raw read will be issued, and a short result does not
     |      imply that EOF is imminent.
     |
     |      Return an empty bytes object on EOF.
     |
     |      Return None if the underlying raw stream was open in non-blocking
     |      mode and no data is available at the moment.
     |
     |  read1(self, size=-1, /)
     |      Read and return up to size bytes, with at most one read() call to the underlying raw stream.
     |
     |      Return an empty bytes object on EOF.
     |      A short result does not imply that EOF is imminent.
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readinto(self, buffer, /)
     |
     |  readinto1(self, buffer, /)
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  seek(self, target, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, pos=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  write(self, buffer, /)
     |      Write buffer b to the IO stream.
     |
     |      Return the number of bytes written, which is always
     |      the length of b in bytes.
     |
     |      Raise BlockingIOError if the buffer is full and the
     |      underlying raw stream cannot accept more data at the moment.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  closed
     |
     |  mode
     |
     |  name
     |
     |  raw
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class BufferedReader(_BufferedIOBase)
     |  BufferedReader(raw, buffer_size=8192)
     |
     |  Create a new buffered reader using the given readable raw IO object.
     |
     |  Method resolution order:
     |      BufferedReader
     |      _BufferedIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __reduce_ex__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __sizeof__(self, /)
     |      Size of object in memory, in bytes.
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  detach(self, /)
     |      Disconnect this buffer from its underlying raw stream and return it.
     |
     |      After the raw stream has been detached, the buffer is in an unusable
     |      state.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  peek(self, size=0, /)
     |
     |  read(self, size=-1, /)
     |      Read and return up to n bytes.
     |
     |      If the size argument is omitted, None, or negative, read and
     |      return all data until EOF.
     |
     |      If the size argument is positive, and the underlying raw stream is
     |      not 'interactive', multiple raw reads may be issued to satisfy
     |      the byte count (unless EOF is reached first).
     |      However, for interactive raw streams (as well as sockets and pipes),
     |      at most one raw read will be issued, and a short result does not
     |      imply that EOF is imminent.
     |
     |      Return an empty bytes object on EOF.
     |
     |      Return None if the underlying raw stream was open in non-blocking
     |      mode and no data is available at the moment.
     |
     |  read1(self, size=-1, /)
     |      Read and return up to size bytes, with at most one read() call to the underlying raw stream.
     |
     |      Return an empty bytes object on EOF.
     |      A short result does not imply that EOF is imminent.
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readinto(self, buffer, /)
     |
     |  readinto1(self, buffer, /)
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  seek(self, target, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, pos=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  closed
     |
     |  mode
     |
     |  name
     |
     |  raw
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _BufferedIOBase:
     |
     |  write(self, b, /)
     |      Write buffer b to the IO stream.
     |
     |      Return the number of bytes written, which is always
     |      the length of b in bytes.
     |
     |      Raise BlockingIOError if the buffer is full and the
     |      underlying raw stream cannot accept more data at the moment.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class BufferedWriter(_BufferedIOBase)
     |  BufferedWriter(raw, buffer_size=8192)
     |
     |  A buffer for a writeable sequential RawIO object.
     |
     |  The constructor creates a BufferedWriter for the given writeable raw
     |  stream. If the buffer_size is not given, it defaults to
     |  DEFAULT_BUFFER_SIZE.
     |
     |  Method resolution order:
     |      BufferedWriter
     |      _BufferedIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __reduce_ex__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __sizeof__(self, /)
     |      Size of object in memory, in bytes.
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  detach(self, /)
     |      Disconnect this buffer from its underlying raw stream and return it.
     |
     |      After the raw stream has been detached, the buffer is in an unusable
     |      state.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  seek(self, target, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, pos=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  write(self, buffer, /)
     |      Write buffer b to the IO stream.
     |
     |      Return the number of bytes written, which is always
     |      the length of b in bytes.
     |
     |      Raise BlockingIOError if the buffer is full and the
     |      underlying raw stream cannot accept more data at the moment.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  closed
     |
     |  mode
     |
     |  name
     |
     |  raw
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _BufferedIOBase:
     |
     |  read(self, size=-1, /)
     |      Read and return up to n bytes.
     |
     |      If the size argument is omitted, None, or negative, read and
     |      return all data until EOF.
     |
     |      If the size argument is positive, and the underlying raw stream is
     |      not 'interactive', multiple raw reads may be issued to satisfy
     |      the byte count (unless EOF is reached first).
     |      However, for interactive raw streams (as well as sockets and pipes),
     |      at most one raw read will be issued, and a short result does not
     |      imply that EOF is imminent.
     |
     |      Return an empty bytes object on EOF.
     |
     |      Return None if the underlying raw stream was open in non-blocking
     |      mode and no data is available at the moment.
     |
     |  read1(self, size=-1, /)
     |      Read and return up to size bytes, with at most one read() call to the underlying raw stream.
     |
     |      Return an empty bytes object on EOF.
     |      A short result does not imply that EOF is imminent.
     |
     |  readinto(self, buffer, /)
     |
     |  readinto1(self, buffer, /)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class BytesIO(_BufferedIOBase)
     |  BytesIO(initial_bytes=b'')
     |
     |  Buffered I/O implementation using an in-memory bytes buffer.
     |
     |  Method resolution order:
     |      BytesIO
     |      _BufferedIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __getstate__(...)
     |      Helper for pickle.
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  __setstate__(...)
     |
     |  __sizeof__(...)
     |      Size of object in memory, in bytes.
     |
     |  close(self, /)
     |      Disable all I/O operations.
     |
     |  flush(self, /)
     |      Does nothing.
     |
     |  getbuffer(self, /)
     |      Get a read-write view over the contents of the BytesIO object.
     |
     |  getvalue(self, /)
     |      Retrieve the entire contents of the BytesIO object.
     |
     |  isatty(self, /)
     |      Always returns False.
     |
     |      BytesIO objects are not connected to a TTY-like device.
     |
     |  read(self, size=-1, /)
     |      Read at most size bytes, returned as a bytes object.
     |
     |      If the size argument is negative, read until EOF is reached.
     |      Return an empty bytes object at EOF.
     |
     |  read1(self, size=-1, /)
     |      Read at most size bytes, returned as a bytes object.
     |
     |      If the size argument is negative or omitted, read until EOF is reached.
     |      Return an empty bytes object at EOF.
     |
     |  readable(self, /)
     |      Returns True if the IO object can be read.
     |
     |  readinto(self, buffer, /)
     |      Read bytes into buffer.
     |
     |      Returns number of bytes read (0 for EOF), or None if the object
     |      is set not to block and has no data to read.
     |
     |  readline(self, size=-1, /)
     |      Next line from the file, as a bytes object.
     |
     |      Retain newline.  A non-negative size argument limits the maximum
     |      number of bytes to return (an incomplete line may be returned then).
     |      Return an empty bytes object at EOF.
     |
     |  readlines(self, size=None, /)
     |      List of bytes objects, each a line from the file.
     |
     |      Call readline() repeatedly and return a list of the lines so read.
     |      The optional size argument, if given, is an approximate bound on the
     |      total number of bytes in the lines returned.
     |
     |  seek(self, pos, whence=0, /)
     |      Change stream position.
     |
     |      Seek to byte offset pos relative to position indicated by whence:
     |           0  Start of stream (the default).  pos should be >= 0;
     |           1  Current position - pos may be negative;
     |           2  End of stream - pos usually negative.
     |      Returns the new absolute position.
     |
     |  seekable(self, /)
     |      Returns True if the IO object can be seeked.
     |
     |  tell(self, /)
     |      Current file position, an integer.
     |
     |  truncate(self, size=None, /)
     |      Truncate the file to at most size bytes.
     |
     |      Size defaults to the current file position, as returned by tell().
     |      The current file position is unchanged.  Returns the new size.
     |
     |  writable(self, /)
     |      Returns True if the IO object can be written.
     |
     |  write(self, b, /)
     |      Write bytes to file.
     |
     |      Return the number of bytes written.
     |
     |  writelines(self, lines, /)
     |      Write lines to the file.
     |
     |      Note that newlines are not added.  lines can be any iterable object
     |      producing bytes-like objects. This is equivalent to calling write() for
     |      each element.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  closed
     |      True if the file is closed.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _BufferedIOBase:
     |
     |  detach(self, /)
     |      Disconnect this buffer from its underlying raw stream and return it.
     |
     |      After the raw stream has been detached, the buffer is in an unusable
     |      state.
     |
     |  readinto1(self, buffer, /)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class FileIO(_RawIOBase)
     |  FileIO(file, mode='r', closefd=True, opener=None)
     |
     |  Open a file.
     |
     |  The mode can be 'r' (default), 'w', 'x' or 'a' for reading,
     |  writing, exclusive creation or appending.  The file will be created if it
     |  doesn't exist when opened for writing or appending; it will be truncated
     |  when opened for writing.  A FileExistsError will be raised if it already
     |  exists when opened for creating. Opening a file for creating implies
     |  writing so this mode behaves in a similar way to 'w'.Add a '+' to the mode
     |  to allow simultaneous reading and writing. A custom opener can be used by
     |  passing a callable as *opener*. The underlying file descriptor for the file
     |  object is then obtained by calling opener with (*name*, *flags*).
     |  *opener* must return an open file descriptor (passing os.open as *opener*
     |  results in functionality similar to passing None).
     |
     |  Method resolution order:
     |      FileIO
     |      _RawIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __reduce_ex__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  close(self, /)
     |      Close the file.
     |
     |      A closed file cannot be used for further I/O operations.  close() may be
     |      called more than once without error.
     |
     |  fileno(self, /)
     |      Return the underlying file descriptor (an integer).
     |
     |  isatty(self, /)
     |      True if the file is connected to a TTY device.
     |
     |  read(self, size=-1, /)
     |      Read at most size bytes, returned as bytes.
     |
     |      Only makes one system call, so less data may be returned than requested.
     |      In non-blocking mode, returns None if no data is available.
     |      Return an empty bytes object at EOF.
     |
     |  readable(self, /)
     |      True if file was opened in a read mode.
     |
     |  readall(self, /)
     |      Read all data from the file, returned as bytes.
     |
     |      In non-blocking mode, returns as much as is immediately available,
     |      or None if no data is available.  Return an empty bytes object at EOF.
     |
     |  readinto(self, buffer, /)
     |      Same as RawIOBase.readinto().
     |
     |  seek(self, pos, whence=0, /)
     |      Move to new file position and return the file position.
     |
     |      Argument offset is a byte count.  Optional argument whence defaults to
     |      SEEK_SET or 0 (offset from start of file, offset should be >= 0); other values
     |      are SEEK_CUR or 1 (move relative to current position, positive or negative),
     |      and SEEK_END or 2 (move relative to end of file, usually negative, although
     |      many platforms allow seeking beyond the end of a file).
     |
     |      Note that not all file objects are seekable.
     |
     |  seekable(self, /)
     |      True if file supports random-access.
     |
     |  tell(self, /)
     |      Current file position.
     |
     |      Can raise OSError for non seekable files.
     |
     |  truncate(self, size=None, /)
     |      Truncate the file to at most size bytes and return the truncated size.
     |
     |      Size defaults to the current file position, as returned by tell().
     |      The current file position is changed to the value of size.
     |
     |  writable(self, /)
     |      True if file was opened in a write mode.
     |
     |  write(self, b, /)
     |      Write buffer b to file, return number of bytes written.
     |
     |      Only makes one system call, so not all of the data may be written.
     |      The number of bytes actually written is returned.  In non-blocking mode,
     |      returns None if the write would block.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  closed
     |      True if the file is closed
     |
     |  closefd
     |      True if the file descriptor will be closed by close().
     |
     |  mode
     |      String giving the file mode
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class IOBase(_io._IOBase)
     |  The abstract base class for all I/O classes.
     |
     |  This class provides dummy implementations for many methods that
     |  derived classes can override selectively; the default implementations
     |  represent a file that cannot be read, written or seeked.
     |
     |  Even though IOBase does not declare read, readinto, or write because
     |  their signatures will vary, implementations and clients should
     |  consider those methods part of the interface. Also, implementations
     |  may raise UnsupportedOperation when operations they do not support are
     |  called.
     |
     |  The basic type used for binary data read from or written to a file is
     |  bytes. Other bytes-like objects are accepted as method arguments too.
     |  In some cases (such as readinto), a writable object is required. Text
     |  I/O classes work with str data.
     |
     |  Note that calling any method (except additional calls to close(),
     |  which are ignored) on a closed stream should raise a ValueError.
     |
     |  IOBase (and its subclasses) support the iterator protocol, meaning
     |  that an IOBase object can be iterated over yielding the lines in a
     |  stream.
     |
     |  IOBase also supports the :keyword:`with` statement. In this example,
     |  fp is closed after the suite of the with statement is complete:
     |
     |  with open('spam.txt', 'r') as fp:
     |      fp.write('Spam and eggs!')
     |
     |  Method resolution order:
     |      IOBase
     |      _io._IOBase
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  __abstractmethods__ = frozenset()
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  seek(self, offset, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, size=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _io._IOBase:
     |
     |  __dict__
     |
     |  closed

    class IncrementalNewlineDecoder(builtins.object)
     |  IncrementalNewlineDecoder(decoder, translate, errors='strict')
     |
     |  Codec used when reading a file in universal newlines mode.
     |
     |  It wraps another incremental decoder, translating \r\n and \r into \n.
     |  It also records the types of newlines encountered.  When used with
     |  translate=False, it ensures that the newline sequence is returned in
     |  one piece. When used with decoder=None, it expects unicode strings as
     |  decode input and translates newlines without first invoking an external
     |  decoder.
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  decode(self, /, input, final=False)
     |
     |  getstate(self, /)
     |
     |  reset(self, /)
     |
     |  setstate(self, state, /)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  newlines

    class RawIOBase(_io._RawIOBase, IOBase)
     |  Base class for raw binary I/O.
     |
     |  Method resolution order:
     |      RawIOBase
     |      _io._RawIOBase
     |      IOBase
     |      _io._IOBase
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  __abstractmethods__ = frozenset()
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._RawIOBase:
     |
     |  read(self, size=-1, /)
     |
     |  readall(self, /)
     |      Read until EOF, using multiple read() call.
     |
     |  readinto(...)
     |
     |  write(...)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readline(self, size=-1, /)
     |      Read and return a line from the stream.
     |
     |      If size is specified, at most size bytes will be read.
     |
     |      The line terminator is always b'\n' for binary files; for text
     |      files, the newlines argument to open can be used to select the line
     |      terminator(s) recognized.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  seek(self, offset, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, size=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _io._IOBase:
     |
     |  __dict__
     |
     |  closed

    class StringIO(_TextIOBase)
     |  StringIO(initial_value='', newline='\n')
     |
     |  Text I/O implementation using an in-memory buffer.
     |
     |  The initial_value argument sets the value of object.  The newline
     |  argument is like the one of TextIOWrapper's constructor.
     |
     |  Method resolution order:
     |      StringIO
     |      _TextIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __getstate__(...)
     |      Helper for pickle.
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  __setstate__(...)
     |
     |  close(self, /)
     |      Close the IO object.
     |
     |      Attempting any further operation after the object is closed
     |      will raise a ValueError.
     |
     |      This method has no effect if the file is already closed.
     |
     |  getvalue(self, /)
     |      Retrieve the entire contents of the object.
     |
     |  read(self, size=-1, /)
     |      Read at most size characters, returned as a string.
     |
     |      If the argument is negative or omitted, read until EOF
     |      is reached. Return an empty string at EOF.
     |
     |  readable(self, /)
     |      Returns True if the IO object can be read.
     |
     |  readline(self, size=-1, /)
     |      Read until newline or EOF.
     |
     |      Returns an empty string if EOF is hit immediately.
     |
     |  seek(self, pos, whence=0, /)
     |      Change stream position.
     |
     |      Seek to character offset pos relative to position indicated by whence:
     |          0  Start of stream (the default).  pos should be >= 0;
     |          1  Current position - pos must be 0;
     |          2  End of stream - pos must be 0.
     |      Returns the new absolute position.
     |
     |  seekable(self, /)
     |      Returns True if the IO object can be seeked.
     |
     |  tell(self, /)
     |      Tell the current file position.
     |
     |  truncate(self, pos=None, /)
     |      Truncate size to pos.
     |
     |      The pos argument defaults to the current file position, as
     |      returned by tell().  The current file position is unchanged.
     |      Returns the new absolute position.
     |
     |  writable(self, /)
     |      Returns True if the IO object can be written.
     |
     |  write(self, s, /)
     |      Write string to file.
     |
     |      Returns the number of characters written, which is always equal to
     |      the length of the string.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  closed
     |
     |  line_buffering
     |
     |  newlines
     |      Line endings translated so far.
     |
     |      Only line endings translated during reading are considered.
     |
     |      Subclasses should override.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _TextIOBase:
     |
     |  detach(self, /)
     |      Separate the underlying buffer from the TextIOBase and return it.
     |
     |      After the underlying buffer has been detached, the TextIO is in an unusable state.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _TextIOBase:
     |
     |  encoding
     |      Encoding of the text stream.
     |
     |      Subclasses should override.
     |
     |  errors
     |      The error setting of the decoder or encoder.
     |
     |      Subclasses should override.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class TextIOBase(_io._TextIOBase, IOBase)
     |  Base class for text I/O.
     |
     |  This class provides a character and line based interface to stream
     |  I/O. There is no readinto method because Python's character strings
     |  are immutable.
     |
     |  Method resolution order:
     |      TextIOBase
     |      _io._TextIOBase
     |      IOBase
     |      _io._IOBase
     |      builtins.object
     |
     |  Data and other attributes defined here:
     |
     |  __abstractmethods__ = frozenset()
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._TextIOBase:
     |
     |  detach(self, /)
     |      Separate the underlying buffer from the TextIOBase and return it.
     |
     |      After the underlying buffer has been detached, the TextIO is in an unusable state.
     |
     |  read(self, size=-1, /)
     |      Read at most size characters from stream.
     |
     |      Read from underlying buffer until we have size characters or we hit EOF.
     |      If size is negative or omitted, read until EOF.
     |
     |  readline(self, size=-1, /)
     |      Read until newline or EOF.
     |
     |      Return an empty string if EOF is hit immediately.
     |      If size is specified, at most size characters will be read.
     |
     |  write(self, s, /)
     |      Write string s to stream.
     |
     |      Return the number of characters written
     |      (which is always equal to the length of the string).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _io._TextIOBase:
     |
     |  encoding
     |      Encoding of the text stream.
     |
     |      Subclasses should override.
     |
     |  errors
     |      The error setting of the decoder or encoder.
     |
     |      Subclasses should override.
     |
     |  newlines
     |      Line endings translated so far.
     |
     |      Only line endings translated during reading are considered.
     |
     |      Subclasses should override.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _io._IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  seek(self, offset, whence=0, /)
     |      Change the stream position to the given byte offset.
     |
     |        offset
     |          The stream position, relative to 'whence'.
     |        whence
     |          The relative position to seek from.
     |
     |      The offset is interpreted relative to the position indicated by whence.
     |      Values for whence are:
     |
     |      * os.SEEK_SET or 0 -- start of stream (the default); offset should be zero or positive
     |      * os.SEEK_CUR or 1 -- current stream position; offset may be negative
     |      * os.SEEK_END or 2 -- end of stream; offset is usually negative
     |
     |      Return the new absolute position.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return current stream position.
     |
     |  truncate(self, size=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _io._IOBase:
     |
     |  __dict__
     |
     |  closed

    class TextIOWrapper(_TextIOBase)
     |  TextIOWrapper(buffer, encoding=None, errors=None, newline=None, line_buffering=False, write_through=False)
     |
     |  Character and line based layer over a BufferedIOBase object, buffer.
     |
     |  encoding gives the name of the encoding that the stream will be
     |  decoded or encoded with. It defaults to locale.getencoding().
     |
     |  errors determines the strictness of encoding and decoding (see
     |  help(codecs.Codec) or the documentation for codecs.register) and
     |  defaults to "strict".
     |
     |  newline controls how line endings are handled. It can be None, '',
     |  '\n', '\r', and '\r\n'.  It works as follows:
     |
     |  * On input, if newline is None, universal newlines mode is
     |    enabled. Lines in the input can end in '\n', '\r', or '\r\n', and
     |    these are translated into '\n' before being returned to the
     |    caller. If it is '', universal newline mode is enabled, but line
     |    endings are returned to the caller untranslated. If it has any of
     |    the other legal values, input lines are only terminated by the given
     |    string, and the line ending is returned to the caller untranslated.
     |
     |  * On output, if newline is None, any '\n' characters written are
     |    translated to the system default line separator, os.linesep. If
     |    newline is '' or '\n', no translation takes place. If newline is any
     |    of the other legal values, any '\n' characters written are translated
     |    to the given string.
     |
     |  If line_buffering is True, a call to flush is implied when a call to
     |  write contains a newline character.
     |
     |  Method resolution order:
     |      TextIOWrapper
     |      _TextIOBase
     |      _IOBase
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __next__(self, /)
     |      Implement next(self).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __reduce_ex__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  close(self, /)
     |      Flush and close the IO object.
     |
     |      This method has no effect if the file is already closed.
     |
     |  detach(self, /)
     |      Separate the underlying buffer from the TextIOBase and return it.
     |
     |      After the underlying buffer has been detached, the TextIO is in an unusable state.
     |
     |  fileno(self, /)
     |      Return underlying file descriptor if one exists.
     |
     |      Raise OSError if the IO object does not use a file descriptor.
     |
     |  flush(self, /)
     |      Flush write buffers, if applicable.
     |
     |      This is not implemented for read-only and non-blocking streams.
     |
     |  isatty(self, /)
     |      Return whether this is an 'interactive' stream.
     |
     |      Return False if it can't be determined.
     |
     |  read(self, size=-1, /)
     |      Read at most size characters from stream.
     |
     |      Read from underlying buffer until we have size characters or we hit EOF.
     |      If size is negative or omitted, read until EOF.
     |
     |  readable(self, /)
     |      Return whether object was opened for reading.
     |
     |      If False, read() will raise OSError.
     |
     |  readline(self, size=-1, /)
     |      Read until newline or EOF.
     |
     |      Return an empty string if EOF is hit immediately.
     |      If size is specified, at most size characters will be read.
     |
     |  reconfigure(self, /, *, encoding=None, errors=None, newline=None, line_buffering=None, write_through=None)
     |      Reconfigure the text stream with new parameters.
     |
     |      This also does an implicit stream flush.
     |
     |  seek(self, cookie, whence=0, /)
     |      Set the stream position, and return the new stream position.
     |
     |        cookie
     |          Zero or an opaque number returned by tell().
     |        whence
     |          The relative position to seek from.
     |
     |      Four operations are supported, given by the following argument
     |      combinations:
     |
     |      - seek(0, SEEK_SET): Rewind to the start of the stream.
     |      - seek(cookie, SEEK_SET): Restore a previous position;
     |        'cookie' must be a number returned by tell().
     |      - seek(0, SEEK_END): Fast-forward to the end of the stream.
     |      - seek(0, SEEK_CUR): Leave the current stream position unchanged.
     |
     |      Any other argument combinations are invalid,
     |      and may raise exceptions.
     |
     |  seekable(self, /)
     |      Return whether object supports random access.
     |
     |      If False, seek(), tell() and truncate() will raise OSError.
     |      This method may need to do a test seek().
     |
     |  tell(self, /)
     |      Return the stream position as an opaque number.
     |
     |      The return value of tell() can be given as input to seek(), to restore a
     |      previous stream position.
     |
     |  truncate(self, pos=None, /)
     |      Truncate file to size bytes.
     |
     |      File pointer is left unchanged. Size defaults to the current IO position
     |      as reported by tell(). Return the new size.
     |
     |  writable(self, /)
     |      Return whether object was opened for writing.
     |
     |      If False, write() will raise OSError.
     |
     |  write(self, text, /)
     |      Write string s to stream.
     |
     |      Return the number of characters written
     |      (which is always equal to the length of the string).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  buffer
     |
     |  closed
     |
     |  encoding
     |      Encoding of the text stream.
     |
     |      Subclasses should override.
     |
     |  errors
     |      The error setting of the decoder or encoder.
     |
     |      Subclasses should override.
     |
     |  line_buffering
     |
     |  name
     |
     |  newlines
     |      Line endings translated so far.
     |
     |      Only line endings translated during reading are considered.
     |
     |      Subclasses should override.
     |
     |  write_through
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _IOBase:
     |
     |  __del__(...)
     |
     |  __enter__(...)
     |
     |  __exit__(...)
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  readlines(self, hint=-1, /)
     |      Return a list of lines from the stream.
     |
     |      hint can be specified to control the number of lines read: no more
     |      lines will be read if the total size (in bytes/characters) of all
     |      lines so far exceeds hint.
     |
     |  writelines(self, lines, /)
     |      Write a list of lines to stream.
     |
     |      Line separators are not added, so it is usual for each of the
     |      lines provided to have a line separator at the end.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _IOBase:
     |
     |  __dict__

    class UnsupportedOperation(builtins.OSError, builtins.ValueError)
     |  Method resolution order:
     |      UnsupportedOperation
     |      builtins.OSError
     |      builtins.ValueError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

FUNCTIONS
    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
        Open file and return a stream.  Raise OSError upon failure.

        file is either a text or byte string giving the name (and the path
        if the file isn't in the current working directory) of the file to
        be opened or an integer file descriptor of the file to be
        wrapped. (If a file descriptor is given, it is closed when the
        returned I/O object is closed, unless closefd is set to False.)

        mode is an optional string that specifies the mode in which the file
        is opened. It defaults to 'r' which means open for reading in text
        mode.  Other common values are 'w' for writing (truncating the file if
        it already exists), 'x' for creating and writing to a new file, and
        'a' for appending (which on some Unix systems, means that all writes
        append to the end of the file regardless of the current seek position).
        In text mode, if encoding is not specified the encoding used is platform
        dependent: locale.getencoding() is called to get the current locale encoding.
        (For reading and writing raw bytes use binary mode and leave encoding
        unspecified.) The available modes are:

        ========= ===============================================================
        Character Meaning
        --------- ---------------------------------------------------------------
        'r'       open for reading (default)
        'w'       open for writing, truncating the file first
        'x'       create a new file and open it for writing
        'a'       open for writing, appending to the end of the file if it exists
        'b'       binary mode
        't'       text mode (default)
        '+'       open a disk file for updating (reading and writing)
        ========= ===============================================================

        The default mode is 'rt' (open for reading text). For binary random
        access, the mode 'w+b' opens and truncates the file to 0 bytes, while
        'r+b' opens the file without truncation. The 'x' mode implies 'w' and
        raises an `FileExistsError` if the file already exists.

        Python distinguishes between files opened in binary and text modes,
        even when the underlying operating system doesn't. Files opened in
        binary mode (appending 'b' to the mode argument) return contents as
        bytes objects without any decoding. In text mode (the default, or when
        't' is appended to the mode argument), the contents of the file are
        returned as strings, the bytes having been first decoded using a
        platform-dependent encoding or using the specified encoding if given.

        buffering is an optional integer used to set the buffering policy.
        Pass 0 to switch buffering off (only allowed in binary mode), 1 to select
        line buffering (only usable in text mode), and an integer > 1 to indicate
        the size of a fixed-size chunk buffer.  When no buffering argument is
        given, the default buffering policy works as follows:

        * Binary files are buffered in fixed-size chunks; the size of the buffer
          is chosen using a heuristic trying to determine the underlying device's
          "block size" and falling back on `io.DEFAULT_BUFFER_SIZE`.
          On many systems, the buffer will typically be 4096 or 8192 bytes long.

        * "Interactive" text files (files for which isatty() returns True)
          use line buffering.  Other text files use the policy described above
          for binary files.

        encoding is the name of the encoding used to decode or encode the
        file. This should only be used in text mode. The default encoding is
        platform dependent, but any encoding supported by Python can be
        passed.  See the codecs module for the list of supported encodings.

        errors is an optional string that specifies how encoding errors are to
        be handled---this argument should not be used in binary mode. Pass
        'strict' to raise a ValueError exception if there is an encoding error
        (the default of None has the same effect), or pass 'ignore' to ignore
        errors. (Note that ignoring encoding errors can lead to data loss.)
        See the documentation for codecs.register or run 'help(codecs.Codec)'
        for a list of the permitted encoding error strings.

        newline controls how universal newlines works (it only applies to text
        mode). It can be None, '', '\n', '\r', and '\r\n'.  It works as
        follows:

        * On input, if newline is None, universal newlines mode is
          enabled. Lines in the input can end in '\n', '\r', or '\r\n', and
          these are translated into '\n' before being returned to the
          caller. If it is '', universal newline mode is enabled, but line
          endings are returned to the caller untranslated. If it has any of
          the other legal values, input lines are only terminated by the given
          string, and the line ending is returned to the caller untranslated.

        * On output, if newline is None, any '\n' characters written are
          translated to the system default line separator, os.linesep. If
          newline is '' or '\n', no translation takes place. If newline is any
          of the other legal values, any '\n' characters written are translated
          to the given string.

        If closefd is False, the underlying file descriptor will be kept open
        when the file is closed. This does not work when a file name is given
        and must be True in that case.

        A custom opener can be used by passing a callable as *opener*. The
        underlying file descriptor for the file object is then obtained by
        calling *opener* with (*file*, *flags*). *opener* must return an open
        file descriptor (passing os.open as *opener* results in functionality
        similar to passing None).

        open() returns a file object whose type depends on the mode, and
        through which the standard file operations such as reading and writing
        are performed. When open() is used to open a file in a text mode ('w',
        'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open
        a file in a binary mode, the returned class varies: in read binary
        mode, it returns a BufferedReader; in write binary and append binary
        modes, it returns a BufferedWriter, and in read/write mode, it returns
        a BufferedRandom.

        It is also possible to use a string or bytearray as a file for both
        reading and writing. For strings StringIO can be used like a file
        opened in a text mode, and for bytes a BytesIO can be used like a file
        opened in a binary mode.

    open_code(path)
        Opens the provided file with the intent to import the contents.

        This may perform extra validation beyond open(), but is otherwise interchangeable
        with calling open(path, 'rb').

    text_encoding(encoding, stacklevel=2, /)
        A helper function to choose the text encoding.

        When encoding is not None, this function returns it.
        Otherwise, this function returns the default text encoding
        (i.e. "locale" or "utf-8" depends on UTF-8 mode).

        This function emits an EncodingWarning if encoding is None and
        sys.flags.warn_default_encoding is true.

        This can be used in APIs with an encoding=None parameter.
        However, please consider using encoding="utf-8" for new APIs.

DATA
    DEFAULT_BUFFER_SIZE = 8192
    SEEK_CUR = 1
    SEEK_END = 2
    SEEK_SET = 0
    __all__ = ['BlockingIOError', 'open', 'open_code', 'IOBase', 'RawIOBas...

AUTHOR
    Guido van Rossum <guido@python.org>, Mike Verdone <mike.verdone@gmail.com>, Mark Russell <mark.russell@zen.co.uk>, Antoine Pitrou <solipsis@pitrou.net>, Amaury Forgeot d'Arc <amauryfa@gmail.com>, Benjamin Peterson <benjamin@python.org>

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\io.py

smtplib.quoteaddr
Python Library Documentation: function quoteaddr in module smtplib

quoteaddr(addrstring)
    Quote a subset of the email addresses defined by RFC 821.

    Should be able to handle anything email.utils.parseaddr can handle.
smtplib.quotedata
Python Library Documentation: function quotedata in module smtplib

quotedata(data)
    Quote data for email.

    Double leading '.', and change Unix newline '\n', or Mac '\r' into
    internet CRLF end-of-line.
smtplib.re
Python Library Documentation: package re

NAME
    re - Support for regular expressions (RE).

MODULE REFERENCE
    https://docs.python.org/3.12/library/re.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This module provides regular expression matching operations similar to
    those found in Perl.  It supports both 8-bit and Unicode strings; both
    the pattern and the strings being processed can contain null bytes and
    characters outside the US ASCII range.

    Regular expressions can contain both special and ordinary characters.
    Most ordinary characters, like "A", "a", or "0", are the simplest
    regular expressions; they simply match themselves.  You can
    concatenate ordinary characters, so last matches the string 'last'.

    The special characters are:
        "."      Matches any character except a newline.
        "^"      Matches the start of the string.
        "$"      Matches the end of the string or just before the newline at
                 the end of the string.
        "*"      Matches 0 or more (greedy) repetitions of the preceding RE.
                 Greedy means that it will match as many repetitions as possible.
        "+"      Matches 1 or more (greedy) repetitions of the preceding RE.
        "?"      Matches 0 or 1 (greedy) of the preceding RE.
        *?,+?,?? Non-greedy versions of the previous three special characters.
        {m,n}    Matches from m to n repetitions of the preceding RE.
        {m,n}?   Non-greedy version of the above.
        "\\"     Either escapes special characters or signals a special sequence.
        []       Indicates a set of characters.
                 A "^" as the first character indicates a complementing set.
        "|"      A|B, creates an RE that will match either A or B.
        (...)    Matches the RE inside the parentheses.
                 The contents can be retrieved or matched later in the string.
        (?aiLmsux) The letters set the corresponding flags defined below.
        (?:...)  Non-grouping version of regular parentheses.
        (?P<name>...) The substring matched by the group is accessible by name.
        (?P=name)     Matches the text matched earlier by the group named name.
        (?#...)  A comment; ignored.
        (?=...)  Matches if ... matches next, but doesn't consume the string.
        (?!...)  Matches if ... doesn't match next.
        (?<=...) Matches if preceded by ... (must be fixed length).
        (?<!...) Matches if not preceded by ... (must be fixed length).
        (?(id/name)yes|no) Matches yes pattern if the group with id/name matched,
                           the (optional) no pattern otherwise.

    The special sequences consist of "\\" and a character from the list
    below.  If the ordinary character is not on the list, then the
    resulting RE will match the second character.
        \number  Matches the contents of the group of the same number.
        \A       Matches only at the start of the string.
        \Z       Matches only at the end of the string.
        \b       Matches the empty string, but only at the start or end of a word.
        \B       Matches the empty string, but not at the start or end of a word.
        \d       Matches any decimal digit; equivalent to the set [0-9] in
                 bytes patterns or string patterns with the ASCII flag.
                 In string patterns without the ASCII flag, it will match the whole
                 range of Unicode digits.
        \D       Matches any non-digit character; equivalent to [^\d].
        \s       Matches any whitespace character; equivalent to [ \t\n\r\f\v] in
                 bytes patterns or string patterns with the ASCII flag.
                 In string patterns without the ASCII flag, it will match the whole
                 range of Unicode whitespace characters.
        \S       Matches any non-whitespace character; equivalent to [^\s].
        \w       Matches any alphanumeric character; equivalent to [a-zA-Z0-9_]
                 in bytes patterns or string patterns with the ASCII flag.
                 In string patterns without the ASCII flag, it will match the
                 range of Unicode alphanumeric characters (letters plus digits
                 plus underscore).
                 With LOCALE, it will match the set [0-9_] plus characters defined
                 as letters for the current locale.
        \W       Matches the complement of \w.
        \\       Matches a literal backslash.

    This module exports the following functions:
        match     Match a regular expression pattern to the beginning of a string.
        fullmatch Match a regular expression pattern to all of a string.
        search    Search a string for the presence of a pattern.
        sub       Substitute occurrences of a pattern found in a string.
        subn      Same as sub, but also return the number of substitutions made.
        split     Split a string by the occurrences of a pattern.
        findall   Find all occurrences of a pattern in a string.
        finditer  Return an iterator yielding a Match object for each match.
        compile   Compile a pattern into a Pattern object.
        purge     Clear the regular expression cache.
        escape    Backslash all non-alphanumerics in a string.

    Each function other than purge and escape can take an optional 'flags' argument
    consisting of one or more of the following module constants, joined by "|".
    A, L, and U are mutually exclusive.
        A  ASCII       For string patterns, make \w, \W, \b, \B, \d, \D
                       match the corresponding ASCII character categories
                       (rather than the whole Unicode categories, which is the
                       default).
                       For bytes patterns, this flag is the only available
                       behaviour and needn't be specified.
        I  IGNORECASE  Perform case-insensitive matching.
        L  LOCALE      Make \w, \W, \b, \B, dependent on the current locale.
        M  MULTILINE   "^" matches the beginning of lines (after a newline)
                       as well as the string.
                       "$" matches the end of lines (before a newline) as well
                       as the end of the string.
        S  DOTALL      "." matches any character at all, including the newline.
        X  VERBOSE     Ignore whitespace and comments for nicer looking RE's.
        U  UNICODE     For compatibility only. Ignored for string patterns (it
                       is the default), and forbidden for bytes patterns.

    This module also defines an exception 'error'.

PACKAGE CONTENTS
    _casefix
    _compiler
    _constants
    _parser

CLASSES
    builtins.Exception(builtins.BaseException)
        error
    builtins.object
        Match
        Pattern
    enum.IntFlag(builtins.int, enum.ReprEnum, enum.Flag)
        RegexFlag

    class Match(builtins.object)
     |  The result of re.match() and re.search().
     |  Match objects always have a boolean value of True.
     |
     |  Methods defined here:
     |
     |  __copy__(self, /)
     |
     |  __deepcopy__(self, memo, /)
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  end(self, group=0, /)
     |      Return index of the end of the substring matched by group.
     |
     |  expand(self, /, template)
     |      Return the string obtained by doing backslash substitution on the string template, as done by the sub() method.
     |
     |  group(...)
     |      group([group1, ...]) -> str or tuple.
     |      Return subgroup(s) of the match by indices or names.
     |      For 0 returns the entire match.
     |
     |  groupdict(self, /, default=None)
     |      Return a dictionary containing all the named subgroups of the match, keyed by the subgroup name.
     |
     |      default
     |        Is used for groups that did not participate in the match.
     |
     |  groups(self, /, default=None)
     |      Return a tuple containing all the subgroups of the match, from 1.
     |
     |      default
     |        Is used for groups that did not participate in the match.
     |
     |  span(self, group=0, /)
     |      For match object m, return the 2-tuple (m.start(group), m.end(group)).
     |
     |  start(self, group=0, /)
     |      Return index of the start of the substring matched by group.
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  __class_getitem__(...)
     |      See PEP 585
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  endpos
     |      The index into the string beyond which the RE engine will not go.
     |
     |  lastgroup
     |      The name of the last matched capturing group.
     |
     |  lastindex
     |      The integer index of the last matched capturing group.
     |
     |  pos
     |      The index into the string at which the RE engine started looking for a match.
     |
     |  re
     |      The regular expression object.
     |
     |  regs
     |
     |  string
     |      The string passed to match() or search().

    class Pattern(builtins.object)
     |  Compiled regular expression object.
     |
     |  Methods defined here:
     |
     |  __copy__(self, /)
     |
     |  __deepcopy__(self, memo, /)
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  findall(self, /, string, pos=0, endpos=9223372036854775807)
     |      Return a list of all non-overlapping matches of pattern in string.
     |
     |  finditer(self, /, string, pos=0, endpos=9223372036854775807)
     |      Return an iterator over all non-overlapping matches for the RE pattern in string.
     |
     |      For each match, the iterator returns a match object.
     |
     |  fullmatch(self, /, string, pos=0, endpos=9223372036854775807)
     |      Matches against all of the string.
     |
     |  match(self, /, string, pos=0, endpos=9223372036854775807)
     |      Matches zero or more characters at the beginning of the string.
     |
     |  scanner(self, /, string, pos=0, endpos=9223372036854775807)
     |
     |  search(self, /, string, pos=0, endpos=9223372036854775807)
     |      Scan through string looking for a match, and return a corresponding match object instance.
     |
     |      Return None if no position in the string matches.
     |
     |  split(self, /, string, maxsplit=0)
     |      Split string by the occurrences of pattern.
     |
     |  sub(self, /, repl, string, count=0)
     |      Return the string obtained by replacing the leftmost non-overlapping occurrences of pattern in string by the replacement repl.
     |
     |  subn(self, /, repl, string, count=0)
     |      Return the tuple (new_string, number_of_subs_made) found by replacing the leftmost non-overlapping occurrences of pattern with the replacement repl.
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  __class_getitem__(...)
     |      See PEP 585
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  flags
     |      The regex matching flags.
     |
     |  groupindex
     |      A dictionary mapping group names to group numbers.
     |
     |  groups
     |      The number of capturing groups in the pattern.
     |
     |  pattern
     |      The pattern string from which the RE object was compiled.

    class RegexFlag(enum.IntFlag)
     |  RegexFlag(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      RegexFlag
     |      enum.IntFlag
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Flag
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __and__(self, other) from enum.Flag
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __invert__(self) from enum.Flag
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  __or__(self, other) from enum.Flag
     |      Return self|value.
     |
     |  __rand__ = __and__(self, other)
     |
     |  __repr__ = global_flag_repr(self) from enum
     |      use module.flag_name instead of class.flag_name
     |
     |      the module is the last module in case of a multi-module name
     |
     |  __ror__ = __or__(self, other)
     |
     |  __rxor__ = __xor__(self, other)
     |
     |  __str__(self, /) from builtins.object
     |      Return str(self).
     |
     |  __xor__(self, other) from enum.Flag
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  ASCII = re.ASCII
     |
     |  DEBUG = re.DEBUG
     |
     |  DOTALL = re.DOTALL
     |
     |  IGNORECASE = re.IGNORECASE
     |
     |  LOCALE = re.LOCALE
     |
     |  MULTILINE = re.MULTILINE
     |
     |  TEMPLATE = re.TEMPLATE
     |
     |  UNICODE = re.UNICODE
     |
     |  VERBOSE = re.VERBOSE
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Flag:
     |
     |  __contains__(self, other)
     |      Returns True if self has at least the same flags set as other.
     |
     |  __iter__(self)
     |      Returns flags in definition order.
     |
     |  __len__(self)
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class error(builtins.Exception)
     |  error(msg, pattern=None, pos=None)
     |
     |  Exception raised for invalid regular expressions.
     |
     |  Attributes:
     |
     |      msg: The unformatted error message
     |      pattern: The regular expression pattern
     |      pos: The index in the pattern where compilation failed (may be None)
     |      lineno: The line corresponding to pos (may be None)
     |      colno: The column corresponding to pos (may be None)
     |
     |  Method resolution order:
     |      error
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, msg, pattern=None, pos=None) from re._constants.error
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.Exception:
     |
     |  __new__(*args, **kwargs) class method of builtins.Exception
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

FUNCTIONS
    compile(pattern, flags=0)
        Compile a regular expression pattern, returning a Pattern object.

    escape(pattern)
        Escape special characters in a string.

    findall(pattern, string, flags=0)
        Return a list of all non-overlapping matches in the string.

        If one or more capturing groups are present in the pattern, return
        a list of groups; this will be a list of tuples if the pattern
        has more than one group.

        Empty matches are included in the result.

    finditer(pattern, string, flags=0)
        Return an iterator over all non-overlapping matches in the
        string.  For each match, the iterator returns a Match object.

        Empty matches are included in the result.

    fullmatch(pattern, string, flags=0)
        Try to apply the pattern to all of the string, returning
        a Match object, or None if no match was found.

    match(pattern, string, flags=0)
        Try to apply the pattern at the start of the string, returning
        a Match object, or None if no match was found.

    purge()
        Clear the regular expression caches

    search(pattern, string, flags=0)
        Scan through string looking for a match to the pattern, returning
        a Match object, or None if no match was found.

    split(pattern, string, maxsplit=0, flags=0)
        Split the source string by the occurrences of the pattern,
        returning a list containing the resulting substrings.  If
        capturing parentheses are used in pattern, then the text of all
        groups in the pattern are also returned as part of the resulting
        list.  If maxsplit is nonzero, at most maxsplit splits occur,
        and the remainder of the string is returned as the final element
        of the list.

    sub(pattern, repl, string, count=0, flags=0)
        Return the string obtained by replacing the leftmost
        non-overlapping occurrences of the pattern in string by the
        replacement repl.  repl can be either a string or a callable;
        if a string, backslash escapes in it are processed.  If it is
        a callable, it's passed the Match object and must return
        a replacement string to be used.

    subn(pattern, repl, string, count=0, flags=0)
        Return a 2-tuple containing (new_string, number).
        new_string is the string obtained by replacing the leftmost
        non-overlapping occurrences of the pattern in the source
        string by the replacement repl.  number is the number of
        substitutions that were made. repl can be either a string or a
        callable; if a string, backslash escapes in it are processed.
        If it is a callable, it's passed the Match object and must
        return a replacement string to be used.

    template(pattern, flags=0)
        Compile a template pattern, returning a Pattern object, deprecated

DATA
    A = re.ASCII
    ASCII = re.ASCII
    DOTALL = re.DOTALL
    I = re.IGNORECASE
    IGNORECASE = re.IGNORECASE
    L = re.LOCALE
    LOCALE = re.LOCALE
    M = re.MULTILINE
    MULTILINE = re.MULTILINE
    NOFLAG = re.NOFLAG
    S = re.DOTALL
    U = re.UNICODE
    UNICODE = re.UNICODE
    VERBOSE = re.VERBOSE
    X = re.VERBOSE
    __all__ = ['match', 'fullmatch', 'search', 'sub', 'subn', 'split', 'fi...

VERSION
    2.2.1

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\re\__init__.py

smtplib.socket
Python Library Documentation: module socket

NAME
    socket

MODULE REFERENCE
    https://docs.python.org/3.12/library/socket.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This module provides socket operations and some related functions.
    On Unix, it supports IP (Internet Protocol) and Unix domain sockets.
    On other systems, it only supports IP. Functions specific for a
    socket are available as methods of the socket object.

    Functions:

    socket() -- create a new socket object
    socketpair() -- create a pair of new socket objects [*]
    fromfd() -- create a socket object from an open file descriptor [*]
    send_fds() -- Send file descriptor to the socket.
    recv_fds() -- Receive file descriptors from the socket.
    fromshare() -- create a socket object from data received from socket.share() [*]
    gethostname() -- return the current hostname
    gethostbyname() -- map a hostname to its IP number
    gethostbyaddr() -- map an IP number or hostname to DNS info
    getservbyname() -- map a service name and a protocol name to a port number
    getprotobyname() -- map a protocol name (e.g. 'tcp') to a number
    ntohs(), ntohl() -- convert 16, 32 bit int from network to host byte order
    htons(), htonl() -- convert 16, 32 bit int from host to network byte order
    inet_aton() -- convert IP addr string (123.45.67.89) to 32-bit packed format
    inet_ntoa() -- convert 32-bit packed format IP to string (123.45.67.89)
    socket.getdefaulttimeout() -- get the default timeout value
    socket.setdefaulttimeout() -- set the default timeout value
    create_connection() -- connects to an address, with an optional timeout and
                           optional source address.
    create_server() -- create a TCP socket and bind it to a specified address.

     [*] not available on all platforms!

    Special objects:

    SocketType -- type object for socket objects
    error -- exception raised for I/O errors
    has_ipv6 -- boolean value indicating if IPv6 is supported

    IntEnum constants:

    AF_INET, AF_UNIX -- socket domains (first argument to socket() call)
    SOCK_STREAM, SOCK_DGRAM, SOCK_RAW -- socket types (second argument)

    Integer constants:

    Many other constants may be defined; these may be used in calls to
    the setsockopt() and getsockopt() methods.

CLASSES
    builtins.Exception(builtins.BaseException)
        builtins.OSError
            builtins.TimeoutError
            gaierror
            herror
    builtins.object
        _socket.socket
            socket
    enum.IntEnum(builtins.int, enum.ReprEnum)
        AddressFamily
        SocketKind

    class AddressFamily(enum.IntEnum)
     |  AddressFamily(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      AddressFamily
     |      enum.IntEnum
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  AF_APPLETALK = <AddressFamily.AF_APPLETALK: 16>
     |
     |  AF_BLUETOOTH = <AddressFamily.AF_BLUETOOTH: 32>
     |
     |  AF_HYPERV = <AddressFamily.AF_HYPERV: 34>
     |
     |  AF_INET = <AddressFamily.AF_INET: 2>
     |
     |  AF_INET6 = <AddressFamily.AF_INET6: 23>
     |
     |  AF_IPX = <AddressFamily.AF_IPX: 6>
     |
     |  AF_IRDA = <AddressFamily.AF_IRDA: 26>
     |
     |  AF_LINK = <AddressFamily.AF_LINK: 33>
     |
     |  AF_SNA = <AddressFamily.AF_SNA: 11>
     |
     |  AF_UNSPEC = <AddressFamily.AF_UNSPEC: 0>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntEnum:
     |
     |  __repr__(self) from enum.Enum
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __and__(self, value, /)
     |      Return self&value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __invert__(self, /)
     |      ~self
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __or__(self, value, /)
     |      Return self|value.
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rand__(self, value, /)
     |      Return value&self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __ror__(self, value, /)
     |      Return value|self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __rxor__(self, value, /)
     |      Return value^self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  __xor__(self, value, /)
     |      Return self^value.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class SocketKind(enum.IntEnum)
     |  SocketKind(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      SocketKind
     |      enum.IntEnum
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  SOCK_DGRAM = <SocketKind.SOCK_DGRAM: 2>
     |
     |  SOCK_RAW = <SocketKind.SOCK_RAW: 3>
     |
     |  SOCK_RDM = <SocketKind.SOCK_RDM: 4>
     |
     |  SOCK_SEQPACKET = <SocketKind.SOCK_SEQPACKET: 5>
     |
     |  SOCK_STREAM = <SocketKind.SOCK_STREAM: 1>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntEnum:
     |
     |  __repr__(self) from enum.Enum
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __and__(self, value, /)
     |      Return self&value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __invert__(self, /)
     |      ~self
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __or__(self, value, /)
     |      Return self|value.
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rand__(self, value, /)
     |      Return value&self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __ror__(self, value, /)
     |      Return value|self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __rxor__(self, value, /)
     |      Return value^self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  __xor__(self, value, /)
     |      Return self^value.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    SocketType = class socket(builtins.object)
     |  socket(family=AF_INET, type=SOCK_STREAM, proto=0) -> socket object
     |  socket(family=-1, type=-1, proto=-1, fileno=None) -> socket object
     |
     |  Open a socket of the given type.  The family argument specifies the
     |  address family; it defaults to AF_INET.  The type argument specifies
     |  whether this is a stream (SOCK_STREAM, this is the default)
     |  or datagram (SOCK_DGRAM) socket.  The protocol argument defaults to 0,
     |  specifying the default protocol.  Keyword arguments are accepted.
     |  The socket is created as non-inheritable.
     |
     |  When a fileno is passed in, family, type and proto are auto-detected,
     |  unless they are explicitly set.
     |
     |  A socket object represents one endpoint of a network connection.
     |
     |  Methods of socket objects (keyword arguments not allowed):
     |
     |  _accept() -- accept connection, returning new socket fd and client address
     |  bind(addr) -- bind the socket to a local address
     |  close() -- close the socket
     |  connect(addr) -- connect the socket to a remote address
     |  connect_ex(addr) -- connect, return an error code instead of an exception
     |  dup() -- return a new socket fd duplicated from fileno()
     |  fileno() -- return underlying file descriptor
     |  getpeername() -- return remote address [*]
     |  getsockname() -- return local address
     |  getsockopt(level, optname[, buflen]) -- get socket options
     |  gettimeout() -- return timeout or None
     |  listen([n]) -- start listening for incoming connections
     |  recv(buflen[, flags]) -- receive data
     |  recv_into(buffer[, nbytes[, flags]]) -- receive data (into a buffer)
     |  recvfrom(buflen[, flags]) -- receive data and sender's address
     |  recvfrom_into(buffer[, nbytes, [, flags])
     |    -- receive data and sender's address (into a buffer)
     |  sendall(data[, flags]) -- send all data
     |  send(data[, flags]) -- send data, may not send all of it
     |  sendto(data[, flags], addr) -- send data to a given address
     |  setblocking(bool) -- set or clear the blocking I/O flag
     |  getblocking() -- return True if socket is blocking, False if non-blocking
     |  setsockopt(level, optname, value[, optlen]) -- set socket options
     |  settimeout(None | float) -- set or clear the timeout
     |  shutdown(how) -- shut down traffic in one or both directions
     |
     |   [*] not available on all platforms!
     |
     |  Methods defined here:
     |
     |  __del__(...)
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  bind(...)
     |      bind(address)
     |
     |      Bind the socket to a local address.  For IP sockets, the address is a
     |      pair (host, port); the host must refer to the local host. For raw packet
     |      sockets the address is a tuple (ifname, proto [,pkttype [,hatype [,addr]]])
     |
     |  close(...)
     |      close()
     |
     |      Close the socket.  It cannot be used after this call.
     |
     |  connect(...)
     |      connect(address)
     |
     |      Connect the socket to a remote address.  For IP sockets, the address
     |      is a pair (host, port).
     |
     |  connect_ex(...)
     |      connect_ex(address) -> errno
     |
     |      This is like connect(address), but returns an error code (the errno value)
     |      instead of raising an exception when an error occurs.
     |
     |  detach(...)
     |      detach()
     |
     |      Close the socket object without closing the underlying file descriptor.
     |      The object cannot be used after this call, but the file descriptor
     |      can be reused for other purposes.  The file descriptor is returned.
     |
     |  fileno(...)
     |      fileno() -> integer
     |
     |      Return the integer file descriptor of the socket.
     |
     |  getblocking(...)
     |      getblocking()
     |
     |      Returns True if socket is in blocking mode, or False if it
     |      is in non-blocking mode.
     |
     |  getpeername(...)
     |      getpeername() -> address info
     |
     |      Return the address of the remote endpoint.  For IP sockets, the address
     |      info is a pair (hostaddr, port).
     |
     |  getsockname(...)
     |      getsockname() -> address info
     |
     |      Return the address of the local endpoint. The format depends on the
     |      address family. For IPv4 sockets, the address info is a pair
     |      (hostaddr, port). For IPv6 sockets, the address info is a 4-tuple
     |      (hostaddr, port, flowinfo, scope_id).
     |
     |  getsockopt(...)
     |      getsockopt(level, option[, buffersize]) -> value
     |
     |      Get a socket option.  See the Unix manual for level and option.
     |      If a nonzero buffersize argument is given, the return value is a
     |      string of that length; otherwise it is an integer.
     |
     |  gettimeout(...)
     |      gettimeout() -> timeout
     |
     |      Returns the timeout in seconds (float) associated with socket
     |      operations. A timeout of None indicates that timeouts on socket
     |      operations are disabled.
     |
     |  ioctl(...)
     |      ioctl(cmd, option) -> long
     |
     |      Control the socket with WSAIoctl syscall. Currently supported 'cmd' values are
     |      SIO_RCVALL:  'option' must be one of the socket.RCVALL_* constants.
     |      SIO_KEEPALIVE_VALS:  'option' is a tuple of (onoff, timeout, interval).
     |      SIO_LOOPBACK_FAST_PATH: 'option' is a boolean value, and is disabled by default
     |
     |  listen(...)
     |      listen([backlog])
     |
     |      Enable a server to accept connections.  If backlog is specified, it must be
     |      at least 0 (if it is lower, it is set to 0); it specifies the number of
     |      unaccepted connections that the system will allow before refusing new
     |      connections. If not specified, a default reasonable value is chosen.
     |
     |  recv(...)
     |      recv(buffersize[, flags]) -> data
     |
     |      Receive up to buffersize bytes from the socket.  For the optional flags
     |      argument, see the Unix manual.  When no data is available, block until
     |      at least one byte is available or until the remote end is closed.  When
     |      the remote end is closed and all data is read, return the empty string.
     |
     |  recv_into(...)
     |      recv_into(buffer, [nbytes[, flags]]) -> nbytes_read
     |
     |      A version of recv() that stores its data into a buffer rather than creating
     |      a new string.  Receive up to buffersize bytes from the socket.  If buffersize
     |      is not specified (or 0), receive up to the size available in the given buffer.
     |
     |      See recv() for documentation about the flags.
     |
     |  recvfrom(...)
     |      recvfrom(buffersize[, flags]) -> (data, address info)
     |
     |      Like recv(buffersize, flags) but also return the sender's address info.
     |
     |  recvfrom_into(...)
     |      recvfrom_into(buffer[, nbytes[, flags]]) -> (nbytes, address info)
     |
     |      Like recv_into(buffer[, nbytes[, flags]]) but also return the sender's address info.
     |
     |  send(...)
     |      send(data[, flags]) -> count
     |
     |      Send a data string to the socket.  For the optional flags
     |      argument, see the Unix manual.  Return the number of bytes
     |      sent; this may be less than len(data) if the network is busy.
     |
     |  sendall(...)
     |      sendall(data[, flags])
     |
     |      Send a data string to the socket.  For the optional flags
     |      argument, see the Unix manual.  This calls send() repeatedly
     |      until all data is sent.  If an error occurs, it's impossible
     |      to tell how much data has been sent.
     |
     |  sendto(...)
     |      sendto(data[, flags], address) -> count
     |
     |      Like send(data, flags) but allows specifying the destination address.
     |      For IP sockets, the address is a pair (hostaddr, port).
     |
     |  setblocking(...)
     |      setblocking(flag)
     |
     |      Set the socket to blocking (flag is true) or non-blocking (false).
     |      setblocking(True) is equivalent to settimeout(None);
     |      setblocking(False) is equivalent to settimeout(0.0).
     |
     |  setsockopt(...)
     |      setsockopt(level, option, value: int)
     |      setsockopt(level, option, value: buffer)
     |      setsockopt(level, option, None, optlen: int)
     |
     |      Set a socket option.  See the Unix manual for level and option.
     |      The value argument can either be an integer, a string buffer, or
     |      None, optlen.
     |
     |  settimeout(...)
     |      settimeout(timeout)
     |
     |      Set a timeout on socket operations.  'timeout' can be a float,
     |      giving in seconds, or None.  Setting a timeout of None disables
     |      the timeout feature and is equivalent to setblocking(1).
     |      Setting a timeout of zero is the same as setblocking(0).
     |
     |  share(...)
     |      share(process_id) -> bytes
     |
     |      Share the socket with another process.  The target process id
     |      must be provided and the resulting bytes object passed to the target
     |      process.  There the shared socket can be instantiated by calling
     |      socket.fromshare().
     |
     |  shutdown(...)
     |      shutdown(flag)
     |
     |      Shut down the reading side of the socket (flag == SHUT_RD), the writing side
     |      of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  family
     |      the socket family
     |
     |  proto
     |      the socket protocol
     |
     |  timeout
     |      the socket timeout
     |
     |  type
     |      the socket type

    error = class OSError(Exception)
     |  Base class for I/O related errors.
     |
     |  Method resolution order:
     |      OSError
     |      Exception
     |      BaseException
     |      object
     |
     |  Built-in subclasses:
     |      BlockingIOError
     |      ChildProcessError
     |      ConnectionError
     |      FileExistsError
     |      ... and 7 other subclasses
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class gaierror(builtins.OSError)
     |  Method resolution order:
     |      gaierror
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class herror(builtins.OSError)
     |  Method resolution order:
     |      herror
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class socket(_socket.socket)
     |  socket(family=-1, type=-1, proto=-1, fileno=None)
     |
     |  A subclass of _socket.socket adding the makefile() method.
     |
     |  Method resolution order:
     |      socket
     |      _socket.socket
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __enter__(self)
     |
     |  __exit__(self, *args)
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __init__(self, family=-1, type=-1, proto=-1, fileno=None)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __repr__(self)
     |      Wrap __repr__() to reveal the real class name and socket
     |      address(es).
     |
     |  accept(self)
     |      accept() -> (socket object, address info)
     |
     |      Wait for an incoming connection.  Return a new socket
     |      representing the connection, and the address of the client.
     |      For IP sockets, the address info is a pair (hostaddr, port).
     |
     |  close(self)
     |      close()
     |
     |      Close the socket.  It cannot be used after this call.
     |
     |  detach(self)
     |      detach() -> file descriptor
     |
     |      Close the socket object without closing the underlying file descriptor.
     |      The object cannot be used after this call, but the file descriptor
     |      can be reused for other purposes.  The file descriptor is returned.
     |
     |  dup(self)
     |      dup() -> socket object
     |
     |      Duplicate the socket. Return a new socket object connected to the same
     |      system resource. The new socket is non-inheritable.
     |
     |  get_inheritable(self)
     |      Get the inheritable flag of the socket
     |
     |  makefile(self, mode='r', buffering=None, *, encoding=None, errors=None, newline=None)
     |      makefile(...) -> an I/O stream connected to the socket
     |
     |      The arguments are as for io.open() after the filename, except the only
     |      supported mode values are 'r' (default), 'w', 'b', or a combination of
     |      those.
     |
     |  sendfile(self, file, offset=0, count=None)
     |      sendfile(file[, offset[, count]]) -> sent
     |
     |      Send a file until EOF is reached by using high-performance
     |      os.sendfile() and return the total number of bytes which
     |      were sent.
     |      *file* must be a regular file object opened in binary mode.
     |      If os.sendfile() is not available (e.g. Windows) or file is
     |      not a regular file socket.send() will be used instead.
     |      *offset* tells from where to start reading the file.
     |      If specified, *count* is the total number of bytes to transmit
     |      as opposed to sending the file until EOF is reached.
     |      File position is updated on return or also in case of error in
     |      which case file.tell() can be used to figure out the number of
     |      bytes which were sent.
     |      The socket must be of SOCK_STREAM type.
     |      Non-blocking sockets are not supported.
     |
     |  set_inheritable(self, inheritable)
     |      Set the inheritable flag of the socket
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  family
     |      Read-only access to the address family for this socket.
     |
     |  type
     |      Read-only access to the socket type.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _socket.socket:
     |
     |  __del__(...)
     |
     |  bind(...)
     |      bind(address)
     |
     |      Bind the socket to a local address.  For IP sockets, the address is a
     |      pair (host, port); the host must refer to the local host. For raw packet
     |      sockets the address is a tuple (ifname, proto [,pkttype [,hatype [,addr]]])
     |
     |  connect(...)
     |      connect(address)
     |
     |      Connect the socket to a remote address.  For IP sockets, the address
     |      is a pair (host, port).
     |
     |  connect_ex(...)
     |      connect_ex(address) -> errno
     |
     |      This is like connect(address), but returns an error code (the errno value)
     |      instead of raising an exception when an error occurs.
     |
     |  fileno(...)
     |      fileno() -> integer
     |
     |      Return the integer file descriptor of the socket.
     |
     |  getblocking(...)
     |      getblocking()
     |
     |      Returns True if socket is in blocking mode, or False if it
     |      is in non-blocking mode.
     |
     |  getpeername(...)
     |      getpeername() -> address info
     |
     |      Return the address of the remote endpoint.  For IP sockets, the address
     |      info is a pair (hostaddr, port).
     |
     |  getsockname(...)
     |      getsockname() -> address info
     |
     |      Return the address of the local endpoint. The format depends on the
     |      address family. For IPv4 sockets, the address info is a pair
     |      (hostaddr, port). For IPv6 sockets, the address info is a 4-tuple
     |      (hostaddr, port, flowinfo, scope_id).
     |
     |  getsockopt(...)
     |      getsockopt(level, option[, buffersize]) -> value
     |
     |      Get a socket option.  See the Unix manual for level and option.
     |      If a nonzero buffersize argument is given, the return value is a
     |      string of that length; otherwise it is an integer.
     |
     |  gettimeout(...)
     |      gettimeout() -> timeout
     |
     |      Returns the timeout in seconds (float) associated with socket
     |      operations. A timeout of None indicates that timeouts on socket
     |      operations are disabled.
     |
     |  ioctl(...)
     |      ioctl(cmd, option) -> long
     |
     |      Control the socket with WSAIoctl syscall. Currently supported 'cmd' values are
     |      SIO_RCVALL:  'option' must be one of the socket.RCVALL_* constants.
     |      SIO_KEEPALIVE_VALS:  'option' is a tuple of (onoff, timeout, interval).
     |      SIO_LOOPBACK_FAST_PATH: 'option' is a boolean value, and is disabled by default
     |
     |  listen(...)
     |      listen([backlog])
     |
     |      Enable a server to accept connections.  If backlog is specified, it must be
     |      at least 0 (if it is lower, it is set to 0); it specifies the number of
     |      unaccepted connections that the system will allow before refusing new
     |      connections. If not specified, a default reasonable value is chosen.
     |
     |  recv(...)
     |      recv(buffersize[, flags]) -> data
     |
     |      Receive up to buffersize bytes from the socket.  For the optional flags
     |      argument, see the Unix manual.  When no data is available, block until
     |      at least one byte is available or until the remote end is closed.  When
     |      the remote end is closed and all data is read, return the empty string.
     |
     |  recv_into(...)
     |      recv_into(buffer, [nbytes[, flags]]) -> nbytes_read
     |
     |      A version of recv() that stores its data into a buffer rather than creating
     |      a new string.  Receive up to buffersize bytes from the socket.  If buffersize
     |      is not specified (or 0), receive up to the size available in the given buffer.
     |
     |      See recv() for documentation about the flags.
     |
     |  recvfrom(...)
     |      recvfrom(buffersize[, flags]) -> (data, address info)
     |
     |      Like recv(buffersize, flags) but also return the sender's address info.
     |
     |  recvfrom_into(...)
     |      recvfrom_into(buffer[, nbytes[, flags]]) -> (nbytes, address info)
     |
     |      Like recv_into(buffer[, nbytes[, flags]]) but also return the sender's address info.
     |
     |  send(...)
     |      send(data[, flags]) -> count
     |
     |      Send a data string to the socket.  For the optional flags
     |      argument, see the Unix manual.  Return the number of bytes
     |      sent; this may be less than len(data) if the network is busy.
     |
     |  sendall(...)
     |      sendall(data[, flags])
     |
     |      Send a data string to the socket.  For the optional flags
     |      argument, see the Unix manual.  This calls send() repeatedly
     |      until all data is sent.  If an error occurs, it's impossible
     |      to tell how much data has been sent.
     |
     |  sendto(...)
     |      sendto(data[, flags], address) -> count
     |
     |      Like send(data, flags) but allows specifying the destination address.
     |      For IP sockets, the address is a pair (hostaddr, port).
     |
     |  setblocking(...)
     |      setblocking(flag)
     |
     |      Set the socket to blocking (flag is true) or non-blocking (false).
     |      setblocking(True) is equivalent to settimeout(None);
     |      setblocking(False) is equivalent to settimeout(0.0).
     |
     |  setsockopt(...)
     |      setsockopt(level, option, value: int)
     |      setsockopt(level, option, value: buffer)
     |      setsockopt(level, option, None, optlen: int)
     |
     |      Set a socket option.  See the Unix manual for level and option.
     |      The value argument can either be an integer, a string buffer, or
     |      None, optlen.
     |
     |  settimeout(...)
     |      settimeout(timeout)
     |
     |      Set a timeout on socket operations.  'timeout' can be a float,
     |      giving in seconds, or None.  Setting a timeout of None disables
     |      the timeout feature and is equivalent to setblocking(1).
     |      Setting a timeout of zero is the same as setblocking(0).
     |
     |  share(...)
     |      share(process_id) -> bytes
     |
     |      Share the socket with another process.  The target process id
     |      must be provided and the resulting bytes object passed to the target
     |      process.  There the shared socket can be instantiated by calling
     |      socket.fromshare().
     |
     |  shutdown(...)
     |      shutdown(flag)
     |
     |      Shut down the reading side of the socket (flag == SHUT_RD), the writing side
     |      of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _socket.socket:
     |
     |  __new__(*args, **kwargs) class method of _socket.socket
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _socket.socket:
     |
     |  proto
     |      the socket protocol
     |
     |  timeout
     |      the socket timeout

    timeout = class TimeoutError(OSError)
     |  Timeout expired.
     |
     |  Method resolution order:
     |      TimeoutError
     |      OSError
     |      Exception
     |      BaseException
     |      object
     |
     |  Methods defined here:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from OSError:
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

FUNCTIONS
    close(...)
        close(integer) -> None

        Close an integer socket file descriptor.  This is like os.close(), but for
        sockets; on some platforms os.close() won't work for socket file descriptors.

    create_connection(address, timeout=<object object at 0x000001BAA6308A10>, source_address=None, *, all_errors=False)
        Connect to *address* and return the socket object.

        Convenience function.  Connect to *address* (a 2-tuple ``(host,
        port)``) and return the socket object.  Passing the optional
        *timeout* parameter will set the timeout on the socket instance
        before attempting to connect.  If no *timeout* is supplied, the
        global default timeout setting returned by :func:`getdefaulttimeout`
        is used.  If *source_address* is set it must be a tuple of (host, port)
        for the socket to bind as a source address before making the connection.
        A host of '' or port 0 tells the OS to use the default. When a connection
        cannot be created, raises the last error if *all_errors* is False,
        and an ExceptionGroup of all errors if *all_errors* is True.

    create_server(address, *, family=<AddressFamily.AF_INET: 2>, backlog=None, reuse_port=False, dualstack_ipv6=False)
        Convenience function which creates a SOCK_STREAM type socket
        bound to *address* (a 2-tuple (host, port)) and return the socket
        object.

        *family* should be either AF_INET or AF_INET6.
        *backlog* is the queue size passed to socket.listen().
        *reuse_port* dictates whether to use the SO_REUSEPORT socket option.
        *dualstack_ipv6*: if true and the platform supports it, it will
        create an AF_INET6 socket able to accept both IPv4 or IPv6
        connections. When false it will explicitly disable this option on
        platforms that enable it by default (e.g. Linux).

        >>> with create_server(('', 8000)) as server:
        ...     while True:
        ...         conn, addr = server.accept()
        ...         # handle new connection

    dup(...)
        dup(integer) -> integer

        Duplicate an integer socket file descriptor.  This is like os.dup(), but for
        sockets; on some platforms os.dup() won't work for socket file descriptors.

    fromfd(fd, family, type, proto=0)
        fromfd(fd, family, type[, proto]) -> socket object

        Create a socket object from a duplicate of the given file
        descriptor.  The remaining arguments are the same as for socket().

    fromshare(info)
        fromshare(info) -> socket object

        Create a socket object from the bytes object returned by
        socket.share(pid).

    getaddrinfo(host, port, family=0, type=0, proto=0, flags=0)
        Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.

    getdefaulttimeout(...)
        getdefaulttimeout() -> timeout

        Returns the default timeout in seconds (float) for new socket objects.
        A value of None indicates that new socket objects have no timeout.
        When the socket module is first imported, the default is None.

    getfqdn(name='')
        Get fully qualified domain name from name.

        An empty argument is interpreted as meaning the local host.

        First the hostname returned by gethostbyaddr() is checked, then
        possibly existing aliases. In case no FQDN is available and `name`
        was given, it is returned unchanged. If `name` was empty, '0.0.0.0' or '::',
        hostname from gethostname() is returned.

    gethostbyaddr(...)
        gethostbyaddr(host) -> (name, aliaslist, addresslist)

        Return the true host name, a list of aliases, and a list of IP addresses,
        for a host.  The host argument is a string giving a host name or IP number.

    gethostbyname(...)
        gethostbyname(host) -> address

        Return the IP address (a string of the form '255.255.255.255') for a host.

    gethostbyname_ex(...)
        gethostbyname_ex(host) -> (name, aliaslist, addresslist)

        Return the true host name, a list of aliases, and a list of IP addresses,
        for a host.  The host argument is a string giving a host name or IP number.

    gethostname(...)
        gethostname() -> string

        Return the current host name.

    getnameinfo(...)
        getnameinfo(sockaddr, flags) --> (host, port)

        Get host and port for a sockaddr.

    getprotobyname(...)
        getprotobyname(name) -> integer

        Return the protocol number for the named protocol.  (Rarely used.)

    getservbyname(...)
        getservbyname(servicename[, protocolname]) -> integer

        Return a port number from a service name and protocol name.
        The optional protocol name, if given, should be 'tcp' or 'udp',
        otherwise any protocol will match.

    getservbyport(...)
        getservbyport(port[, protocolname]) -> string

        Return the service name from a port number and protocol name.
        The optional protocol name, if given, should be 'tcp' or 'udp',
        otherwise any protocol will match.

    has_dualstack_ipv6()
        Return True if the platform supports creating a SOCK_STREAM socket
        which can handle both AF_INET and AF_INET6 (IPv4 / IPv6) connections.

    htonl(...)
        htonl(integer) -> integer

        Convert a 32-bit integer from host to network byte order.

    htons(...)
        htons(integer) -> integer

        Convert a 16-bit unsigned integer from host to network byte order.

    if_indextoname(...)
        if_indextoname(if_index)

        Returns the interface name corresponding to the interface index if_index.

    if_nameindex(...)
        if_nameindex()

        Returns a list of network interface information (index, name) tuples.

    if_nametoindex(...)
        if_nametoindex(if_name)

        Returns the interface index corresponding to the interface name if_name.

    inet_aton(...)
        inet_aton(string) -> bytes giving packed 32-bit IP representation

        Convert an IP address in string format (123.45.67.89) to the 32-bit packed
        binary format used in low-level network functions.

    inet_ntoa(...)
        inet_ntoa(packed_ip) -> ip_address_string

        Convert an IP address from 32-bit packed binary format to string format

    inet_ntop(...)
        inet_ntop(af, packed_ip) -> string formatted IP address

        Convert a packed IP address of the given family to string format.

    inet_pton(...)
        inet_pton(af, ip) -> packed IP address string

        Convert an IP address from string format to a packed string suitable
        for use with low-level network functions.

    ntohl(...)
        ntohl(integer) -> integer

        Convert a 32-bit integer from network to host byte order.

    ntohs(...)
        ntohs(integer) -> integer

        Convert a 16-bit unsigned integer from network to host byte order.

    setdefaulttimeout(...)
        setdefaulttimeout(timeout)

        Set the default timeout in seconds (float) for new socket objects.
        A value of None indicates that new socket objects have no timeout.
        When the socket module is first imported, the default is None.

    socketpair = _fallback_socketpair(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=0)
        socketpair([family[, type[, proto]]]) -> (socket object, socket object)
        Create a pair of socket objects from the sockets returned by the platform
        socketpair() function.
        The arguments are the same as for socket() except the default family is AF_UNIX
        if defined on the platform; otherwise, the default is AF_INET.

DATA
    AF_APPLETALK = <AddressFamily.AF_APPLETALK: 16>
    AF_BLUETOOTH = <AddressFamily.AF_BLUETOOTH: 32>
    AF_DECnet = 12
    AF_HYPERV = <AddressFamily.AF_HYPERV: 34>
    AF_INET = <AddressFamily.AF_INET: 2>
    AF_INET6 = <AddressFamily.AF_INET6: 23>
    AF_IPX = <AddressFamily.AF_IPX: 6>
    AF_IRDA = <AddressFamily.AF_IRDA: 26>
    AF_LINK = <AddressFamily.AF_LINK: 33>
    AF_SNA = <AddressFamily.AF_SNA: 11>
    AF_UNSPEC = <AddressFamily.AF_UNSPEC: 0>
    AI_ADDRCONFIG = <AddressInfo.AI_ADDRCONFIG: 1024>
    AI_ALL = <AddressInfo.AI_ALL: 256>
    AI_CANONNAME = <AddressInfo.AI_CANONNAME: 2>
    AI_NUMERICHOST = <AddressInfo.AI_NUMERICHOST: 4>
    AI_NUMERICSERV = <AddressInfo.AI_NUMERICSERV: 8>
    AI_PASSIVE = <AddressInfo.AI_PASSIVE: 1>
    AI_V4MAPPED = <AddressInfo.AI_V4MAPPED: 2048>
    BDADDR_ANY = '00:00:00:00:00:00'
    BDADDR_LOCAL = '00:00:00:FF:FF:FF'
    BTPROTO_RFCOMM = 3
    CAPI = <capsule object "_socket.CAPI">
    EAI_AGAIN = 11002
    EAI_BADFLAGS = 10022
    EAI_FAIL = 11003
    EAI_FAMILY = 10047
    EAI_MEMORY = 8
    EAI_NODATA = 11001
    EAI_NONAME = 11001
    EAI_SERVICE = 10109
    EAI_SOCKTYPE = 10044
    HVSOCKET_ADDRESS_FLAG_PASSTHRU = 1
    HVSOCKET_CONNECTED_SUSPEND = 4
    HVSOCKET_CONNECT_TIMEOUT = 1
    HVSOCKET_CONNECT_TIMEOUT_MAX = 300000
    HV_GUID_BROADCAST = 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF'
    HV_GUID_CHILDREN = '90DB8B89-0D35-4F79-8CE9-49EA0AC8B7CD'
    HV_GUID_LOOPBACK = 'E0E16197-DD56-4A10-9195-5EE7A155A838'
    HV_GUID_PARENT = 'A42E7CDA-D03F-480C-9CC2-A4DE20ABB878'
    HV_GUID_WILDCARD = '00000000-0000-0000-0000-000000000000'
    HV_GUID_ZERO = '00000000-0000-0000-0000-000000000000'
    HV_PROTOCOL_RAW = 1
    INADDR_ALLHOSTS_GROUP = -536870911
    INADDR_ANY = 0
    INADDR_BROADCAST = -1
    INADDR_LOOPBACK = 2130706433
    INADDR_MAX_LOCAL_GROUP = -536870657
    INADDR_NONE = -1
    INADDR_UNSPEC_GROUP = -536870912
    IPPORT_RESERVED = 1024
    IPPORT_USERRESERVED = 5000
    IPPROTO_AH = 51
    IPPROTO_CBT = 7
    IPPROTO_DSTOPTS = 60
    IPPROTO_EGP = 8
    IPPROTO_ESP = 50
    IPPROTO_FRAGMENT = 44
    IPPROTO_GGP = 3
    IPPROTO_HOPOPTS = 0
    IPPROTO_ICLFXBM = 78
    IPPROTO_ICMP = 1
    IPPROTO_ICMPV6 = 58
    IPPROTO_IDP = 22
    IPPROTO_IGMP = 2
    IPPROTO_IGP = 9
    IPPROTO_IP = 0
    IPPROTO_IPV4 = 4
    IPPROTO_IPV6 = 41
    IPPROTO_L2TP = 115
    IPPROTO_MAX = 256
    IPPROTO_ND = 77
    IPPROTO_NONE = 59
    IPPROTO_PGM = 113
    IPPROTO_PIM = 103
    IPPROTO_PUP = 12
    IPPROTO_RAW = 255
    IPPROTO_RDP = 27
    IPPROTO_ROUTING = 43
    IPPROTO_SCTP = 132
    IPPROTO_ST = 5
    IPPROTO_TCP = 6
    IPPROTO_UDP = 17
    IPV6_CHECKSUM = 26
    IPV6_DONTFRAG = 14
    IPV6_HOPLIMIT = 21
    IPV6_HOPOPTS = 1
    IPV6_JOIN_GROUP = 12
    IPV6_LEAVE_GROUP = 13
    IPV6_MULTICAST_HOPS = 10
    IPV6_MULTICAST_IF = 9
    IPV6_MULTICAST_LOOP = 11
    IPV6_PKTINFO = 19
    IPV6_RECVRTHDR = 38
    IPV6_RECVTCLASS = 40
    IPV6_RTHDR = 32
    IPV6_TCLASS = 39
    IPV6_UNICAST_HOPS = 4
    IPV6_V6ONLY = 27
    IP_ADD_MEMBERSHIP = 12
    IP_ADD_SOURCE_MEMBERSHIP = 15
    IP_BLOCK_SOURCE = 17
    IP_DROP_MEMBERSHIP = 13
    IP_DROP_SOURCE_MEMBERSHIP = 16
    IP_HDRINCL = 2
    IP_MULTICAST_IF = 9
    IP_MULTICAST_LOOP = 11
    IP_MULTICAST_TTL = 10
    IP_OPTIONS = 1
    IP_PKTINFO = 19
    IP_RECVDSTADDR = 25
    IP_RECVTOS = 40
    IP_TOS = 3
    IP_TTL = 4
    IP_UNBLOCK_SOURCE = 18
    MSG_BCAST = <MsgFlag.MSG_BCAST: 1024>
    MSG_CTRUNC = <MsgFlag.MSG_CTRUNC: 512>
    MSG_DONTROUTE = <MsgFlag.MSG_DONTROUTE: 4>
    MSG_ERRQUEUE = <MsgFlag.MSG_ERRQUEUE: 4096>
    MSG_MCAST = <MsgFlag.MSG_MCAST: 2048>
    MSG_OOB = <MsgFlag.MSG_OOB: 1>
    MSG_PEEK = <MsgFlag.MSG_PEEK: 2>
    MSG_TRUNC = <MsgFlag.MSG_TRUNC: 256>
    MSG_WAITALL = <MsgFlag.MSG_WAITALL: 8>
    NI_DGRAM = 16
    NI_MAXHOST = 1025
    NI_MAXSERV = 32
    NI_NAMEREQD = 4
    NI_NOFQDN = 1
    NI_NUMERICHOST = 2
    NI_NUMERICSERV = 8
    RCVALL_MAX = 3
    RCVALL_OFF = 0
    RCVALL_ON = 1
    RCVALL_SOCKETLEVELONLY = 2
    SHUT_RD = 0
    SHUT_RDWR = 2
    SHUT_WR = 1
    SIO_KEEPALIVE_VALS = 2550136836
    SIO_LOOPBACK_FAST_PATH = 2550136848
    SIO_RCVALL = 2550136833
    SOCK_DGRAM = <SocketKind.SOCK_DGRAM: 2>
    SOCK_RAW = <SocketKind.SOCK_RAW: 3>
    SOCK_RDM = <SocketKind.SOCK_RDM: 4>
    SOCK_SEQPACKET = <SocketKind.SOCK_SEQPACKET: 5>
    SOCK_STREAM = <SocketKind.SOCK_STREAM: 1>
    SOL_IP = 65531
    SOL_SOCKET = 65535
    SOL_TCP = 6
    SOL_UDP = 17
    SOMAXCONN = 2147483647
    SO_ACCEPTCONN = 2
    SO_BROADCAST = 32
    SO_DEBUG = 1
    SO_DONTROUTE = 16
    SO_ERROR = 4103
    SO_EXCLUSIVEADDRUSE = -5
    SO_KEEPALIVE = 8
    SO_LINGER = 128
    SO_OOBINLINE = 256
    SO_RCVBUF = 4098
    SO_RCVLOWAT = 4100
    SO_RCVTIMEO = 4102
    SO_REUSEADDR = 4
    SO_SNDBUF = 4097
    SO_SNDLOWAT = 4099
    SO_SNDTIMEO = 4101
    SO_TYPE = 4104
    SO_USELOOPBACK = 64
    TCP_FASTOPEN = 15
    TCP_KEEPCNT = 16
    TCP_KEEPIDLE = 3
    TCP_KEEPINTVL = 17
    TCP_MAXSEG = 4
    TCP_NODELAY = 1
    __all__ = ['fromfd', 'getfqdn', 'create_connection', 'create_server', ...
    errorTab = {6: 'Specified event object handle is invalid.', 8: 'Insuff...
    has_ipv6 = True

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\socket.py

smtplib.ssl
Python Library Documentation: module ssl

NAME
    ssl - This module provides some more Pythonic support for SSL.

MODULE REFERENCE
    https://docs.python.org/3.12/library/ssl.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    Object types:

      SSLSocket -- subtype of socket.socket which does SSL over the socket

    Exceptions:

      SSLError -- exception raised for I/O errors

    Functions:

      cert_time_to_seconds -- convert time string used for certificate
                              notBefore and notAfter functions to integer
                              seconds past the Epoch (the time values
                              returned from time.time())

      get_server_certificate (addr, ssl_version, ca_certs, timeout) -- Retrieve the
                              certificate from the server at the specified
                              address and return it as a PEM-encoded string


    Integer constants:

    SSL_ERROR_ZERO_RETURN
    SSL_ERROR_WANT_READ
    SSL_ERROR_WANT_WRITE
    SSL_ERROR_WANT_X509_LOOKUP
    SSL_ERROR_SYSCALL
    SSL_ERROR_SSL
    SSL_ERROR_WANT_CONNECT

    SSL_ERROR_EOF
    SSL_ERROR_INVALID_ERROR_CODE

    The following group define certificate requirements that one side is
    allowing/requiring from the other side:

    CERT_NONE - no certificates from the other side are required (or will
                be looked at if provided)
    CERT_OPTIONAL - certificates are not required, but if provided will be
                    validated, and if validation fails, the connection will
                    also fail
    CERT_REQUIRED - certificates are required, and will be validated, and
                    if validation fails, the connection will also fail

    The following constants identify various SSL protocol variants:

    PROTOCOL_SSLv2
    PROTOCOL_SSLv3
    PROTOCOL_SSLv23
    PROTOCOL_TLS
    PROTOCOL_TLS_CLIENT
    PROTOCOL_TLS_SERVER
    PROTOCOL_TLSv1
    PROTOCOL_TLSv1_1
    PROTOCOL_TLSv1_2

    The following constants identify various SSL alert message descriptions as per
    http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-6

    ALERT_DESCRIPTION_CLOSE_NOTIFY
    ALERT_DESCRIPTION_UNEXPECTED_MESSAGE
    ALERT_DESCRIPTION_BAD_RECORD_MAC
    ALERT_DESCRIPTION_RECORD_OVERFLOW
    ALERT_DESCRIPTION_DECOMPRESSION_FAILURE
    ALERT_DESCRIPTION_HANDSHAKE_FAILURE
    ALERT_DESCRIPTION_BAD_CERTIFICATE
    ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE
    ALERT_DESCRIPTION_CERTIFICATE_REVOKED
    ALERT_DESCRIPTION_CERTIFICATE_EXPIRED
    ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN
    ALERT_DESCRIPTION_ILLEGAL_PARAMETER
    ALERT_DESCRIPTION_UNKNOWN_CA
    ALERT_DESCRIPTION_ACCESS_DENIED
    ALERT_DESCRIPTION_DECODE_ERROR
    ALERT_DESCRIPTION_DECRYPT_ERROR
    ALERT_DESCRIPTION_PROTOCOL_VERSION
    ALERT_DESCRIPTION_INSUFFICIENT_SECURITY
    ALERT_DESCRIPTION_INTERNAL_ERROR
    ALERT_DESCRIPTION_USER_CANCELLED
    ALERT_DESCRIPTION_NO_RENEGOTIATION
    ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION
    ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE
    ALERT_DESCRIPTION_UNRECOGNIZED_NAME
    ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE
    ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE
    ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY

CLASSES
    _ssl._SSLContext(builtins.object)
        SSLContext
    builtins.OSError(builtins.Exception)
        SSLError
            SSLCertVerificationError(SSLError, builtins.ValueError)
            SSLEOFError
            SSLSyscallError
            SSLWantReadError
            SSLWantWriteError
            SSLZeroReturnError
    builtins.object
        SSLObject
    builtins.tuple(builtins.object)
        DefaultVerifyPaths
    enum.Enum(builtins.object)
        Purpose(_ASN1Object, enum.Enum)
    enum.IntEnum(builtins.int, enum.ReprEnum)
        AlertDescription
        SSLErrorNumber
        TLSVersion
        VerifyMode
    enum.IntFlag(builtins.int, enum.ReprEnum, enum.Flag)
        Options
        VerifyFlags
    socket.socket(_socket.socket)
        SSLSocket
    _ASN1Object(_ASN1Object)
        Purpose(_ASN1Object, enum.Enum)

    class AlertDescription(enum.IntEnum)
     |  AlertDescription(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      AlertDescription
     |      enum.IntEnum
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  ALERT_DESCRIPTION_ACCESS_DENIED = <AlertDescription.ALERT_DESCRIPTION_...
     |
     |  ALERT_DESCRIPTION_BAD_CERTIFICATE = <AlertDescription.ALERT_DESCRIPTIO...
     |
     |  ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE = <AlertDescription.ALERT...
     |
     |  ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE = <AlertDescription....
     |
     |  ALERT_DESCRIPTION_BAD_RECORD_MAC = <AlertDescription.ALERT_DESCRIPTION...
     |
     |  ALERT_DESCRIPTION_CERTIFICATE_EXPIRED = <AlertDescription.ALERT_DESCRI...
     |
     |  ALERT_DESCRIPTION_CERTIFICATE_REVOKED = <AlertDescription.ALERT_DESCRI...
     |
     |  ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN = <AlertDescription.ALERT_DESCRI...
     |
     |  ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE = <AlertDescription.ALERT_D...
     |
     |  ALERT_DESCRIPTION_CLOSE_NOTIFY = <AlertDescription.ALERT_DESCRIPTION_C...
     |
     |  ALERT_DESCRIPTION_DECODE_ERROR = <AlertDescription.ALERT_DESCRIPTION_D...
     |
     |  ALERT_DESCRIPTION_DECOMPRESSION_FAILURE = <AlertDescription.ALERT_DESC...
     |
     |  ALERT_DESCRIPTION_DECRYPT_ERROR = <AlertDescription.ALERT_DESCRIPTION_...
     |
     |  ALERT_DESCRIPTION_HANDSHAKE_FAILURE = <AlertDescription.ALERT_DESCRIPT...
     |
     |  ALERT_DESCRIPTION_ILLEGAL_PARAMETER = <AlertDescription.ALERT_DESCRIPT...
     |
     |  ALERT_DESCRIPTION_INSUFFICIENT_SECURITY = <AlertDescription.ALERT_DESC...
     |
     |  ALERT_DESCRIPTION_INTERNAL_ERROR = <AlertDescription.ALERT_DESCRIPTION...
     |
     |  ALERT_DESCRIPTION_NO_RENEGOTIATION = <AlertDescription.ALERT_DESCRIPTI...
     |
     |  ALERT_DESCRIPTION_PROTOCOL_VERSION = <AlertDescription.ALERT_DESCRIPTI...
     |
     |  ALERT_DESCRIPTION_RECORD_OVERFLOW = <AlertDescription.ALERT_DESCRIPTIO...
     |
     |  ALERT_DESCRIPTION_UNEXPECTED_MESSAGE = <AlertDescription.ALERT_DESCRIP...
     |
     |  ALERT_DESCRIPTION_UNKNOWN_CA = <AlertDescription.ALERT_DESCRIPTION_UNK...
     |
     |  ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY = <AlertDescription.ALERT_DESCR...
     |
     |  ALERT_DESCRIPTION_UNRECOGNIZED_NAME = <AlertDescription.ALERT_DESCRIPT...
     |
     |  ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE = <AlertDescription.ALERT_DE...
     |
     |  ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION = <AlertDescription.ALERT_DESC...
     |
     |  ALERT_DESCRIPTION_USER_CANCELLED = <AlertDescription.ALERT_DESCRIPTION...
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntEnum:
     |
     |  __repr__(self) from enum.Enum
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __and__(self, value, /)
     |      Return self&value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __invert__(self, /)
     |      ~self
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __or__(self, value, /)
     |      Return self|value.
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rand__(self, value, /)
     |      Return value&self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __ror__(self, value, /)
     |      Return value|self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __rxor__(self, value, /)
     |      Return value^self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  __xor__(self, value, /)
     |      Return self^value.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    CertificateError = class SSLCertVerificationError(SSLError, builtins.ValueError)
     |  A certificate could not be verified.
     |
     |  Method resolution order:
     |      SSLCertVerificationError
     |      SSLError
     |      builtins.OSError
     |      builtins.ValueError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSLError:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class DefaultVerifyPaths(builtins.tuple)
     |  DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)
     |
     |  DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)
     |
     |  Method resolution order:
     |      DefaultVerifyPaths
     |      builtins.tuple
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __getnewargs__(self) from collections.DefaultVerifyPaths
     |      Return self as a plain tuple.  Used by copy and pickle.
     |
     |  __repr__(self) from collections.DefaultVerifyPaths
     |      Return a nicely formatted representation string
     |
     |  _asdict(self) from collections.DefaultVerifyPaths
     |      Return a new dict which maps field names to their values.
     |
     |  _replace(self, /, **kwds) from collections.DefaultVerifyPaths
     |      Return a new DefaultVerifyPaths object replacing specified fields with new values
     |
     |  ----------------------------------------------------------------------
     |  Class methods defined here:
     |
     |  _make(iterable) from collections.DefaultVerifyPaths
     |      Make a new DefaultVerifyPaths object from a sequence or iterable
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(_cls, cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath) from namedtuple_DefaultVerifyPaths.DefaultVerifyPaths
     |      Create new instance of DefaultVerifyPaths(cafile, capath, openssl_cafile_env, openssl_cafile, openssl_capath_env, openssl_capath)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  cafile
     |      Alias for field number 0
     |
     |  capath
     |      Alias for field number 1
     |
     |  openssl_cafile_env
     |      Alias for field number 2
     |
     |  openssl_cafile
     |      Alias for field number 3
     |
     |  openssl_capath_env
     |      Alias for field number 4
     |
     |  openssl_capath
     |      Alias for field number 5
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  __match_args__ = ('cafile', 'capath', 'openssl_cafile_env', 'openssl_c...
     |
     |  _field_defaults = {}
     |
     |  _fields = ('cafile', 'capath', 'openssl_cafile_env', 'openssl_cafile',...
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.tuple:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __contains__(self, key, /)
     |      Return bool(key in self).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  count(self, value, /)
     |      Return number of occurrences of value.
     |
     |  index(self, value, start=0, stop=9223372036854775807, /)
     |      Return first index of value.
     |
     |      Raises ValueError if the value is not present.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.tuple:
     |
     |  __class_getitem__(...)
     |      See PEP 585

    class Options(enum.IntFlag)
     |  Options(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      Options
     |      enum.IntFlag
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Flag
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __and__(self, other) from enum.Flag
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __invert__(self) from enum.Flag
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  __or__(self, other) from enum.Flag
     |      Return self|value.
     |
     |  __rand__ = __and__(self, other)
     |
     |  __ror__ = __or__(self, other)
     |
     |  __rxor__ = __xor__(self, other)
     |
     |  __xor__(self, other) from enum.Flag
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  OP_CIPHER_SERVER_PREFERENCE = <Options.OP_CIPHER_SERVER_PREFERENCE: 41...
     |
     |  OP_ENABLE_KTLS = <Options.OP_ENABLE_KTLS: 8>
     |
     |  OP_ENABLE_MIDDLEBOX_COMPAT = <Options.OP_ENABLE_MIDDLEBOX_COMPAT: 1048...
     |
     |  OP_IGNORE_UNEXPECTED_EOF = <Options.OP_IGNORE_UNEXPECTED_EOF: 128>
     |
     |  OP_LEGACY_SERVER_CONNECT = <Options.OP_LEGACY_SERVER_CONNECT: 4>
     |
     |  OP_NO_COMPRESSION = <Options.OP_NO_COMPRESSION: 131072>
     |
     |  OP_NO_RENEGOTIATION = <Options.OP_NO_RENEGOTIATION: 1073741824>
     |
     |  OP_NO_SSLv3 = <Options.OP_NO_SSLv3: 33554432>
     |
     |  OP_NO_TICKET = <Options.OP_NO_TICKET: 16384>
     |
     |  OP_NO_TLSv1 = <Options.OP_NO_TLSv1: 67108864>
     |
     |  OP_NO_TLSv1_1 = <Options.OP_NO_TLSv1_1: 268435456>
     |
     |  OP_NO_TLSv1_2 = <Options.OP_NO_TLSv1_2: 134217728>
     |
     |  OP_NO_TLSv1_3 = <Options.OP_NO_TLSv1_3: 536870912>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntFlag:
     |
     |  __repr__(self) from enum.Flag
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Flag:
     |
     |  __contains__(self, other)
     |      Returns True if self has at least the same flags set as other.
     |
     |  __iter__(self)
     |      Returns flags in definition order.
     |
     |  __len__(self)
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class Purpose(_ASN1Object, enum.Enum)
     |  Purpose(*values)
     |
     |  SSLContext purpose flags with X509v3 Extended Key Usage objects
     |
     |  Method resolution order:
     |      Purpose
     |      _ASN1Object
     |      _ASN1Object
     |      builtins.tuple
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  __repr__(self) from enum.Enum
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  CLIENT_AUTH = <Purpose.CLIENT_AUTH: _ASN1Object(nid=130, short...Clien...
     |
     |  SERVER_AUTH = <Purpose.SERVER_AUTH: _ASN1Object(nid=129, short...Serve...
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from _ASN1Object:
     |
     |  fromname(name)
     |      Create _ASN1Object from short name, long name or OID
     |
     |  fromnid(nid)
     |      Create _ASN1Object from OpenSSL numeric ID
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _ASN1Object:
     |
     |  __getnewargs__(self) from collections._ASN1Object
     |      Return self as a plain tuple.  Used by copy and pickle.
     |
     |  _asdict(self) from collections._ASN1Object
     |      Return a new dict which maps field names to their values.
     |
     |  _replace(self, /, **kwds) from collections._ASN1Object
     |      Return a new _ASN1Object object replacing specified fields with new values
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from _ASN1Object:
     |
     |  _make(iterable) from collections._ASN1Object
     |      Make a new _ASN1Object object from a sequence or iterable
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _ASN1Object:
     |
     |  nid
     |      Alias for field number 0
     |
     |  shortname
     |      Alias for field number 1
     |
     |  longname
     |      Alias for field number 2
     |
     |  oid
     |      Alias for field number 3
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes inherited from _ASN1Object:
     |
     |  __match_args__ = ('nid', 'shortname', 'longname', 'oid')
     |
     |  _field_defaults = {}
     |
     |  _fields = ('nid', 'shortname', 'longname', 'oid')
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.tuple:
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __contains__(self, key, /)
     |      Return bool(key in self).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getitem__(self, key, /)
     |      Return self[key].
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __iter__(self, /)
     |      Implement iter(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __len__(self, /)
     |      Return len(self).
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  count(self, value, /)
     |      Return number of occurrences of value.
     |
     |  index(self, value, start=0, stop=9223372036854775807, /)
     |      Return first index of value.
     |
     |      Raises ValueError if the value is not present.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.tuple:
     |
     |  __class_getitem__(...)
     |      See PEP 585
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __format__(self, format_spec)
     |      Default object formatter.
     |
     |      Return str(self) if format_spec is empty. Raise TypeError otherwise.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  __str__(self)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class SSLCertVerificationError(SSLError, builtins.ValueError)
     |  A certificate could not be verified.
     |
     |  Method resolution order:
     |      SSLCertVerificationError
     |      SSLError
     |      builtins.OSError
     |      builtins.ValueError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSLError:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class SSLContext(_ssl._SSLContext)
     |  SSLContext(protocol=None, *args, **kwargs)
     |
     |  An SSLContext holds various SSL-related configuration options and
     |  data, such as certificates and possibly a private key.
     |
     |  Method resolution order:
     |      SSLContext
     |      _ssl._SSLContext
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  load_default_certs(self, purpose=<Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1')>)
     |
     |  set_alpn_protocols(self, alpn_protocols)
     |
     |  set_npn_protocols(self, npn_protocols)
     |
     |  set_servername_callback(self, server_name_callback)
     |
     |  wrap_bio(self, incoming, outgoing, server_side=False, server_hostname=None, session=None)
     |
     |  wrap_socket(self, sock, server_side=False, do_handshake_on_connect=True, suppress_ragged_eofs=True, server_hostname=None, session=None)
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(cls, protocol=None, *args, **kwargs)
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  protocol
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  hostname_checks_common_name
     |
     |  maximum_version
     |
     |  minimum_version
     |
     |  options
     |
     |  verify_flags
     |
     |  verify_mode
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  sslobject_class = <class 'ssl.SSLObject'>
     |      This class implements an interface on top of a low-level SSL object as
     |      implemented by OpenSSL. This object captures the state of an SSL connection
     |      but does not provide any network IO itself. IO needs to be performed
     |      through separate "BIO" objects which are OpenSSL's IO abstraction layer.
     |
     |      This class does not have a public constructor. Instances are returned by
     |      ``SSLContext.wrap_bio``. This class is typically used by framework authors
     |      that want to implement asynchronous IO for SSL through memory buffers.
     |
     |      When compared to ``SSLSocket``, this object lacks the following features:
     |
     |       * Any form of network IO, including methods such as ``recv`` and ``send``.
     |       * The ``do_handshake_on_connect`` and ``suppress_ragged_eofs`` machinery.
     |
     |
     |  sslsocket_class = <class 'ssl.SSLSocket'>
     |      This class implements a subtype of socket.socket that wraps
     |      the underlying OS socket in an SSL context when necessary, and
     |      provides read and write methods over that channel.
     |
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _ssl._SSLContext:
     |
     |  cert_store_stats(self, /)
     |      Returns quantities of loaded X.509 certificates.
     |
     |      X.509 certificates with a CA extension and certificate revocation lists
     |      inside the context's cert store.
     |
     |      NOTE: Certificates in a capath directory aren't loaded unless they have
     |      been used at least once.
     |
     |  get_ca_certs(self, /, binary_form=False)
     |      Returns a list of dicts with information of loaded CA certs.
     |
     |      If the optional argument is True, returns a DER-encoded copy of the CA
     |      certificate.
     |
     |      NOTE: Certificates in a capath directory aren't loaded unless they have
     |      been used at least once.
     |
     |  get_ciphers(self, /)
     |
     |  load_cert_chain(self, /, certfile, keyfile=None, password=None)
     |
     |  load_dh_params(self, path, /)
     |
     |  load_verify_locations(self, /, cafile=None, capath=None, cadata=None)
     |
     |  session_stats(self, /)
     |
     |  set_ciphers(self, cipherlist, /)
     |
     |  set_default_verify_paths(self, /)
     |
     |  set_ecdh_curve(self, name, /)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _ssl._SSLContext:
     |
     |  check_hostname
     |
     |  keylog_filename
     |
     |  num_tickets
     |      Control the number of TLSv1.3 session tickets
     |
     |  post_handshake_auth
     |
     |  security_level
     |      The current security level
     |
     |  sni_callback
     |      Set a callback that will be called when a server name is provided by the SSL/TLS client in the SNI extension.
     |
     |      If the argument is None then the callback is disabled. The method is called
     |      with the SSLSocket, the server name as a string, and the SSLContext object.
     |      See RFC 6066 for details of the SNI extension.

    class SSLEOFError(SSLError)
     |  SSL/TLS connection terminated abruptly.
     |
     |  Method resolution order:
     |      SSLEOFError
     |      SSLError
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSLError:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class SSLError(builtins.OSError)
     |  An error occurred in the SSL implementation.
     |
     |  Method resolution order:
     |      SSLError
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class SSLErrorNumber(enum.IntEnum)
     |  SSLErrorNumber(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      SSLErrorNumber
     |      enum.IntEnum
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  SSL_ERROR_EOF = <SSLErrorNumber.SSL_ERROR_EOF: 8>
     |
     |  SSL_ERROR_INVALID_ERROR_CODE = <SSLErrorNumber.SSL_ERROR_INVALID_ERROR...
     |
     |  SSL_ERROR_SSL = <SSLErrorNumber.SSL_ERROR_SSL: 1>
     |
     |  SSL_ERROR_SYSCALL = <SSLErrorNumber.SSL_ERROR_SYSCALL: 5>
     |
     |  SSL_ERROR_WANT_CONNECT = <SSLErrorNumber.SSL_ERROR_WANT_CONNECT: 7>
     |
     |  SSL_ERROR_WANT_READ = <SSLErrorNumber.SSL_ERROR_WANT_READ: 2>
     |
     |  SSL_ERROR_WANT_WRITE = <SSLErrorNumber.SSL_ERROR_WANT_WRITE: 3>
     |
     |  SSL_ERROR_WANT_X509_LOOKUP = <SSLErrorNumber.SSL_ERROR_WANT_X509_LOOKU...
     |
     |  SSL_ERROR_ZERO_RETURN = <SSLErrorNumber.SSL_ERROR_ZERO_RETURN: 6>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntEnum:
     |
     |  __repr__(self) from enum.Enum
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __and__(self, value, /)
     |      Return self&value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __invert__(self, /)
     |      ~self
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __or__(self, value, /)
     |      Return self|value.
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rand__(self, value, /)
     |      Return value&self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __ror__(self, value, /)
     |      Return value|self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __rxor__(self, value, /)
     |      Return value^self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  __xor__(self, value, /)
     |      Return self^value.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class SSLObject(builtins.object)
     |  SSLObject(*args, **kwargs)
     |
     |  This class implements an interface on top of a low-level SSL object as
     |  implemented by OpenSSL. This object captures the state of an SSL connection
     |  but does not provide any network IO itself. IO needs to be performed
     |  through separate "BIO" objects which are OpenSSL's IO abstraction layer.
     |
     |  This class does not have a public constructor. Instances are returned by
     |  ``SSLContext.wrap_bio``. This class is typically used by framework authors
     |  that want to implement asynchronous IO for SSL through memory buffers.
     |
     |  When compared to ``SSLSocket``, this object lacks the following features:
     |
     |   * Any form of network IO, including methods such as ``recv`` and ``send``.
     |   * The ``do_handshake_on_connect`` and ``suppress_ragged_eofs`` machinery.
     |
     |  Methods defined here:
     |
     |  __init__(self, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  cipher(self)
     |      Return the currently selected cipher as a 3-tuple ``(name,
     |      ssl_version, secret_bits)``.
     |
     |  compression(self)
     |      Return the current compression algorithm in use, or ``None`` if
     |      compression was not negotiated or not supported by one of the peers.
     |
     |  do_handshake(self)
     |      Start the SSL/TLS handshake.
     |
     |  get_channel_binding(self, cb_type='tls-unique')
     |      Get channel binding data for current connection.  Raise ValueError
     |      if the requested `cb_type` is not supported.  Return bytes of the data
     |      or None if the data is not available (e.g. before the handshake).
     |
     |  getpeercert(self, binary_form=False)
     |      Returns a formatted version of the data in the certificate provided
     |      by the other end of the SSL channel.
     |
     |      Return None if no certificate was provided, {} if a certificate was
     |      provided, but not validated.
     |
     |  pending(self)
     |      Return the number of bytes that can be read immediately.
     |
     |  read(self, len=1024, buffer=None)
     |      Read up to 'len' bytes from the SSL object and return them.
     |
     |      If 'buffer' is provided, read into this buffer and return the number of
     |      bytes read.
     |
     |  selected_alpn_protocol(self)
     |      Return the currently selected ALPN protocol as a string, or ``None``
     |      if a next protocol was not negotiated or if ALPN is not supported by one
     |      of the peers.
     |
     |  selected_npn_protocol(self)
     |      Return the currently selected NPN protocol as a string, or ``None``
     |      if a next protocol was not negotiated or if NPN is not supported by one
     |      of the peers.
     |
     |  shared_ciphers(self)
     |      Return a list of ciphers shared by the client during the handshake or
     |      None if this is not a valid server connection.
     |
     |  unwrap(self)
     |      Start the SSL shutdown handshake.
     |
     |  verify_client_post_handshake(self)
     |
     |  version(self)
     |      Return a string identifying the protocol version used by the
     |      current SSL channel.
     |
     |  write(self, data)
     |      Write 'data' to the SSL object and return the number of bytes
     |      written.
     |
     |      The 'data' argument must support the buffer interface.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  server_hostname
     |      The currently set server hostname (for SNI), or ``None`` if no
     |      server hostname is set.
     |
     |  server_side
     |      Whether this is a server-side socket.
     |
     |  session_reused
     |      Was the client session reused during handshake
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  context
     |      The SSLContext that is currently in use.
     |
     |  session
     |      The SSLSession for client socket.

    class SSLSocket(socket.socket)
     |  SSLSocket(*args, **kwargs)
     |
     |  This class implements a subtype of socket.socket that wraps
     |  the underlying OS socket in an SSL context when necessary, and
     |  provides read and write methods over that channel.
     |
     |  Method resolution order:
     |      SSLSocket
     |      socket.socket
     |      _socket.socket
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __init__(self, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  accept(self)
     |      Accepts a new connection from a remote client, and returns
     |      a tuple containing that new connection wrapped with a server-side
     |      SSL channel, and the address of the remote client.
     |
     |  cipher(self)
     |      Return the currently selected cipher as a 3-tuple ``(name,
     |      ssl_version, secret_bits)``.
     |
     |  compression(self)
     |      Return the current compression algorithm in use, or ``None`` if
     |      compression was not negotiated or not supported by one of the peers.
     |
     |  connect(self, addr)
     |      Connects to remote ADDR, and then wraps the connection in
     |      an SSL channel.
     |
     |  connect_ex(self, addr)
     |      Connects to remote ADDR, and then wraps the connection in
     |      an SSL channel.
     |
     |  do_handshake(self, block=False)
     |      Start the SSL/TLS handshake.
     |
     |  dup(self)
     |      dup() -> socket object
     |
     |      Duplicate the socket. Return a new socket object connected to the same
     |      system resource. The new socket is non-inheritable.
     |
     |  get_channel_binding(self, cb_type='tls-unique')
     |      Get channel binding data for current connection.  Raise ValueError
     |      if the requested `cb_type` is not supported.  Return bytes of the data
     |      or None if the data is not available (e.g. before the handshake).
     |
     |  getpeercert(self, binary_form=False)
     |      Returns a formatted version of the data in the certificate provided
     |      by the other end of the SSL channel.
     |
     |      Return None if no certificate was provided, {} if a certificate was
     |      provided, but not validated.
     |
     |  pending(self)
     |      Return the number of bytes that can be read immediately.
     |
     |  read(self, len=1024, buffer=None)
     |      Read up to LEN bytes and return them.
     |      Return zero-length string on EOF.
     |
     |  recv(self, buflen=1024, flags=0)
     |      recv(buffersize[, flags]) -> data
     |
     |      Receive up to buffersize bytes from the socket.  For the optional flags
     |      argument, see the Unix manual.  When no data is available, block until
     |      at least one byte is available or until the remote end is closed.  When
     |      the remote end is closed and all data is read, return the empty string.
     |
     |  recv_into(self, buffer, nbytes=None, flags=0)
     |      recv_into(buffer, [nbytes[, flags]]) -> nbytes_read
     |
     |      A version of recv() that stores its data into a buffer rather than creating
     |      a new string.  Receive up to buffersize bytes from the socket.  If buffersize
     |      is not specified (or 0), receive up to the size available in the given buffer.
     |
     |      See recv() for documentation about the flags.
     |
     |  recvfrom(self, buflen=1024, flags=0)
     |      recvfrom(buffersize[, flags]) -> (data, address info)
     |
     |      Like recv(buffersize, flags) but also return the sender's address info.
     |
     |  recvfrom_into(self, buffer, nbytes=None, flags=0)
     |      recvfrom_into(buffer[, nbytes[, flags]]) -> (nbytes, address info)
     |
     |      Like recv_into(buffer[, nbytes[, flags]]) but also return the sender's address info.
     |
     |  recvmsg(self, *args, **kwargs)
     |
     |  recvmsg_into(self, *args, **kwargs)
     |
     |  selected_alpn_protocol(self)
     |      Return the currently selected ALPN protocol as a string, or ``None``
     |      if a next protocol was not negotiated or if ALPN is not supported by one
     |      of the peers.
     |
     |  selected_npn_protocol(self)
     |      Return the currently selected NPN protocol as a string, or ``None``
     |      if a next protocol was not negotiated or if NPN is not supported by one
     |      of the peers.
     |
     |  send(self, data, flags=0)
     |      send(data[, flags]) -> count
     |
     |      Send a data string to the socket.  For the optional flags
     |      argument, see the Unix manual.  Return the number of bytes
     |      sent; this may be less than len(data) if the network is busy.
     |
     |  sendall(self, data, flags=0)
     |      sendall(data[, flags])
     |
     |      Send a data string to the socket.  For the optional flags
     |      argument, see the Unix manual.  This calls send() repeatedly
     |      until all data is sent.  If an error occurs, it's impossible
     |      to tell how much data has been sent.
     |
     |  sendfile(self, file, offset=0, count=None)
     |      Send a file, possibly by using os.sendfile() if this is a
     |      clear-text socket.  Return the total number of bytes sent.
     |
     |  sendmsg(self, *args, **kwargs)
     |
     |  sendto(self, data, flags_or_addr, addr=None)
     |      sendto(data[, flags], address) -> count
     |
     |      Like send(data, flags) but allows specifying the destination address.
     |      For IP sockets, the address is a pair (hostaddr, port).
     |
     |  shared_ciphers(self)
     |      Return a list of ciphers shared by the client during the handshake or
     |      None if this is not a valid server connection.
     |
     |  shutdown(self, how)
     |      shutdown(flag)
     |
     |      Shut down the reading side of the socket (flag == SHUT_RD), the writing side
     |      of the socket (flag == SHUT_WR), or both ends (flag == SHUT_RDWR).
     |
     |  unwrap(self)
     |      Start the SSL shutdown handshake.
     |
     |  verify_client_post_handshake(self)
     |
     |  version(self)
     |      Return a string identifying the protocol version used by the
     |      current SSL channel.
     |
     |  write(self, data)
     |      Write DATA to the underlying SSL channel.  Returns
     |      number of bytes of DATA actually transmitted.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties defined here:
     |
     |  session_reused
     |      Was the client session reused during handshake
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  __dict__
     |      dictionary for instance variables
     |
     |  context
     |      The SSLContext that is currently in use.
     |
     |  session
     |      The SSLSession for client socket.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from socket.socket:
     |
     |  __enter__(self)
     |
     |  __exit__(self, *args)
     |
     |  __getstate__(self)
     |      Helper for pickle.
     |
     |  __repr__(self)
     |      Wrap __repr__() to reveal the real class name and socket
     |      address(es).
     |
     |  close(self)
     |      close()
     |
     |      Close the socket.  It cannot be used after this call.
     |
     |  detach(self)
     |      detach() -> file descriptor
     |
     |      Close the socket object without closing the underlying file descriptor.
     |      The object cannot be used after this call, but the file descriptor
     |      can be reused for other purposes.  The file descriptor is returned.
     |
     |  get_inheritable(self)
     |      Get the inheritable flag of the socket
     |
     |  makefile(self, mode='r', buffering=None, *, encoding=None, errors=None, newline=None)
     |      makefile(...) -> an I/O stream connected to the socket
     |
     |      The arguments are as for io.open() after the filename, except the only
     |      supported mode values are 'r' (default), 'w', 'b', or a combination of
     |      those.
     |
     |  set_inheritable(self, inheritable)
     |      Set the inheritable flag of the socket
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from socket.socket:
     |
     |  family
     |      Read-only access to the address family for this socket.
     |
     |  type
     |      Read-only access to the socket type.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from socket.socket:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from _socket.socket:
     |
     |  __del__(...)
     |
     |  bind(...)
     |      bind(address)
     |
     |      Bind the socket to a local address.  For IP sockets, the address is a
     |      pair (host, port); the host must refer to the local host. For raw packet
     |      sockets the address is a tuple (ifname, proto [,pkttype [,hatype [,addr]]])
     |
     |  fileno(...)
     |      fileno() -> integer
     |
     |      Return the integer file descriptor of the socket.
     |
     |  getblocking(...)
     |      getblocking()
     |
     |      Returns True if socket is in blocking mode, or False if it
     |      is in non-blocking mode.
     |
     |  getpeername(...)
     |      getpeername() -> address info
     |
     |      Return the address of the remote endpoint.  For IP sockets, the address
     |      info is a pair (hostaddr, port).
     |
     |  getsockname(...)
     |      getsockname() -> address info
     |
     |      Return the address of the local endpoint. The format depends on the
     |      address family. For IPv4 sockets, the address info is a pair
     |      (hostaddr, port). For IPv6 sockets, the address info is a 4-tuple
     |      (hostaddr, port, flowinfo, scope_id).
     |
     |  getsockopt(...)
     |      getsockopt(level, option[, buffersize]) -> value
     |
     |      Get a socket option.  See the Unix manual for level and option.
     |      If a nonzero buffersize argument is given, the return value is a
     |      string of that length; otherwise it is an integer.
     |
     |  gettimeout(...)
     |      gettimeout() -> timeout
     |
     |      Returns the timeout in seconds (float) associated with socket
     |      operations. A timeout of None indicates that timeouts on socket
     |      operations are disabled.
     |
     |  ioctl(...)
     |      ioctl(cmd, option) -> long
     |
     |      Control the socket with WSAIoctl syscall. Currently supported 'cmd' values are
     |      SIO_RCVALL:  'option' must be one of the socket.RCVALL_* constants.
     |      SIO_KEEPALIVE_VALS:  'option' is a tuple of (onoff, timeout, interval).
     |      SIO_LOOPBACK_FAST_PATH: 'option' is a boolean value, and is disabled by default
     |
     |  listen(...)
     |      listen([backlog])
     |
     |      Enable a server to accept connections.  If backlog is specified, it must be
     |      at least 0 (if it is lower, it is set to 0); it specifies the number of
     |      unaccepted connections that the system will allow before refusing new
     |      connections. If not specified, a default reasonable value is chosen.
     |
     |  setblocking(...)
     |      setblocking(flag)
     |
     |      Set the socket to blocking (flag is true) or non-blocking (false).
     |      setblocking(True) is equivalent to settimeout(None);
     |      setblocking(False) is equivalent to settimeout(0.0).
     |
     |  setsockopt(...)
     |      setsockopt(level, option, value: int)
     |      setsockopt(level, option, value: buffer)
     |      setsockopt(level, option, None, optlen: int)
     |
     |      Set a socket option.  See the Unix manual for level and option.
     |      The value argument can either be an integer, a string buffer, or
     |      None, optlen.
     |
     |  settimeout(...)
     |      settimeout(timeout)
     |
     |      Set a timeout on socket operations.  'timeout' can be a float,
     |      giving in seconds, or None.  Setting a timeout of None disables
     |      the timeout feature and is equivalent to setblocking(1).
     |      Setting a timeout of zero is the same as setblocking(0).
     |
     |  share(...)
     |      share(process_id) -> bytes
     |
     |      Share the socket with another process.  The target process id
     |      must be provided and the resulting bytes object passed to the target
     |      process.  There the shared socket can be instantiated by calling
     |      socket.fromshare().
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from _socket.socket:
     |
     |  __new__(*args, **kwargs) class method of _socket.socket
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from _socket.socket:
     |
     |  proto
     |      the socket protocol
     |
     |  timeout
     |      the socket timeout

    class SSLSyscallError(SSLError)
     |  System error when attempting SSL operation.
     |
     |  Method resolution order:
     |      SSLSyscallError
     |      SSLError
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSLError:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class SSLWantReadError(SSLError)
     |  Non-blocking SSL socket needs to read more data
     |  before the requested operation can be completed.
     |
     |  Method resolution order:
     |      SSLWantReadError
     |      SSLError
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSLError:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class SSLWantWriteError(SSLError)
     |  Non-blocking SSL socket needs to write more data
     |  before the requested operation can be completed.
     |
     |  Method resolution order:
     |      SSLWantWriteError
     |      SSLError
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSLError:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class SSLZeroReturnError(SSLError)
     |  SSL/TLS session closed cleanly.
     |
     |  Method resolution order:
     |      SSLZeroReturnError
     |      SSLError
     |      builtins.OSError
     |      builtins.Exception
     |      builtins.BaseException
     |      builtins.object
     |
     |  Data descriptors defined here:
     |
     |  __weakref__
     |      list of weak references to the object
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from SSLError:
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.OSError:
     |
     |  __init__(self, /, *args, **kwargs)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce__(...)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from builtins.OSError:
     |
     |  __new__(*args, **kwargs) class method of builtins.OSError
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.OSError:
     |
     |  characters_written
     |
     |  errno
     |      POSIX exception code
     |
     |  filename
     |      exception filename
     |
     |  filename2
     |      second exception filename
     |
     |  strerror
     |      exception strerror
     |
     |  winerror
     |      Win32 exception code
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.BaseException:
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __setstate__(...)
     |
     |  add_note(...)
     |      Exception.add_note(note) --
     |      add a note to the exception
     |
     |  with_traceback(...)
     |      Exception.with_traceback(tb) --
     |      set self.__traceback__ to tb and return self.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.BaseException:
     |
     |  __cause__
     |      exception cause
     |
     |  __context__
     |      exception context
     |
     |  __dict__
     |
     |  __suppress_context__
     |
     |  __traceback__
     |
     |  args

    class TLSVersion(enum.IntEnum)
     |  TLSVersion(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      TLSVersion
     |      enum.IntEnum
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  MAXIMUM_SUPPORTED = <TLSVersion.MAXIMUM_SUPPORTED: -1>
     |
     |  MINIMUM_SUPPORTED = <TLSVersion.MINIMUM_SUPPORTED: -2>
     |
     |  SSLv3 = <TLSVersion.SSLv3: 768>
     |
     |  TLSv1 = <TLSVersion.TLSv1: 769>
     |
     |  TLSv1_1 = <TLSVersion.TLSv1_1: 770>
     |
     |  TLSv1_2 = <TLSVersion.TLSv1_2: 771>
     |
     |  TLSv1_3 = <TLSVersion.TLSv1_3: 772>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntEnum:
     |
     |  __repr__(self) from enum.Enum
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __and__(self, value, /)
     |      Return self&value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __invert__(self, /)
     |      ~self
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __or__(self, value, /)
     |      Return self|value.
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rand__(self, value, /)
     |      Return value&self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __ror__(self, value, /)
     |      Return value|self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __rxor__(self, value, /)
     |      Return value^self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  __xor__(self, value, /)
     |      Return self^value.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class VerifyFlags(enum.IntFlag)
     |  VerifyFlags(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      VerifyFlags
     |      enum.IntFlag
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Flag
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __and__(self, other) from enum.Flag
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __invert__(self) from enum.Flag
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  __or__(self, other) from enum.Flag
     |      Return self|value.
     |
     |  __rand__ = __and__(self, other)
     |
     |  __ror__ = __or__(self, other)
     |
     |  __rxor__ = __xor__(self, other)
     |
     |  __xor__(self, other) from enum.Flag
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  VERIFY_ALLOW_PROXY_CERTS = <VerifyFlags.VERIFY_ALLOW_PROXY_CERTS: 64>
     |
     |  VERIFY_CRL_CHECK_LEAF = <VerifyFlags.VERIFY_CRL_CHECK_LEAF: 4>
     |
     |  VERIFY_X509_PARTIAL_CHAIN = <VerifyFlags.VERIFY_X509_PARTIAL_CHAIN: 52...
     |
     |  VERIFY_X509_STRICT = <VerifyFlags.VERIFY_X509_STRICT: 32>
     |
     |  VERIFY_X509_TRUSTED_FIRST = <VerifyFlags.VERIFY_X509_TRUSTED_FIRST: 32...
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntFlag:
     |
     |  __repr__(self) from enum.Flag
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Flag:
     |
     |  __contains__(self, other)
     |      Returns True if self has at least the same flags set as other.
     |
     |  __iter__(self)
     |      Returns flags in definition order.
     |
     |  __len__(self)
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

    class VerifyMode(enum.IntEnum)
     |  VerifyMode(*values)
     |
     |  An enumeration.
     |
     |  Method resolution order:
     |      VerifyMode
     |      enum.IntEnum
     |      builtins.int
     |      enum.ReprEnum
     |      enum.Enum
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  __format__(self, format_spec, /) from builtins.int
     |      Convert to a string according to format_spec.
     |
     |  __new__(cls, value) from enum.Enum
     |      Create and return a new object.  See help(type) for accurate signature.
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  CERT_NONE = <VerifyMode.CERT_NONE: 0>
     |
     |  CERT_OPTIONAL = <VerifyMode.CERT_OPTIONAL: 1>
     |
     |  CERT_REQUIRED = <VerifyMode.CERT_REQUIRED: 2>
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.IntEnum:
     |
     |  __repr__(self) from enum.Enum
     |      Return repr(self).
     |
     |  __str__ = __repr__(self, /) from builtins.int
     |      Return repr(self).
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from builtins.int:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __and__(self, value, /)
     |      Return self&value.
     |
     |  __bool__(self, /)
     |      True if self else False
     |
     |  __ceil__(...)
     |      Ceiling of an Integral returns itself.
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __float__(self, /)
     |      float(self)
     |
     |  __floor__(...)
     |      Flooring an Integral returns itself.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __getnewargs__(self, /)
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __index__(self, /)
     |      Return self converted to an integer, if self is suitable for use as an index into a list.
     |
     |  __int__(self, /)
     |      int(self)
     |
     |  __invert__(self, /)
     |      ~self
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lshift__(self, value, /)
     |      Return self<<value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __or__(self, value, /)
     |      Return self|value.
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __pow__(self, value, mod=None, /)
     |      Return pow(self, value, mod).
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rand__(self, value, /)
     |      Return value&self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rlshift__(self, value, /)
     |      Return value<<self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __ror__(self, value, /)
     |      Return value|self.
     |
     |  __round__(...)
     |      Rounding an Integral returns itself.
     |
     |      Rounding with an ndigits argument also returns an integer.
     |
     |  __rpow__(self, value, mod=None, /)
     |      Return pow(value, self, mod).
     |
     |  __rrshift__(self, value, /)
     |      Return value>>self.
     |
     |  __rshift__(self, value, /)
     |      Return self>>value.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __rxor__(self, value, /)
     |      Return value^self.
     |
     |  __sizeof__(self, /)
     |      Returns size in memory, in bytes.
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  __trunc__(...)
     |      Truncating an Integral returns itself.
     |
     |  __xor__(self, value, /)
     |      Return self^value.
     |
     |  as_integer_ratio(self, /)
     |      Return a pair of integers, whose ratio is equal to the original int.
     |
     |      The ratio is in lowest terms and has a positive denominator.
     |
     |      >>> (10).as_integer_ratio()
     |      (10, 1)
     |      >>> (-10).as_integer_ratio()
     |      (-10, 1)
     |      >>> (0).as_integer_ratio()
     |      (0, 1)
     |
     |  bit_count(self, /)
     |      Number of ones in the binary representation of the absolute value of self.
     |
     |      Also known as the population count.
     |
     |      >>> bin(13)
     |      '0b1101'
     |      >>> (13).bit_count()
     |      3
     |
     |  bit_length(self, /)
     |      Number of bits necessary to represent self in binary.
     |
     |      >>> bin(37)
     |      '0b100101'
     |      >>> (37).bit_length()
     |      6
     |
     |  conjugate(...)
     |      Returns self, the complex conjugate of any int.
     |
     |  is_integer(self, /)
     |      Returns True. Exists for duck type compatibility with float.is_integer.
     |
     |  to_bytes(self, /, length=1, byteorder='big', *, signed=False)
     |      Return an array of bytes representing an integer.
     |
     |      length
     |        Length of bytes object to use.  An OverflowError is raised if the
     |        integer is not representable with the given number of bytes.  Default
     |        is length 1.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Determines whether two's complement is used to represent the integer.
     |        If signed is False and a negative integer is given, an OverflowError
     |        is raised.
     |
     |  ----------------------------------------------------------------------
     |  Class methods inherited from builtins.int:
     |
     |  from_bytes(bytes, byteorder='big', *, signed=False)
     |      Return the integer represented by the given array of bytes.
     |
     |      bytes
     |        Holds the array of bytes to convert.  The argument must either
     |        support the buffer protocol or be an iterable object producing bytes.
     |        Bytes and bytearray are examples of built-in objects that support the
     |        buffer protocol.
     |      byteorder
     |        The byte order used to represent the integer.  If byteorder is 'big',
     |        the most significant byte is at the beginning of the byte array.  If
     |        byteorder is 'little', the most significant byte is at the end of the
     |        byte array.  To request the native byte order of the host system, use
     |        `sys.byteorder' as the byte order value.  Default is to use 'big'.
     |      signed
     |        Indicates whether two's complement is used to represent the integer.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from builtins.int:
     |
     |  denominator
     |      the denominator of a rational number in lowest terms
     |
     |  imag
     |      the imaginary part of a complex number
     |
     |  numerator
     |      the numerator of a rational number in lowest terms
     |
     |  real
     |      the real part of a complex number
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from enum.Enum:
     |
     |  __dir__(self)
     |      Returns public methods and other interesting attributes.
     |
     |  __init__(self, *args, **kwds)
     |      Initialize self.  See help(type(self)) for accurate signature.
     |
     |  __reduce_ex__(self, proto)
     |      Helper for pickle.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from enum.Enum:
     |
     |  name
     |      The name of the Enum member.
     |
     |  value
     |      The value of the Enum member.
     |
     |  ----------------------------------------------------------------------
     |  Static methods inherited from enum.EnumType:
     |
     |  __contains__(value)
     |      Return True if `value` is in `cls`.
     |
     |      `value` is in `cls` if:
     |      1) `value` is a member of `cls`, or
     |      2) `value` is the value of one of the `cls`'s members.
     |
     |  __getitem__(name)
     |      Return the member matching `name`.
     |
     |  __iter__()
     |      Return members in definition order.
     |
     |  __len__()
     |      Return the number of members (no aliases)
     |
     |  ----------------------------------------------------------------------
     |  Readonly properties inherited from enum.EnumType:
     |
     |  __members__
     |      Returns a mapping of member name->value.
     |
     |      This mapping lists all enum members, including aliases. Note that this
     |      is a read-only view of the internal mapping.

FUNCTIONS
    DER_cert_to_PEM_cert(der_cert_bytes)
        Takes a certificate in binary DER format and returns the
        PEM version of it as a string.

    PEM_cert_to_DER_cert(pem_cert_string)
        Takes a certificate in ASCII PEM format and returns the
        DER-encoded version of it as a byte sequence

    RAND_add(string, entropy, /)
        Mix string into the OpenSSL PRNG state.

        entropy (a float) is a lower bound on the entropy contained in
        string.  See RFC 4086.

    RAND_bytes(n, /)
        Generate n cryptographically strong pseudo-random bytes.

    RAND_status()
        Returns True if the OpenSSL PRNG has been seeded with enough data and False if not.

        It is necessary to seed the PRNG with RAND_add() on some platforms before
        using the ssl() function.

    cert_time_to_seconds(cert_time)
        Return the time in seconds since the Epoch, given the timestring
        representing the "notBefore" or "notAfter" date from a certificate
        in ``"%b %d %H:%M:%S %Y %Z"`` strptime format (C locale).

        "notBefore" or "notAfter" dates must use UTC (RFC 5280).

        Month is one of: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
        UTC should be specified as GMT (see ASN1_TIME_print())

    create_default_context(purpose=<Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='1.3.6.1.5.5.7.3.1')>, *, cafile=None, capath=None, cadata=None)
        Create a SSLContext object with default settings.

        NOTE: The protocol and settings may change anytime without prior
              deprecation. The values represent a fair balance between maximum
              compatibility and security.

    enum_certificates(store_name)
        Retrieve certificates from Windows' cert store.

        store_name may be one of 'CA', 'ROOT' or 'MY'.  The system may provide
        more cert storages, too.  The function returns a list of (bytes,
        encoding_type, trust) tuples.  The encoding_type flag can be interpreted
        with X509_ASN_ENCODING or PKCS_7_ASN_ENCODING. The trust setting is either
        a set of OIDs or the boolean True.

    enum_crls(store_name)
        Retrieve CRLs from Windows' cert store.

        store_name may be one of 'CA', 'ROOT' or 'MY'.  The system may provide
        more cert storages, too.  The function returns a list of (bytes,
        encoding_type) tuples.  The encoding_type flag can be interpreted with
        X509_ASN_ENCODING or PKCS_7_ASN_ENCODING.

    get_default_verify_paths()
        Return paths to default cafile and capath.

    get_protocol_name(protocol_code)

    get_server_certificate(addr, ssl_version=<_SSLMethod.PROTOCOL_TLS_CLIENT: 16>, ca_certs=None, timeout=<object object at 0x000001BAA6308A10>)
        Retrieve the certificate from the server at the specified address,
        and return it as a PEM-encoded string.
        If 'ca_certs' is specified, validate the server cert against it.
        If 'ssl_version' is specified, use it in the connection attempt.
        If 'timeout' is specified, use it in the connection attempt.

DATA
    ALERT_DESCRIPTION_ACCESS_DENIED = <AlertDescription.ALERT_DESCRIPTION_...
    ALERT_DESCRIPTION_BAD_CERTIFICATE = <AlertDescription.ALERT_DESCRIPTIO...
    ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE = <AlertDescription.ALERT...
    ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE = <AlertDescription....
    ALERT_DESCRIPTION_BAD_RECORD_MAC = <AlertDescription.ALERT_DESCRIPTION...
    ALERT_DESCRIPTION_CERTIFICATE_EXPIRED = <AlertDescription.ALERT_DESCRI...
    ALERT_DESCRIPTION_CERTIFICATE_REVOKED = <AlertDescription.ALERT_DESCRI...
    ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN = <AlertDescription.ALERT_DESCRI...
    ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE = <AlertDescription.ALERT_D...
    ALERT_DESCRIPTION_CLOSE_NOTIFY = <AlertDescription.ALERT_DESCRIPTION_C...
    ALERT_DESCRIPTION_DECODE_ERROR = <AlertDescription.ALERT_DESCRIPTION_D...
    ALERT_DESCRIPTION_DECOMPRESSION_FAILURE = <AlertDescription.ALERT_DESC...
    ALERT_DESCRIPTION_DECRYPT_ERROR = <AlertDescription.ALERT_DESCRIPTION_...
    ALERT_DESCRIPTION_HANDSHAKE_FAILURE = <AlertDescription.ALERT_DESCRIPT...
    ALERT_DESCRIPTION_ILLEGAL_PARAMETER = <AlertDescription.ALERT_DESCRIPT...
    ALERT_DESCRIPTION_INSUFFICIENT_SECURITY = <AlertDescription.ALERT_DESC...
    ALERT_DESCRIPTION_INTERNAL_ERROR = <AlertDescription.ALERT_DESCRIPTION...
    ALERT_DESCRIPTION_NO_RENEGOTIATION = <AlertDescription.ALERT_DESCRIPTI...
    ALERT_DESCRIPTION_PROTOCOL_VERSION = <AlertDescription.ALERT_DESCRIPTI...
    ALERT_DESCRIPTION_RECORD_OVERFLOW = <AlertDescription.ALERT_DESCRIPTIO...
    ALERT_DESCRIPTION_UNEXPECTED_MESSAGE = <AlertDescription.ALERT_DESCRIP...
    ALERT_DESCRIPTION_UNKNOWN_CA = <AlertDescription.ALERT_DESCRIPTION_UNK...
    ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY = <AlertDescription.ALERT_DESCR...
    ALERT_DESCRIPTION_UNRECOGNIZED_NAME = <AlertDescription.ALERT_DESCRIPT...
    ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE = <AlertDescription.ALERT_DE...
    ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION = <AlertDescription.ALERT_DESC...
    ALERT_DESCRIPTION_USER_CANCELLED = <AlertDescription.ALERT_DESCRIPTION...
    CERT_NONE = <VerifyMode.CERT_NONE: 0>
    CERT_OPTIONAL = <VerifyMode.CERT_OPTIONAL: 1>
    CERT_REQUIRED = <VerifyMode.CERT_REQUIRED: 2>
    CHANNEL_BINDING_TYPES = ['tls-unique']
    HAS_ALPN = True
    HAS_ECDH = True
    HAS_NEVER_CHECK_COMMON_NAME = True
    HAS_NPN = False
    HAS_SNI = True
    HAS_SSLv2 = False
    HAS_SSLv3 = False
    HAS_TLSv1 = True
    HAS_TLSv1_1 = True
    HAS_TLSv1_2 = True
    HAS_TLSv1_3 = True
    OPENSSL_VERSION = 'OpenSSL 3.0.15 3 Sep 2024'
    OPENSSL_VERSION_INFO = (3, 0, 0, 15, 0)
    OPENSSL_VERSION_NUMBER = 805306608
    OP_ALL = <Options.OP_ALL: 2147483728>
    OP_CIPHER_SERVER_PREFERENCE = <Options.OP_CIPHER_SERVER_PREFERENCE: 41...
    OP_ENABLE_KTLS = <Options.OP_ENABLE_KTLS: 8>
    OP_ENABLE_MIDDLEBOX_COMPAT = <Options.OP_ENABLE_MIDDLEBOX_COMPAT: 1048...
    OP_IGNORE_UNEXPECTED_EOF = <Options.OP_IGNORE_UNEXPECTED_EOF: 128>
    OP_LEGACY_SERVER_CONNECT = <Options.OP_LEGACY_SERVER_CONNECT: 4>
    OP_NO_COMPRESSION = <Options.OP_NO_COMPRESSION: 131072>
    OP_NO_RENEGOTIATION = <Options.OP_NO_RENEGOTIATION: 1073741824>
    OP_NO_SSLv2 = <Options.OP_NO_SSLv2: 0>
    OP_NO_SSLv3 = <Options.OP_NO_SSLv3: 33554432>
    OP_NO_TICKET = <Options.OP_NO_TICKET: 16384>
    OP_NO_TLSv1 = <Options.OP_NO_TLSv1: 67108864>
    OP_NO_TLSv1_1 = <Options.OP_NO_TLSv1_1: 268435456>
    OP_NO_TLSv1_2 = <Options.OP_NO_TLSv1_2: 134217728>
    OP_NO_TLSv1_3 = <Options.OP_NO_TLSv1_3: 536870912>
    OP_SINGLE_DH_USE = <Options.OP_NO_SSLv2: 0>
    OP_SINGLE_ECDH_USE = <Options.OP_NO_SSLv2: 0>
    PEM_FOOTER = '-----END CERTIFICATE-----'
    PEM_HEADER = '-----BEGIN CERTIFICATE-----'
    PROTOCOL_SSLv23 = <_SSLMethod.PROTOCOL_TLS: 2>
    PROTOCOL_TLS = <_SSLMethod.PROTOCOL_TLS: 2>
    PROTOCOL_TLS_CLIENT = <_SSLMethod.PROTOCOL_TLS_CLIENT: 16>
    PROTOCOL_TLS_SERVER = <_SSLMethod.PROTOCOL_TLS_SERVER: 17>
    PROTOCOL_TLSv1 = <_SSLMethod.PROTOCOL_TLSv1: 3>
    PROTOCOL_TLSv1_1 = <_SSLMethod.PROTOCOL_TLSv1_1: 4>
    PROTOCOL_TLSv1_2 = <_SSLMethod.PROTOCOL_TLSv1_2: 5>
    SOCK_STREAM = <SocketKind.SOCK_STREAM: 1>
    SOL_SOCKET = 65535
    SO_TYPE = 4104
    SSL_ERROR_EOF = <SSLErrorNumber.SSL_ERROR_EOF: 8>
    SSL_ERROR_INVALID_ERROR_CODE = <SSLErrorNumber.SSL_ERROR_INVALID_ERROR...
    SSL_ERROR_SSL = <SSLErrorNumber.SSL_ERROR_SSL: 1>
    SSL_ERROR_SYSCALL = <SSLErrorNumber.SSL_ERROR_SYSCALL: 5>
    SSL_ERROR_WANT_CONNECT = <SSLErrorNumber.SSL_ERROR_WANT_CONNECT: 7>
    SSL_ERROR_WANT_READ = <SSLErrorNumber.SSL_ERROR_WANT_READ: 2>
    SSL_ERROR_WANT_WRITE = <SSLErrorNumber.SSL_ERROR_WANT_WRITE: 3>
    SSL_ERROR_WANT_X509_LOOKUP = <SSLErrorNumber.SSL_ERROR_WANT_X509_LOOKU...
    SSL_ERROR_ZERO_RETURN = <SSLErrorNumber.SSL_ERROR_ZERO_RETURN: 6>
    VERIFY_ALLOW_PROXY_CERTS = <VerifyFlags.VERIFY_ALLOW_PROXY_CERTS: 64>
    VERIFY_CRL_CHECK_CHAIN = <VerifyFlags.VERIFY_CRL_CHECK_CHAIN: 12>
    VERIFY_CRL_CHECK_LEAF = <VerifyFlags.VERIFY_CRL_CHECK_LEAF: 4>
    VERIFY_DEFAULT = <VerifyFlags.VERIFY_DEFAULT: 0>
    VERIFY_X509_PARTIAL_CHAIN = <VerifyFlags.VERIFY_X509_PARTIAL_CHAIN: 52...
    VERIFY_X509_STRICT = <VerifyFlags.VERIFY_X509_STRICT: 32>
    VERIFY_X509_TRUSTED_FIRST = <VerifyFlags.VERIFY_X509_TRUSTED_FIRST: 32...

FILE
    c:\users\youse\appdata\local\programs\python\python312\lib\ssl.py

smtplib.sys
Python Library Documentation: built-in module sys

NAME
    sys

MODULE REFERENCE
    https://docs.python.org/3.12/library/sys.html

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.

    Dynamic objects:

    argv -- command line arguments; argv[0] is the script pathname if known
    path -- module search path; path[0] is the script directory, else ''
    modules -- dictionary of loaded modules

    displayhook -- called to show results in an interactive session
    excepthook -- called to handle any uncaught exception other than SystemExit
      To customize printing in an interactive session or to install a custom
      top-level exception handler, assign other functions to replace these.

    stdin -- standard input file object; used by input()
    stdout -- standard output file object; used by print()
    stderr -- standard error object; used for error messages
      By assigning other file objects (or objects that behave like files)
      to these, it is possible to redirect all of the interpreter's I/O.

    last_exc - the last uncaught exception
      Only available in an interactive session after a
      traceback has been printed.
    last_type -- type of last uncaught exception
    last_value -- value of last uncaught exception
    last_traceback -- traceback of last uncaught exception
      These three are the (deprecated) legacy representation of last_exc.

    Static objects:

    builtin_module_names -- tuple of module names built into this interpreter
    copyright -- copyright notice pertaining to this interpreter
    exec_prefix -- prefix used to find the machine-specific Python library
    executable -- absolute path of the executable binary of the Python interpreter
    float_info -- a named tuple with information about the float implementation.
    float_repr_style -- string indicating the style of repr() output for floats
    hash_info -- a named tuple with information about the hash algorithm.
    hexversion -- version information encoded as a single integer
    implementation -- Python implementation information.
    int_info -- a named tuple with information about the int implementation.
    maxsize -- the largest supported length of containers.
    maxunicode -- the value of the largest Unicode code point
    platform -- platform identifier
    prefix -- prefix used to find the Python library
    thread_info -- a named tuple with information about the thread implementation.
    version -- the version of this interpreter as a string
    version_info -- version information as a named tuple
    dllhandle -- [Windows only] integer handle of the Python DLL
    winver -- [Windows only] version number of the Python DLL
    _enablelegacywindowsfsencoding -- [Windows only]
    __stdin__ -- the original stdin; don't touch!
    __stdout__ -- the original stdout; don't touch!
    __stderr__ -- the original stderr; don't touch!
    __displayhook__ -- the original displayhook; don't touch!
    __excepthook__ -- the original excepthook; don't touch!

    Functions:

    displayhook() -- print an object to the screen, and save it in builtins._
    excepthook() -- print an exception and its traceback to sys.stderr
    exception() -- return the current thread's active exception
    exc_info() -- return information about the current thread's active exception
    exit() -- exit the interpreter by raising SystemExit
    getdlopenflags() -- returns flags to be used for dlopen() calls
    getprofile() -- get the global profiling function
    getrefcount() -- return the reference count for an object (plus one :-)
    getrecursionlimit() -- return the max recursion depth for the interpreter
    getsizeof() -- return the size of an object in bytes
    gettrace() -- get the global debug tracing function
    setdlopenflags() -- set the flags to be used for dlopen() calls
    setprofile() -- set the global profiling function
    setrecursionlimit() -- set the max recursion depth for the interpreter
    settrace() -- set the global debug tracing function

SUBMODULES
    monitoring

FUNCTIONS
    __breakpointhook__ = breakpointhook(...)
        breakpointhook(*args, **kws)

        This hook function is called by built-in breakpoint().

    __displayhook__ = displayhook(object, /)
        Print an object to sys.stdout and also save it in builtins._

    __excepthook__ = excepthook(exctype, value, traceback, /)
        Handle an exception by displaying it with a traceback on sys.stderr.

    __unraisablehook__ = unraisablehook(unraisable, /)
        Handle an unraisable exception.

        The unraisable argument has the following attributes:

        * exc_type: Exception type.
        * exc_value: Exception value, can be None.
        * exc_traceback: Exception traceback, can be None.
        * err_msg: Error message, can be None.
        * object: Object causing the exception, can be None.

    activate_stack_trampoline(backend, /)
        Activate stack profiler trampoline *backend*.

    addaudithook(hook)
        Adds a new audit hook callback.

    audit(...)
        audit(event, *args)

        Passes the event to any audit hooks that are attached.

    breakpointhook(...)
        breakpointhook(*args, **kws)

        This hook function is called by built-in breakpoint().

    call_tracing(func, args, /)
        Call func(*args), while tracing is enabled.

        The tracing state is saved, and restored afterwards.  This is intended
        to be called from a debugger from a checkpoint, to recursively debug
        some other code.

    deactivate_stack_trampoline()
        Deactivate the current stack profiler trampoline backend.

        If no stack profiler is activated, this function has no effect.

    displayhook(object, /)
        Print an object to sys.stdout and also save it in builtins._

    exc_info()
        Return current exception information: (type, value, traceback).

        Return information about the most recent exception caught by an except
        clause in the current stack frame or in an older stack frame.

    excepthook(exctype, value, traceback, /)
        Handle an exception by displaying it with a traceback on sys.stderr.

    exception()
        Return the current exception.

        Return the most recent exception caught by an except clause
        in the current stack frame or in an older stack frame, or None
        if no such exception exists.

    exit(status=None, /)
        Exit the interpreter by raising SystemExit(status).

        If the status is omitted or None, it defaults to zero (i.e., success).
        If the status is an integer, it will be used as the system exit status.
        If it is another kind of object, it will be printed and the system
        exit status will be one (i.e., failure).

    get_asyncgen_hooks()
        Return the installed asynchronous generators hooks.

        This returns a namedtuple of the form (firstiter, finalizer).

    get_coroutine_origin_tracking_depth()
        Check status of origin tracking for coroutine objects in this thread.

    get_int_max_str_digits()
        Return the maximum string digits limit for non-binary int<->str conversions.

    getallocatedblocks()
        Return the number of memory blocks currently allocated.

    getdefaultencoding()
        Return the current default encoding used by the Unicode implementation.

    getfilesystemencodeerrors()
        Return the error mode used Unicode to OS filename conversion.

    getfilesystemencoding()
        Return the encoding used to convert Unicode filenames to OS filenames.

    getprofile()
        Return the profiling function set with sys.setprofile.

        See the profiler chapter in the library manual.

    getrecursionlimit()
        Return the current value of the recursion limit.

        The recursion limit is the maximum depth of the Python interpreter
        stack.  This limit prevents infinite recursion from causing an overflow
        of the C stack and crashing Python.

    getrefcount(object, /)
        Return the reference count of object.

        The count returned is generally one higher than you might expect,
        because it includes the (temporary) reference as an argument to
        getrefcount().

    getsizeof(...)
        getsizeof(object [, default]) -> int

        Return the size of object in bytes.

    getswitchinterval()
        Return the current thread switch interval; see sys.setswitchinterval().

    gettrace()
        Return the global debug tracing function set with sys.settrace.

        See the debugger chapter in the library manual.

    getunicodeinternedsize()
        Return the number of elements of the unicode interned dictionary

    getwindowsversion()
        Return info about the running version of Windows as a named tuple.

        The members are named: major, minor, build, platform, service_pack,
        service_pack_major, service_pack_minor, suite_mask, product_type and
        platform_version. For backward compatibility, only the first 5 items
        are available by indexing. All elements are numbers, except
        service_pack and platform_type which are strings, and platform_version
        which is a 3-tuple. Platform is always 2. Product_type may be 1 for a
        workstation, 2 for a domain controller, 3 for a server.
        Platform_version is a 3-tuple containing a version number that is
        intended for identifying the OS rather than feature detection.

    intern(string, /)
        ``Intern'' the given string.

        This enters the string in the (global) table of interned strings whose
        purpose is to speed up dictionary lookups. Return the string itself or
        the previously interned string object with the same value.

    is_finalizing()
        Return True if Python is exiting.

    is_stack_trampoline_active()
        Return *True* if a stack profiler trampoline is active.

    set_asyncgen_hooks(...)
        set_asyncgen_hooks([firstiter] [, finalizer])

        Set a finalizer for async generators objects.

    set_coroutine_origin_tracking_depth(depth)
        Enable or disable origin tracking for coroutine objects in this thread.

        Coroutine objects will track 'depth' frames of traceback information
        about where they came from, available in their cr_origin attribute.

        Set a depth of 0 to disable.

    set_int_max_str_digits(maxdigits)
        Set the maximum string digits limit for non-binary int<->str conversions.

    setprofile(...)
        setprofile(function)

        Set the profiling function.  It will be called on each function call
        and return.  See the profiler chapter in the library manual.

    setrecursionlimit(limit, /)
        Set the maximum depth of the Python interpreter stack to n.

        This limit prevents infinite recursion from causing an overflow of the C
        stack and crashing Python.  The highest possible limit is platform-
        dependent.

    setswitchinterval(interval, /)
        Set the ideal thread switching delay inside the Python interpreter.

        The actual frequency of switching threads can be lower if the
        interpreter executes long sequences of uninterruptible code
        (this is implementation-specific and workload-dependent).

        The parameter must represent the desired switching delay in seconds
        A typical value is 0.005 (5 milliseconds).

    settrace(...)
        settrace(function)

        Set the global debug tracing function.  It will be called on each
        function call.  See the debugger chapter in the library manual.

    unraisablehook(unraisable, /)
        Handle an unraisable exception.

        The unraisable argument has the following attributes:

        * exc_type: Exception type.
        * exc_value: Exception value, can be None.
        * exc_traceback: Exception traceback, can be None.
        * err_msg: Error message, can be None.
        * object: Object causing the exception, can be None.

DATA
    __stderr__ = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1...
    __stdin__ = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8...
    __stdout__ = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1...
    api_version = 1013
    argv = [r'f:\JoeyCodes\PyDocs\py_docs.py', '--worker', 'smtplib', r'F:...
    base_exec_prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Pyth...
    base_prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312...
    builtin_module_names = ('_abc', '_ast', '_bisect', '_blake2', '_codecs...
    byteorder = 'little'
    copyright = 'Copyright (c) 2001-2023 Python Software Foundati...ematis...
    dllhandle = 140727031824384
    dont_write_bytecode = False
    exec_prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312...
    executable = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312\...
    flags = sys.flags(debug=0, inspect=0, interactive=0, opt...ding=0, saf...
    float_info = sys.float_info(max=1.7976931348623157e+308, max_...epsilo...
    float_repr_style = 'short'
    hash_info = sys.hash_info(width=64, modulus=2305843009213693...iphash1...
    hexversion = 51119856
    implementation = namespace(name='cpython', cache_tag='cpython-312...as...
    int_info = sys.int_info(bits_per_digit=30, sizeof_digit=4, ..._str_dig...
    maxsize = 9223372036854775807
    maxunicode = 1114111
    meta_path = [<_distutils_hack.DistutilsMetaFinder object>, <class '_fr...
    modules = {'__future__': <module '__future__' from 'C:\\Users\\Youse\\...
    orig_argv = [r'C:\Users\Youse\AppData\Local\Programs\Python\Python312\...
    path = [r'f:\JoeyCodes\PyDocs', r'C:\Users\Youse\AppData\Local\Program...
    path_hooks = [<class 'zipimport.zipimporter'>, <function FileFinder.pa...
    path_importer_cache = {r'C:\Users\Youse\AppData\Local\Programs\Python\...
    platform = 'win32'
    platlibdir = 'DLLs'
    prefix = r'C:\Users\Youse\AppData\Local\Programs\Python\Python312'
    pycache_prefix = None
    stderr = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='cp1252'...
    stdin = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>
    stdlib_module_names = frozenset({'__future__', '_abc', '_aix_support',...
    stdout = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1252'...
    thread_info = sys.thread_info(name='nt', lock=None, version=None)
    version = '3.12.6 (tags/v3.12.6:a4a2d2b, Sep  6 2024, 20:11:23) [MSC v...
    version_info = sys.version_info(major=3, minor=12, micro=6, releaselev...
    warnoptions = []
    winver = '3.12'

FILE
    (built-in)