# Class Hierarchy

- `_extraBase`
  - `twisted.internet.selectreactor.SelectReactor` - A select() based reactor - runs on all POSIX platforms and on Win32.
    - `twisted.internet._glibbase.PortableGlibReactorBase` - Base class for GObject event loop reactors that works on Windows.
      - `twisted.internet.gireactor.PortableGIReactor` - Portable GObject Introspection event loop reactor.
        - `twisted.internet.gtk3reactor.PortableGtk3Reactor` - Portable GTK+ 3.x reactor.
      - `twisted.internet.gtk2reactor.PortableGtkReactor` - Reactor that works on Windows.
- `abc.ABC`
  - `twisted.internet.base.BaseConnector` - Basic implementation of `IConnector`.
    - `twisted.internet.tcp.Connector` - A `Connector` provides of `twisted.internet.interfaces.IConnector` for all POSIX-style reactors.
      - `twisted.internet.iocpreactor.tcp.Connector` - Undocumented
      - `twisted.internet.ssl.Connector` - Undocumented
    - `twisted.internet.unix.Connector` - Undocumented
  - `twisted.internet.defer._ConcurrencyPrimitive` - No class docstring; 0/1 instance variable, 2/7 methods documented
    - `twisted.internet.defer.DeferredLock` - A lock for event driven systems.
    - `twisted.internet.defer.DeferredSemaphore` - A semaphore for event driven systems.
  - `twisted.python.log._GlobalStartStopObserver` - Mix-in for global log observers that can start and stop.
    - `twisted.python.log.DefaultObserver` - Default observer.
    - `twisted.python.log.FileLogObserver` - Log observer that writes to a file-like object.
    - `twisted.python.log.PythonLoggingObserver` - Output twisted messages to Python standard library `logging` module.
- `AssertionError`
  - `twisted.internet.error.ReactorAlreadyInstalledError` - Could not install reactor because one is already installed.
  - `twisted.protocols.basic.StringTooLongError` - Raised when trying to send a string too long for a length prefixed protocol.
  - `twisted.trial.unittest.FailTest` - Raised to indicate the current test has failed to pass.
- `AttributeError`
  - `twisted.spread.pb.NoSuchMethod` - Raised if there is no such remote method
- `BaseException`
  - `twisted.internet.defer._DefGen_Return` - Undocumented
  - `twisted.python.failure.Failure` - A basic abstraction for an error that has occurred.
    - `twisted.spread.pb.CopiedFailure` - A `CopiedFailure` is a `pb.RemoteCopy` of a `failure.Failure` transferred via PB.
    - `twisted.spread.pb.CopyableFailure` - A `flavors.RemoteCopy` and `flavors.Copyable` version of `twisted.python.failure.Failure` for serialization.
- `code.InteractiveInterpreter`
  - `twisted.conch.manhole.ManholeInterpreter` - Interactive Interpreter with special output and Deferred support.
- `codecs.StreamReader`
  - `twisted.mail.imap4.StreamReader` - Undocumented
  - `twisted.mail.smtp.xtextStreamReader` - Undocumented
- `codecs.StreamWriter`
  - `twisted.mail.imap4.StreamWriter` - Undocumented
  - `twisted.mail.smtp.xtextStreamWriter` - Undocumented
- `collections.abc.Mapping`
  - `twisted.logger._format.CallMapping` - Read-only mapping that turns a `()`-suffix in key names into an invocation of the key rather than a lookup of the key.
- `collections.abc.Sequence`
  - `twisted.internet.testing.EventLoggingObserver` - `ILogObserver` That stores its events in a list for later inspection. This class is similar to `LimitedHistoryLogObserver` save that the internal buffer is public and intended for external inspection. The observer implements the sequence protocol to ease iteration of the events.
- `collections.UserDict`
  - `twisted.protocols.postfix.PostfixTCPMapDictServerFactory` - An in-memory dictionary factory for PostfixTCPMapServer.
- `constantly.Flags`
  - `twisted.internet.ssl.ProtocolNegotiationSupport` - `ProtocolNegotiationSupport` defines flags which are used to indicate the level of NPN/ALPN support provided by the TLS backend.
  - `twisted.pair.tuntap.TunnelFlags` - `TunnelFlags` defines more flags which are used to configure the behavior of a tunnel device.
- `constantly.Names`
  - `twisted.internet.endpoints.StandardErrorBehavior` - Constants used in ProcessEndpoint to decide what to do with stderr.
  - `twisted.internet.ssl.TLSVersion` - TLS versions that we can negotiate with the client/server.
  - `twisted.logger.LogLevel` - Constants describing log levels.
  - `twisted.logger.PredicateResult` - Predicate results.
  - `twisted.positioning.base.Angles` - The types of angles.
  - `twisted.positioning.base.Directions` - The four cardinal directions (north, east, south, west).
- `constantly.Values`
  - `twisted.positioning.nmea.GPGGAFixQualities` - The possible fix quality indications for GPGGA sentences.
  - `twisted.positioning.nmea.GPGLLGPRMCFixQualities` - The possible fix quality indications in GPGLL and GPRMC sentences.
  - `twisted.positioning.nmea.GPGSAFixTypes` - The possible fix types of a GPGSA sentence.
  - `twisted.protocols.haproxy._v2parser.NetFamily` - Values for the 'family' field.
  - `twisted.protocols.haproxy._v2parser.NetProtocol` - Values for 'protocol' field.
- `cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PrivateKey`
  - `twisted.conch.ssh._keys_pynacl.Ed25519PrivateKey` - Undocumented
- `cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PublicKey`
  - `twisted.conch.ssh._keys_pynacl.Ed25519PublicKey` - Undocumented
- `datetime.tzinfo`
  - `twisted.python._tzhelper.FixedOffsetTimeZone` - Represents a fixed timezone offset (without daylight saving time).
- `dict`
  - `twisted.internet.ssl.DistinguishedName` - Identify and describe an entity.
  - `twisted.protocols.amp.AmpBox` - I am a packet in the AMP protocol, much like a regular bytes:bytes dictionary.
    - `twisted.protocols.amp._SwitchBox` - Implementation detail of ProtocolSwitchCommand: I am an AmpBox which sets up state for the protocol to switch.
    - `twisted.protocols.amp._TLSBox` - I am an AmpBox that, upon being sent, initiates a TLS connection.
    - `twisted.protocols.amp.QuitBox` - I am an AmpBox that, upon being sent, terminates the connection.
  - `twisted.python.usage.Options` - An option list parser class
    - `twisted.application.app.ServerOptions` - No class docstring; 0/1 property, 0/1 instance variable, 0/5 class variable, 2/5 methods documented
      - `twisted.scripts._twistd_unix.ServerOptions` - No class docstring; 0/4 class variable, 1/2 method documented
      - `twisted.scripts._twistw.ServerOptions` - No class docstring; 0/2 class variable, 1/1 method documented
    - `twisted.application.twist._options.TwistOptions` - Command line options for `twist`.
    - `twisted.conch.client.options.ConchOptions` - No class docstring; 0/2 instance variable, 0/3 class variable, 5/6 methods documented
      - `twisted.conch.scripts.cftp.ClientOptions` - Undocumented
      - `twisted.conch.scripts.conch.ClientOptions` - No class docstring; 0/7 class variable, 3/4 methods documented
    - `twisted.conch.manhole_tap.Options` - Undocumented
    - `twisted.conch.scripts.ckeygen.GeneralOptions` - Undocumented
    - `twisted.conch.scripts.tkconch.GeneralOptions` - Undocumented
    - `twisted.conch.tap.Options` - No class docstring; 0/1 instance variable, 0/4 class variable, 1/2 method documented
    - `twisted.mail.tap.Options` - An options list parser for twistd mail.
    - `twisted.names.tap.Options` - No class docstring; 0/5 instance variable, 0/3 class variable, 4/6 methods documented
    - `twisted.runner.inetdtap.Options` - To use it, create a file named `sample-inetd.conf` with:
    - `twisted.runner.procmontap.Options` - Define the options accepted by the twistd procmon plugin.
    - `twisted.scripts.htmlizer.Options` - Undocumented
    - `twisted.scripts.trial.Options` - Options to the trial command line tool.
    - `twisted.tap.ftp.Options` - No class docstring; 0/4 class variable, 1/2 method documented
    - `twisted.tap.portforward.Options` - Undocumented
    - `twisted.tap.socks.Options` - Undocumented
    - `twisted.trial._dist.options.WorkerOptions` - Options forwarded to the trial distributed worker.
    - `twisted.web.tap.Options` - Define the options accepted by the twistd web plugin.
    - `twisted.words.tap.Options` - No class docstring; 0/5 class variable, 2/3 methods documented
    - `twisted.words.xmpproutertap.Options` - Undocumented
- `enum.Enum`
  - `twisted.internet.defer._Sentinel` - No summary
- `enum.IntEnum`
  - `twisted.application.runner._exit.ExitStatus` - Standard exit status codes for system programs.
- `Exception`
  - `twisted._threads.AlreadyQuit` - This worker worker is dead and cannot execute more instructions.
  - `twisted.application.runner._pidfile.AlreadyRunningError` - Process is already running.
  - `twisted.application.runner._pidfile.InvalidPIDFileError` - PID file contents are invalid.
  - `twisted.application.runner._pidfile.NoPIDFound` - No PID found in PID file.
  - `twisted.application.runner._pidfile.StalePIDFileError` - PID file contents are valid, but there is no process with the referenced PID.
  - `twisted.conch.endpoints.AuthenticationFailed` - An SSH session could not be established because authentication was not successful.
  - `twisted.conch.error.ConchError` - Undocumented
  - `twisted.conch.error.HostKeyChanged` - The host key of a remote host has changed.
  - `twisted.conch.error.IgnoreAuthentication` - This is thrown to let the UserAuthServer know it doesn't need to handle the authentication anymore.
  - `twisted.conch.error.InvalidEntry` - An entry in a known_hosts file could not be interpreted as a valid entry.
  - `twisted.conch.error.MissingKeyStoreError` - Raised if an SSHAgentServer starts receiving data without its factory providing a keys dict on which to read/write key data.
  - `twisted.conch.error.NotEnoughAuthentication` - This is thrown if the authentication is valid, but is not enough to successfully verify the user. i.e. don't retry this type of authentication, try another one.
  - `twisted.conch.error.UserRejectedKey` - The user interactively rejected a key.
  - `twisted.conch.insults.helper.ExpectationTimeout` - Undocumented
  - `twisted.conch.insults.window.YieldFocus` - Input focus manipulation exception
  - `twisted.conch.ssh.filetransfer.SFTPError` - No exception docstring; 1/1 property, 0/3 instance variable, 0/2 method documented
  - `twisted.conch.ssh.keys.BadFingerPrintFormat` - Raises when unsupported fingerprint formats are presented to fingerprint.
  - `twisted.conch.ssh.keys.BadKeyError` - Raised when a key isn't what we expected from it.
  - `twisted.conch.ssh.keys.BadSignatureAlgorithmError` - Raised when a public key signature algorithm name isn't defined for this public key format.
  - `twisted.conch.ssh.keys.EncryptedKeyError` - Raised when an encrypted key is presented to fromString/fromFile without a password.
  - `twisted.conch.ssh.keys.PassphraseNormalizationError` - Raised when a passphrase contains Unicode characters that cannot be normalized using the available Unicode character database.
  - `twisted.conch.stdio.UnexpectedOutputError` - Undocumented
  - `twisted.conch.telnet.TelnetError` - Undocumented
    - `twisted.conch.telnet.NegotiationError` - Undocumented
      - `twisted.conch.telnet.AlreadyDisabled` - Undocumented
      - `twisted.conch.telnet.AlreadyEnabled` - Undocumented
      - `twisted.conch.telnet.AlreadyNegotiating` - Undocumented
      - `twisted.conch.telnet.OptionRefused` - Undocumented
  - `twisted.cred.error.LoginFailed` - The user's request to log in failed for some reason.
    - `twisted.cred.error.LoginDenied` - The realm rejected this login for some reason.
    - `twisted.cred.error.UnauthorizedLogin` - The user was not authorized to log in.
      - `twisted.conch.error.ValidPublicKey` - Raised by public key checkers when they receive public key credentials that don't contain a signature at all, but are valid in every other way. (e.g. the public key matches one in the user's authorized_keys file).
    - `twisted.cred.error.UnhandledCredentials` - A type of credentials were passed in with no knowledge of how to check them. This is a server configuration error - it means that a protocol was connected to a Portal without a CredentialChecker that can check all of its potential authentication strategies.
  - `twisted.cred.error.Unauthorized` - Standard unauthorized error.
    - `twisted.cred.error.UnauthorizedLogin` - The user was not authorized to log in.
      - `twisted.conch.error.ValidPublicKey` - Raised by public key checkers when they receive public key credentials that don't contain a signature at all, but are valid in every other way. (e.g. the public key matches one in the user's authorized_keys file).
  - `twisted.cred.strcred.StrcredException` - Base exception class for strcred.
    - `twisted.cred.strcred.InvalidAuthArgumentString` - Raised by an authentication plugin when the argument string provided is formatted incorrectly.
    - `twisted.cred.strcred.InvalidAuthType` - Raised when a user provides an invalid identifier for the authentication plugin (known as the authType).
    - `twisted.cred.strcred.UnsupportedInterfaces` - Raised when an application is given a checker to use that does not provide any of the application's supported credentials interfaces.
  - `twisted.enterprise.adbapi.ConnectionLost` - This exception means that a db connection has been lost. Client code may try again.
  - `twisted.internet._sslverify.SimpleVerificationError` - Not a very useful verification error.
  - `twisted.internet.defer._InternalInlineCallbacksCancelledError` - A unique exception used only in `_cancellableInlineCallbacks` to verify that an `inlineCallbacks` is being cancelled as expected.
  - `twisted.internet.defer.AlreadyCalledError` - This error is raised when one of `Deferred.callback` or `Deferred.errback` is called after one of the two had already been called.
  - `twisted.internet.defer.AlreadyTryingToLockError` - Raised when `DeferredFilesystemLock.deferUntilLocked` is called twice on a single `DeferredFilesystemLock`.
  - `twisted.internet.defer.CancelledError` - This error is raised by default when a `Deferred` is cancelled.
  - `twisted.internet.defer.FirstError` - First error to occur in a `DeferredList` if `fireOnOneErrback` is set.
  - `twisted.internet.defer.QueueOverflow` - Undocumented
  - `twisted.internet.defer.QueueUnderflow` - Undocumented
  - `twisted.internet.defer.TimeoutError` - This error is raised by default when a `Deferred` times out.
    - `twisted.names.error.DNSQueryTimeoutError` - Indicates a lookup failed due to a timeout.
  - `twisted.internet.error.AlreadyListened` - An attempt was made to listen on a file descriptor which can only be listened on once.
  - `twisted.internet.error.BindError` - Undocumented
    - `twisted.internet.error.CannotListenError` - This gets raised by a call to startListening, when the object cannotstart listening.
  - `twisted.internet.error.CertificateError` - Undocumented
  - `twisted.internet.error.ConnectError` - Undocumented
    - `twisted.internet.error.BadFileError` - Undocumented
    - `twisted.internet.error.ConnectBindError` - Undocumented
    - `twisted.internet.error.ConnectionRefusedError` - Undocumented
    - `twisted.internet.error.NoRouteError` - Undocumented
    - `twisted.internet.error.ServiceNameUnknownError` - Undocumented
    - `twisted.internet.error.SSLError` - Undocumented
    - `twisted.internet.error.TCPTimedOutError` - Undocumented
    - `twisted.internet.error.UnknownHostError` - Undocumented
    - `twisted.internet.error.UserError` - Undocumented
      - `twisted.internet.error.TimeoutError` - Undocumented
  - `twisted.internet.error.ConnectingCancelledError` - An `Exception` that will be raised when an `IStreamClientEndpoint` is cancelled before it connects.
  - `twisted.internet.error.ConnectInProgressError` - A connect operation was started and isn't done yet.
  - `twisted.internet.error.ConnectionClosed` - Connection was closed, whether cleanly or non-cleanly.
    - `twisted.internet.error.ConnectionDone` - Undocumented
      - `twisted.internet.error.ProcessDone` - Undocumented
    - `twisted.internet.error.ConnectionLost` - Undocumented
      - `twisted.internet.error.ConnectionAborted` - Connection was aborted locally, using `twisted.internet.interfaces.ITCPTransport.abortConnection`.
      - `twisted.internet.error.ConnectionFdescWentAway` - Undocumented
      - `twisted.internet.error.FileDescriptorOverrun` - A mis-use of `IUNIXTransport.sendFileDescriptor` caused the connection to be closed.
      - `twisted.internet.error.ProcessTerminated` - No exception docstring; 0/3 instance variable, 0/1 class variable, 0/1 constant, 1/1 method documented
  - `twisted.internet.error.MessageLengthError` - Undocumented
  - `twisted.internet.error.MulticastJoinError` - An attempt to join a multicast group failed.
  - `twisted.internet.error.NoProtocol` - An `Exception` that will be raised when the factory given to a `IStreamClientEndpoint` returns `None` from `buildProtocol`.
  - `twisted.internet.error.ProcessExitedAlready` - The process has already exited and the operation requested can no longer be performed.
  - `twisted.internet.error.UnsupportedAddressFamily` - An attempt was made to use a socket with an address family (eg AF_INET, AF_INET6, etc) which is not supported by the reactor.
  - `twisted.internet.error.UnsupportedSocketType` - An attempt was made to use a socket of a type (eg SOCK_STREAM, SOCK_DGRAM, etc) which is not supported by the reactor.
  - `twisted.internet.error.VerifyError` - Undocumented
    - `twisted.internet.error.PeerVerifyError` - Undocumented
  - `twisted.internet.task.SchedulerError` - The operation could not be completed because the scheduler or one of its tasks was in an invalid state. This exception should not be raised directly, but is a superclass of various scheduler-state-related exceptions.
    - `twisted.internet.task.NotPaused` - This exception is raised when a task is resumed which was not previously paused.
    - `twisted.internet.task.SchedulerStopped` - The operation could not complete because the scheduler was stopped in progress or was already stopped.
    - `twisted.internet.task.TaskFinished` - The operation could not complete because the task was already completed, stopped, encountered an error or otherwise permanently stopped running.
      - `twisted.internet.task.TaskDone` - The operation could not complete because the task was already completed.
      - `twisted.internet.task.TaskFailed` - The operation could not complete because the task died with an unhandled error.
      - `twisted.internet.task.TaskStopped` - The operation could not complete because the task was stopped.
  - `twisted.logger.InvalidLogLevelError` - Someone tried to use a `LogLevel` that is unknown to the logging system.
  - `twisted.mail._except._POP3MessageDeleted` - An internal control-flow error which indicates that a deleted message was requested.
  - `twisted.mail.alias.ProcessAliasTimeout` - An error indicating that a timeout occurred while waiting for a process to complete.
  - `twisted.mail.imap4.IMAP4Exception` - Undocumented
    - `twisted.mail.imap4.IllegalClientResponse` - Undocumented
    - `twisted.mail.imap4.IllegalIdentifierError` - Undocumented
    - `twisted.mail.imap4.IllegalMailboxEncoding` - Undocumented
    - `twisted.mail.imap4.IllegalOperation` - Undocumented
    - `twisted.mail.imap4.IllegalQueryError` - Undocumented
    - `twisted.mail.imap4.IllegalServerResponse` - Undocumented
    - `twisted.mail.imap4.MailboxException` - Undocumented
      - `twisted.mail.imap4.MailboxCollision` - Undocumented
      - `twisted.mail.imap4.NoSuchMailbox` - Undocumented
      - `twisted.mail.imap4.ReadOnlyMailbox` - Undocumented
    - `twisted.mail.imap4.MismatchedNesting` - Undocumented
    - `twisted.mail.imap4.MismatchedQuoting` - Undocumented
    - `twisted.mail.imap4.NegativeResponse` - Undocumented
    - `twisted.mail.imap4.NoSupportedAuthentication` - Undocumented
    - `twisted.mail.imap4.UnhandledResponse` - Undocumented
  - `twisted.mail.pop3.POP3ClientError` - The base class for all exceptions raised by POP3Client.
    - `twisted.mail.pop3.InsecureAuthenticationDisallowed` - An error indicating secure authentication was required but no mechanism could be found.
    - `twisted.mail.pop3.LineTooLong` - An error indicating that the server sent a line which exceeded the maximum line length (`LineOnlyReceiver.MAX_LENGTH`).
    - `twisted.mail.pop3.ServerErrorResponse` - An error indicating that the server returned an error response to a request.
    - `twisted.mail.pop3.TLSError` - An error indicating secure authentication was required but either the transport does not support TLS or no TLS context factory was supplied.
    - `twisted.mail.pop3.TLSNotSupportedError` - An error indicating secure authentication was required but the server does not support TLS.
  - `twisted.mail.pop3.POP3Error` - The base class for POP3 errors.
  - `twisted.mail.relaymanager.CanonicalNameChainTooLong` - An error indicating that when trying to look up a mail exchange host, too many canonical name records which point to other canonical name records were encountered and resolution was abandoned.
  - `twisted.mail.relaymanager.CanonicalNameLoop` - An error indicating that when trying to look up a mail exchange host, a set of canonical name records was found which form a cycle and resolution was abandoned.
  - `twisted.mail.smtp.SMTPError` - Undocumented
    - `twisted.mail.smtp.AddressError` - Parse error in address
    - `twisted.mail.smtp.SMTPClientError` - Base class for SMTP client errors.
      - `twisted.mail.smtp.ESMTPClientError` - Base class for ESMTP client errors.
        - `twisted.mail.smtp.AUTHDeclinedError` - The server rejected our credentials.
        - `twisted.mail.smtp.AuthenticationError` - An error occurred while authenticating.
        - `twisted.mail.smtp.AUTHRequiredError` - Authentication was required but the server does not support it.
        - `twisted.mail.smtp.EHLORequiredError` - The server does not support EHLO.
        - `twisted.mail.smtp.TLSError` - An error occurred while negiotiating for transport security.
        - `twisted.mail.smtp.TLSRequiredError` - Transport security was required but the server does not support it.
      - `twisted.mail.smtp.SMTPConnectError` - Failed to connect to the mail exchange host.
      - `twisted.mail.smtp.SMTPDeliveryError` - Indicates that a delivery attempt has had an error.
      - `twisted.mail.smtp.SMTPProtocolError` - The server sent a mangled response.
      - `twisted.mail.smtp.SMTPTimeoutError` - Failed to receive a response from the server in the expected time period.
    - `twisted.mail.smtp.SMTPServerError` - Undocumented
      - `twisted.mail.smtp.SMTPAddressError` - Undocumented
        - `twisted.mail.smtp.SMTPBadRcpt` - Undocumented
        - `twisted.mail.smtp.SMTPBadSender` - Undocumented
  - `twisted.names.error.ResolverError` - Indicates a query failed because of a decision made by the local resolver object.
  - `twisted.persisted.aot.NonFormattableDict` - A dictionary was not formattable.
  - `twisted.positioning.base.InvalidChecksum` - An exception raised when the checksum of a sentence is invalid.
  - `twisted.positioning.base.InvalidSentence` - An exception raised when a sentence is invalid.
  - `twisted.protocols.amp.AmpError` - Base class of all Amp-related exceptions.
    - `twisted.protocols.amp.BadLocalReturn` - A bad value was returned from a local command; we were unable to coerce it.
    - `twisted.protocols.amp.IncompatibleVersions` - It was impossible to negotiate a compatible version of the protocol with the other end of the connection.
    - `twisted.protocols.amp.InvalidSignature` - You didn't pass all the required arguments.
    - `twisted.protocols.amp.MalformedAmpBox` - This error indicates that the wire-level protocol was malformed.
    - `twisted.protocols.amp.NoEmptyBoxes` - You can't have empty boxes on the connection. This is raised when you receive or attempt to send one.
    - `twisted.protocols.amp.OnlyOneTLS` - This is an implementation limitation; TLS may only be started once per connection.
    - `twisted.protocols.amp.RemoteAmpError` - This error indicates that something went wrong on the remote end of the connection, and the error was serialized and transmitted to you.
      - `twisted.protocols.amp.UnknownRemoteError` - This means that an error whose type we can't identify was raised from the other side.
    - `twisted.protocols.amp.TooLong` - One of the protocol's length limitations was violated.
    - `twisted.protocols.amp.UnhandledCommand` - A command received via amp could not be dispatched.
  - `twisted.protocols.amp.ProtocolSwitched` - Connections which have been switched to other protocols can no longer accept traffic at the AMP level. This is raised when you try to send it.
  - `twisted.protocols.basic.IncompleteNetstring` - Not enough data to complete a netstring.
  - `twisted.protocols.dict.InvalidResponse` - Undocumented
  - `twisted.protocols.ftp.FTPCmdError` - Generic exception for FTP commands.
    - `twisted.protocols.ftp.AnonUserDeniedError` - Raised when an anonymous user issues a command that will alter the filesystem
    - `twisted.protocols.ftp.AuthorizationError` - Raised when client authentication fails.
    - `twisted.protocols.ftp.BadCmdSequenceError` - Raised when a client sends a series of commands in an illogical sequence.
    - `twisted.protocols.ftp.CmdArgSyntaxError` - Raised when a command is called with wrong value or a wrong number of arguments.
    - `twisted.protocols.ftp.CmdNotImplementedError` - Raised when an unimplemented command is given to the server.
    - `twisted.protocols.ftp.CmdNotImplementedForArgError` - Raised when the handling of a parameter for a command is not implemented by the server.
    - `twisted.protocols.ftp.CmdSyntaxError` - Raised when a command syntax is wrong.
    - `twisted.protocols.ftp.FileExistsError` - Raised when attempted to override an existing resource.
    - `twisted.protocols.ftp.FileNotFoundError` - Raised when trying to access a non existent file or directory.
    - `twisted.protocols.ftp.IsADirectoryError` - Raised when DELE is called on a path that is a directory.
    - `twisted.protocols.ftp.IsNotADirectoryError` - Raised when RMD is called on a path that isn't a directory.
    - `twisted.protocols.ftp.PermissionDeniedError` - Raised when access is attempted to a resource to which access is not allowed.
  - `twisted.protocols.ftp.FTPError` - Undocumented
    - `twisted.protocols.ftp.BadResponse` - Undocumented
    - `twisted.protocols.ftp.CommandFailed` - Undocumented
    - `twisted.protocols.ftp.ConnectionLost` - Undocumented
    - `twisted.protocols.ftp.UnexpectedData` - Undocumented
    - `twisted.protocols.ftp.UnexpectedResponse` - Undocumented
  - `twisted.protocols.ftp.InvalidPath` - Internal exception used to signify an error during parsing a path.
  - `twisted.protocols.ftp.PortConnectionError` - Undocumented
  - `twisted.protocols.haproxy._exceptions.InvalidProxyHeader` - The provided PROXY protocol header is invalid.
    - `twisted.protocols.haproxy._exceptions.InvalidNetworkProtocol` - The network protocol was not one of TCP4 TCP6 or UNKNOWN.
    - `twisted.protocols.haproxy._exceptions.MissingAddressData` - The address data is missing or incomplete.
  - `twisted.protocols.ident.IdentError` - Can't determine connection owner; reason unknown.
    - `twisted.protocols.ident.HiddenUser` - The server was able to identify the user of this port, but the information was not returned at the request of the user.
    - `twisted.protocols.ident.InvalidPort` - Either the local or foreign port was improperly specified. This should be returned if either or both of the port ids were out of range (TCP port numbers are from 1-65535), negative integers, reals or in any fashion not recognized as a non-negative integer.
    - `twisted.protocols.ident.NoUser` - The connection specified by the port pair is not currently in use or currently not owned by an identifiable entity.
  - `twisted.protocols.memcache.ClientError` - Error caused by an invalid client call.
  - `twisted.protocols.memcache.NoSuchCommand` - Exception raised when a non existent command is called.
  - `twisted.protocols.memcache.ServerError` - Problem happening on the server.
  - `twisted.protocols.sip.SIPError` - Undocumented
    - `twisted.protocols.sip.RegistrationError` - Registration was not possible.
  - `twisted.python._inotify.INotifyError` - Unify all the possible exceptions that can be raised by the INotify API.
  - `twisted.python._release.NoDocumentsFound` - Raised when no input documents are found.
  - `twisted.python._release.NotWorkingDirectory` - Raised when a directory does not appear to be a repository directory of a supported VCS.
  - `twisted.python.failure.DefaultException` - Undocumented
  - `twisted.python.failure.NoCurrentExceptionError` - Raised when trying to create a Failure from the current interpreter exception state and there is no current exception state.
  - `twisted.python.filepath.InsecurePath` - Error that is raised when the path provided to `FilePath` is invalid.
  - `twisted.python.filepath.LinkError` - An error with symlinks - either that there are cyclical symlinks or that symlink are not supported on this platform.
  - `twisted.python.formmethod.FormException` - An error occurred calling the form method.
    - `twisted.python.formmethod.InputError` - An error occurred with some input.
  - `twisted.python.rebuild.RebuildError` - Exception raised when trying to rebuild a class whereas it's not possible.
  - `twisted.python.reflect._NoModuleFound` - No module was found because none exists.
  - `twisted.python.roots.ConstraintViolation` - An exception raised when a constraint is violated.
  - `twisted.python.usage.UsageError` - Undocumented
  - `twisted.runner.inetdconf.InvalidConfError` - Invalid configuration file
    - `twisted.runner.inetdconf.InvalidInetdConfError` - Invalid inetd.conf file
    - `twisted.runner.inetdconf.InvalidServicesConfError` - Invalid services file
  - `twisted.runner.inetdconf.UnknownService` - Unknown service name
  - `twisted.scripts.trial._DebuggerNotFound` - A debugger import failed.
  - `twisted.spread.banana.BananaError` - Undocumented
  - `twisted.spread.jelly.InsecureJelly` - This exception will be raised when a jelly is deemed `insecure'; e.g. it contains a type, class, or module disallowed by the specified `taster'
  - `twisted.spread.pb.Error` - This error can be raised to generate known error conditions.
  - `twisted.spread.pb.PBConnectionLost` - Undocumented
  - `twisted.spread.pb.ProtocolError` - This error is raised when an invalid protocol statement is received.
    - `twisted.spread.pb.DeadReferenceError` - This error is raised when a method is called on a dead reference (one whose broker has been disconnected).
  - `twisted.spread.pb.RemoteError` - This class is used to wrap a string-ified exception from the remote side to be able to reraise it. (Raising string exceptions is no longer possible in Python 2.6+)
  - `twisted.trial._synctest.UnsupportedTrialFeature` - A feature of twisted.trial was used that pyunit cannot support.
  - `twisted.trial.util._NoTrialMarker` - No trial marker file could be found.
  - `twisted.trial.util._WorkingDirectoryBusy` - A working directory was specified to the runner, but another test run is currently using that directory.
  - `twisted.trial.util.DirtyReactorAggregateError` - Passed to `twisted.trial.itrial.IReporter.addError` when the reactor is left in an unclean state after a test.
  - `twisted.web._newclient._WrapperException` - `_WrapperException` is the base exception type for exceptions which include one or more other exceptions as the low-level causes.
    - `twisted.web.client.RequestGenerationFailed` - There was an error while creating the bytes which make up a request.
    - `twisted.web.client.RequestTransmissionFailed` - There was an error while sending the bytes which make up a request.
    - `twisted.web.client.ResponseFailed` - `ResponseFailed` indicates that all of the response to a request was not received for some reason.
      - `twisted.web.client.ResponseNeverReceived` - A `ResponseFailed` that knows no response bytes at all have been received.
  - `twisted.web._newclient.BadHeaders` - Headers passed to `Request` were in some way invalid.
  - `twisted.web._newclient.ConnectionAborted` - The connection was explicitly aborted by application code.
  - `twisted.web._newclient.ExcessWrite` - The body `IBodyProducer` for a request tried to write data after indicating it had finished writing data.
  - `twisted.web._newclient.ParseError` - Some received data could not be parsed.
    - `twisted.web._newclient.BadResponseVersion` - The version string in a status line was unparsable.
  - `twisted.web._newclient.RequestNotSent` - `RequestNotSent` indicates that an attempt was made to issue a request but for reasons unrelated to the details of the request itself, the request could not be sent. For example, this may indicate that an attempt was made to send a request using a protocol which is no longer connected to a server.
  - `twisted.web._newclient.WrongBodyLength` - An `IBodyProducer` declared the number of bytes it was going to produce (via its `length` attribute) and then produced a different number of bytes.
  - `twisted.web.client.ResponseDone` - `ResponseDone` may be passed to `IProtocol.connectionLost` on the protocol passed to `Response.deliverBody` and indicates that the entire response has been delivered.
  - `twisted.web.domhelpers.NodeLookupError` - Undocumented
  - `twisted.web.error.Error` - A basic HTTP error.
    - `twisted.web.client.PartialDownloadError` - Page was only partially downloaded, we got disconnected in middle.
    - `twisted.web.error.InfiniteRedirection` - HTTP redirection is occurring endlessly.
    - `twisted.web.error.PageRedirect` - A request resulted in an HTTP redirect.
    - `twisted.web.error.RedirectWithNoLocation` - Exception passed to `ResponseFailed` if we got a redirect without a `Location` header field.
  - `twisted.web.error.ExcessiveBufferingError` - The HTTP/2 protocol has been forced to buffer an excessive amount of outbound data, and has therefore closed the connection and dropped all outbound data.
  - `twisted.web.error.FlattenerError` - An error occurred while flattening an object.
  - `twisted.web.error.RenderError` - Base exception class for all errors which can occur during template rendering.
    - `twisted.web.error.MissingRenderMethod` - Tried to use a render method which does not exist.
    - `twisted.web.error.MissingTemplateLoader` - `MissingTemplateLoader` is raised when trying to render an Element without a template loader, i.e. a `loader` attribute.
  - `twisted.web.error.SchemeNotSupported` - The scheme of a URI was not one of the supported values.
  - `twisted.web.error.UnexposedMethodError` - Raised on any attempt to get a method which has not been exposed.
  - `twisted.web.error.UnfilledSlot` - During flattening, a slot with no associated data was encountered.
  - `twisted.web.error.UnsupportedMethod` - Raised by a resource when faced with a strange request method.
  - `twisted.web.error.UnsupportedSpecialHeader` - A HTTP/2 request was received that contained a HTTP/2 pseudo-header field that is not recognised by Twisted.
  - `twisted.web.error.UnsupportedType` - During flattening, an object of a type which cannot be flattened was encountered.
  - `twisted.web.http._DataLoss` - `_DataLoss` indicates that not all of a message body was received. This is only one of several possible exceptions which may indicate that data was lost. Because of this, it should not be checked for by specifically; any unexpected exception should be treated as having caused data loss.
  - `twisted.web.http._MalformedChunkedDataError` - `_ChunkedTransferDecoder` raises `_MalformedChunkedDataError` from its `dataReceived` method when it encounters malformed data. This exception indicates a client-side error. If this exception is raised, the connection should be dropped with a 400 error.
  - `twisted.web.http.PotentialDataLoss` - `PotentialDataLoss` may be raised by a transfer encoding decoder's `noMoreData` method to indicate that it cannot be determined if the entire response body has been delivered. This only occurs when making requests to HTTP servers which do not set ...
  - `twisted.web.microdom.MismatchedTags` - Undocumented
  - `twisted.web.script.AlreadyCached` - This exception is raised when a path has already been cached.
  - `twisted.web.sux.ParseError` - Undocumented
  - `twisted.words.ewords.WordsError` - Undocumented
    - `twisted.words.ewords.AlreadyLoggedIn` - Undocumented
    - `twisted.words.ewords.DuplicateGroup` - Undocumented
    - `twisted.words.ewords.DuplicateUser` - Undocumented
    - `twisted.words.ewords.NoSuchGroup` - Undocumented
    - `twisted.words.ewords.NoSuchUser` - Undocumented
  - `twisted.words.im.locals.OfflineError` - The requested action can't happen while offline.
  - `twisted.words.protocols.irc.IRCBadMessage` - Undocumented
  - `twisted.words.protocols.irc.IRCPasswordMismatch` - Undocumented
  - `twisted.words.protocols.jabber.error.BaseError` - Base class for XMPP error exceptions.
    - `twisted.words.protocols.jabber.error.StanzaError` - Stanza Error exception.
    - `twisted.words.protocols.jabber.error.StreamError` - Stream Error exception.
  - `twisted.words.protocols.jabber.jid.InvalidFormat` - The given string could not be parsed into a valid Jabber Identifier (JID).
  - `twisted.words.protocols.jabber.sasl.SASLError` - SASL base exception.
    - `twisted.words.protocols.jabber.sasl.SASLAuthError` - SASL Authentication failed.
    - `twisted.words.protocols.jabber.sasl.SASLIncorrectEncodingError` - SASL base64 encoding was incorrect.
    - `twisted.words.protocols.jabber.sasl.SASLNoAcceptableMechanism` - The server did not present an acceptable SASL mechanism.
  - `twisted.words.protocols.jabber.xmlstream.FeatureNotAdvertized` - Exception indicating a stream feature was not advertized, while required by the initiating entity.
  - `twisted.words.protocols.jabber.xmlstream.TimeoutError` - Exception raised when no IQ response has been received before the configured timeout.
  - `twisted.words.protocols.jabber.xmlstream.TLSError` - TLS base exception.
    - `twisted.words.protocols.jabber.xmlstream.TLSFailed` - Exception indicating failed TLS negotiation
    - `twisted.words.protocols.jabber.xmlstream.TLSNotSupported` - Exception indicating missing TLS support.
    - `twisted.words.protocols.jabber.xmlstream.TLSRequired` - Exception indicating required TLS negotiation.
  - `twisted.words.xish.domish.ParserError` - Exception thrown when a parsing error occurs
- `io.BytesIO`
  - `twisted.internet.testing.StringIOWithoutClosing` - A BytesIO that can't be closed.
- `IOError`
  - `twisted.internet.error.DNSLookupError` - Undocumented
  - `twisted.internet.utils._UnexpectedErrorOutput` - Standard error data was received where it was not expected. This is a subclass of `IOError` to preserve backward compatibility with the previous error behavior of `getProcessOutput`.
- `KeyError`
  - `twisted.application.reactors.NoSuchReactor` - Raised when an attempt is made to install a reactor which cannot be found.
- `namedtuple('_TunnelDescription', 'fileno name')`
  - `twisted.pair.tuntap._TunnelDescription` - Describe an existing tunnel.
- `NotImplementedError`
  - `twisted.python.roots.NotSupportedError` - An exception meaning that the tree-manipulation operation you're attempting to perform is not supported.
- `OSError`
  - `twisted.python.filepath.UnlistableError` - An exception which is used to distinguish between errors which mean 'this is not a directory you can list' and other, more catastrophic errors.
  - `twisted.python.release.CommandFailed` - Undocumented
  - `twisted.python.release.DirectoryDoesntExist` - Some directory doesn't exist when it should.
  - `twisted.python.release.DirectoryExists` - Some directory exists when it shouldn't.
  - `twisted.python.win32.FakeWindowsError` - Stand-in for sometimes-builtin exception on platforms for which it is missing.
- `proxyForInterface(_IProcessTransportWithConsumerAndProducer, '_process')`
  - `twisted.internet.endpoints._ProcessEndpointTransport` - An `ITransport`, `IProcessTransport`, `IConsumer`, and `IPushProducer` provider for the `IProtocol` instance passed to the process endpoint.
- `proxyForInterface(IProtocol)`
  - `twisted.web.client._GzipProtocol` - A `Protocol` implementation which wraps another one, transparently decompressing received data.
- `proxyForInterface(IProtocol, '_channel')`
  - `twisted.web.http._GenericHTTPChannelProtocol` - A proxy object that wraps one of the HTTP protocol objects, and switches between them depending on TLS negotiated protocol.
- `proxyForInterface(IReporter)`
  - `twisted.trial._dist.distreporter.DistReporter` - See module docstring.
- `proxyForInterface(IRequest, '_request')`
  - `twisted.web.http._XForwardedForRequest` - Add a layer on top of another request that only uses the value of an X-Forwarded-For header as the result of `getClientAddress`.
- `proxyForInterface(IResource)`
  - `twisted.web.resource.EncodingResourceWrapper` - Wrap a `IResource`, potentially applying an encoding to the response body generated.
- `proxyForInterface(IResponse)`
  - `twisted.web.client.GzipDecoder` - A wrapper for a `Response` instance which handles gzip'ed body.
- `proxyForInterface(itrial.IReporter, '_originalReporter')`
  - `twisted.trial.reporter.TestResultDecorator` - Base class for TestResult decorators.
    - `twisted.trial.reporter._AdaptedReporter` - TestResult decorator that makes sure that addError only gets tests that have been adapted with a particular test adapter.
    - `twisted.trial.reporter._ExitWrapper` - A wrapper for a reporter that causes the reporter to stop after unsuccessful tests.
    - `twisted.trial.reporter.UncleanWarningsReporterWrapper` - A wrapper for a reporter that converts `util.DirtyReactorAggregateError`s to warnings.
- `RuntimeError`
  - `twisted.internet.error.NotConnectingError` - Undocumented
  - `twisted.internet.error.NotListeningError` - Undocumented
  - `twisted.internet.error.ReactorAlreadyRunning` - Error raised when trying to start the reactor multiple times.
  - `twisted.internet.error.ReactorNotRestartable` - Error raised when trying to run a reactor which was stopped.
  - `twisted.internet.error.ReactorNotRunning` - Error raised when trying to stop a reactor which is not running.
  - `twisted.python.randbytes.SecureRandomNotAvailable` - Exception raised when no secure random algorithm is found.
  - `twisted.python.randbytes.SourceNotAvailable` - Internal exception used when a specific random source is not available.
  - `twisted.words.protocols.irc.UnhandledCommand` - A command dispatcher could not locate an appropriate command handler.
- `str`
  - `twisted.words.xish.domish.SerializedXML` - Marker class for pre-serialized XML in the DOM.
  - `twisted.words.xish.xpath.LiteralValue` - Undocumented
- `tkinter.Frame`
  - `twisted.conch.scripts.tkconch.TkConchMenu` - Undocumented
  - `twisted.conch.ui.tkvt100.VT100Frame` - Undocumented
- `tuple`
  - `twisted.conch.ssh.transport._MACParams` - `_MACParams` represents the parameters necessary to compute SSH MAC (Message Authenticate Codes).
- `twisted._threads._convenience.Quit` - A flag representing whether a worker has been quit.
- `twisted._threads._memory.MemoryWorker` - An `IWorker` that queues work for later performance.
- `twisted._threads._team.Statistics` - Statistics about a `Team`'s current activity.
- `twisted._threads.LockWorker` - An `IWorker` implemented based on a mutual-exclusion lock.
- `twisted._threads.Team` - A composite `IWorker` implementation.
- `twisted._threads.ThreadWorker` - An `IExclusiveWorker` implemented based on a single thread and a queue.
- `twisted.application.app._BasicProfiler` - No summary
  - `twisted.application.app.CProfileRunner` - Runner for the cProfile module.
  - `twisted.application.app.ProfileRunner` - Runner for the standard profile module.
- `twisted.application.app.ApplicationRunner` - An object which helps running an application based on a config object.
  - `twisted.scripts._twistd_unix.UnixApplicationRunner` - An ApplicationRunner which does Unix-specific things, like fork, shed privileges, and maintain a PID file.
  - `twisted.scripts._twistw.WindowsApplicationRunner` - An ApplicationRunner which avoids unix-specific things. No forking, no PID files, no privileges.
- `twisted.application.app.AppLogger` - An `AppLogger` attaches the configured log observer specified on the commandline to a `ServerOptions` object, a custom `logger.ILogObserver`, or a legacy custom {log.ILogObserver}.
  - `twisted.scripts._twistd_unix.UnixAppLogger` - A logger able to log to syslog, to files, and to stdout.
- `twisted.application.app.AppProfiler` - Class which selects a specific profile runner based on configuration options.
- `twisted.application.app.ReactorSelectionMixin` - Provides options for selecting a reactor to install.
  - `twisted.application.app.ServerOptions` - No class docstring; 0/1 property, 0/1 instance variable, 0/5 class variable, 2/5 methods documented
    - `twisted.scripts._twistd_unix.ServerOptions` - No class docstring; 0/4 class variable, 1/2 method documented
    - `twisted.scripts._twistw.ServerOptions` - No class docstring; 0/2 class variable, 1/1 method documented
  - `twisted.scripts.trial.Options` - Options to the trial command line tool.
  - `twisted.trial._dist.options.WorkerOptions` - Options forwarded to the trial distributed worker.
- `twisted.application.internet._ClientMachine` - State machine for maintaining a single outgoing connection to an endpoint.
- `twisted.application.internet._DisconnectFactory` - A `_DisconnectFactory` is a proxy for `IProtocolFactory` that catches `connectionLost` notifications and relays them.
- `twisted.application.internet._ReconnectingProtocolProxy` - A proxy for a Protocol to provide connectionLost notification to a client connection service, in support of reconnecting when connections are lost.
- `twisted.application.reactors.Reactor` - No summary
- `twisted.application.runner._pidfile.NonePIDFile` - PID file implementation that does nothing.
- `twisted.application.runner._pidfile.PIDFile` - Concrete implementation of `IPIDFile`.
- `twisted.application.runner._runner.Runner` - Twisted application runner.
- `twisted.application.service.Process` - Process running parameters.
- `twisted.application.service.Service` - Base class for services.
  - `twisted.application.internet._VolatileDataService` - Undocumented
    - `twisted.application.internet._AbstractClient` - No summary
      - `twisted.application.internet.SSLClient` - Undocumented
      - `twisted.application.internet.TCPClient` - Undocumented
      - `twisted.application.internet.UNIXClient` - Undocumented
      - `twisted.application.internet.UNIXDatagramClient` - Undocumented
    - `twisted.application.internet._AbstractServer` - No summary
      - `twisted.application.internet.MulticastServer` - Undocumented
      - `twisted.application.internet.SSLServer` - Undocumented
      - `twisted.application.internet.TCPServer` - Undocumented
      - `twisted.application.internet.UDPServer` - Undocumented
      - `twisted.application.internet.UNIXDatagramServer` - Undocumented
      - `twisted.application.internet.UNIXServer` - Undocumented
    - `twisted.application.internet.TimerService` - Service to periodically call a function
      - `twisted.mail.mail.FileMonitoringService` - A service for monitoring changes to files.
  - `twisted.application.internet.ClientService` - A `ClientService` maintains a single outgoing connection to a client endpoint, reconnecting after a configurable timeout when a connection fails, either before or after connecting.
  - `twisted.application.internet.CooperatorService` - Simple `service.IService` which starts and stops a `twisted.internet.task.Cooperator`.
  - `twisted.application.internet.StreamServerEndpointService` - A `StreamServerEndpointService` is an `IService` which runs a server on a listening port described by an `IStreamServerEndpoint`.
  - `twisted.application.service.MultiService` - Straightforward Service Container.
    - `twisted.mail.mail.MailService` - An email service.
    - `twisted.words.protocols.jabber.component.ServiceManager` - Business logic for a managed component connection to a Jabber router.
  - `twisted.names.secondary.SecondaryAuthorityService` - A service that keeps one or more authorities up to date by doing hourly zone transfers from a master.
  - `twisted.runner.procmon.ProcessMonitor` - ProcessMonitor runs processes, monitors their progress, and restarts them when they die.
  - `twisted.words.protocols.jabber.component.Service` - External server-side component service.
- `twisted.application.service.ServiceMaker` - Utility class to simplify the definition of `IServiceMaker` plugins.
- `twisted.application.twist._twist.Twist` - Run a Twisted application.
- `twisted.conch.avatar.ConchUser` - Undocumented
  - `twisted.conch.manhole_ssh.TerminalUser` - Undocumented
  - `twisted.conch.unix.UnixConchUser` - Undocumented
- `twisted.conch.checkers.InMemorySSHKeyDB` - Object that provides SSH public keys based on a dictionary of usernames mapped to `twisted.conch.ssh.keys.Key`s.
- `twisted.conch.checkers.SSHProtocolChecker` - SSHProtocolChecker is a checker that requires multiple authentications to succeed. To add a checker, call my registerChecker method with the checker and the interface.
- `twisted.conch.checkers.SSHPublicKeyChecker` - Checker that authenticates SSH public keys, based on public keys listed in authorized_keys and authorized_keys2 files in user .ssh/ directories.
- `twisted.conch.checkers.SSHPublicKeyDatabase` - Checker that authenticates SSH public keys, based on public keys listed in authorized_keys and authorized_keys2 files in user .ssh/ directories.
- `twisted.conch.checkers.UNIXAuthorizedKeysFiles` - Object that provides SSH public keys based on public keys listed in authorized_keys and authorized_keys2 files in UNIX user .ssh/ directories. If any of the files cannot be read, a message is logged but that file is otherwise ignored.
- `twisted.conch.checkers.UNIXPasswordDatabase` - A checker which validates users out of the UNIX password databases, or databases of a compatible format.
- `twisted.conch.client.knownhosts._BaseEntry` - Abstract base of both hashed and non-hashed entry objects, since they represent keys and key types the same way.
  - `twisted.conch.client.knownhosts.HashedEntry` - A `HashedEntry` is a representation of an entry in a known_hosts file where the hostname has been hashed and salted.
  - `twisted.conch.client.knownhosts.PlainEntry` - A `PlainEntry` is a representation of a plain-text entry in a known_hosts file.
- `twisted.conch.client.knownhosts.ConsoleUI` - A UI object that can ask true/false questions and post notifications on the console, to be used during key verification.
- `twisted.conch.client.knownhosts.KnownHostsFile` - A structured representation of an OpenSSH-format ~/.ssh/known_hosts file.
- `twisted.conch.client.knownhosts.UnparsedEntry` - `UnparsedEntry` is an entry in a `KnownHostsFile` which can't actually be parsed; therefore it matches no keys and no hosts.
- `twisted.conch.endpoints._ExistingConnectionHelper` - `_ExistingConnectionHelper` implements `_ISSHConnectionCreator` by handing out an existing SSH connection which is supplied to its initializer.
- `twisted.conch.endpoints._NewConnectionHelper` - `_NewConnectionHelper` implements `_ISSHConnectionCreator` by establishing a brand new SSH connection, securing it, and authenticating.
- `twisted.conch.endpoints._ReadFile` - A weakly file-like object which can be used with `KnownHostsFile` to respond in the negative to all prompts for decisions.
- `twisted.conch.endpoints.SSHCommandAddress` - An `SSHCommandAddress` instance represents the address of an SSH server, a username which was used to authenticate with that server, and a command which was run there.
- `twisted.conch.endpoints.SSHCommandClientEndpoint` - `SSHCommandClientEndpoint` exposes the command-executing functionality of SSH servers.
- `twisted.conch.insults.insults._const` - No summary
- `twisted.conch.insults.insults.ClientProtocol.ControlSequenceParser` - Undocumented
- `twisted.conch.insults.insults.modes` - ECMA 48 standardized modes
- `twisted.conch.insults.insults.privateModes` - ANSI-Compatible Private Modes
- `twisted.conch.insults.insults.ServerProtocol.ControlSequenceParser` - Undocumented
- `twisted.conch.insults.insults.TerminalProtocol` - No class docstring; 0/1 instance variable, 1/6 method documented
  - `twisted.conch.recvline.RecvLine` - `TerminalProtocol` which adds line editing features.
    - `twisted.conch.recvline.HistoricRecvLine` - `TerminalProtocol` which adds both basic line-editing features and input history.
      - `twisted.conch.manhole.Manhole` - Mediator between a fancy line source and an interactive interpreter.
        - `twisted.conch.manhole.ColoredManhole` - A REPL which syntax colors input as users type it.
          - `twisted.conch.stdio.ConsoleManhole` - A manhole protocol specifically for use with `stdio.StandardIO`.
- `twisted.conch.insults.insults.Vector` - Undocumented
- `twisted.conch.insults.window.BoundedTerminalWrapper` - Undocumented
- `twisted.conch.insults.window.Widget` - No class docstring; 0/4 instance variable, 0/1 class variable, 1/13 method documented
  - `twisted.conch.insults.window._Scrollbar` - Undocumented
    - `twisted.conch.insults.window.HorizontalScrollbar` - Undocumented
    - `twisted.conch.insults.window.VerticalScrollbar` - Undocumented
  - `twisted.conch.insults.window.Border` - Undocumented
  - `twisted.conch.insults.window.Button` - Undocumented
  - `twisted.conch.insults.window.Canvas` - Undocumented
  - `twisted.conch.insults.window.ContainerWidget` - No summary
    - `twisted.conch.insults.window._Box` - Undocumented
      - `twisted.conch.insults.window.HBox` - Undocumented
      - `twisted.conch.insults.window.VBox` - Undocumented
    - `twisted.conch.insults.window.AbsoluteBox` - Undocumented
    - `twisted.conch.insults.window.Packer` - Undocumented
    - `twisted.conch.insults.window.TopWindow` - A top-level container object which provides focus wrap-around and paint scheduling.
  - `twisted.conch.insults.window.ScrolledArea` - A `ScrolledArea` contains another widget wrapped in a viewport and vertical and horizontal scrollbars for moving the viewport around.
  - `twisted.conch.insults.window.Selection` - Undocumented
  - `twisted.conch.insults.window.TextInput` - Undocumented
    - `twisted.conch.insults.window.PasswordInput` - Undocumented
  - `twisted.conch.insults.window.TextOutput` - Undocumented
    - `twisted.conch.insults.window.TextOutputArea` - Undocumented
  - `twisted.conch.insults.window.Viewport` - Undocumented
- `twisted.conch.manhole.FileWrapper` - Minimal write-file-like object.
- `twisted.conch.manhole.VT102Writer` - Colorizer for Python tokens.
- `twisted.conch.manhole_ssh._Glue` - A feeble class for making one attribute look like another.
- `twisted.conch.manhole_ssh.TerminalRealm` - Undocumented
- `twisted.conch.manhole_ssh.TerminalSessionTransport` - Undocumented
- `twisted.conch.manhole_tap._StupidRealm` - Undocumented
- `twisted.conch.manhole_tap.chainedProtocolFactory` - Undocumented
- `twisted.conch.manhole_tap.makeTelnetProtocol` - Undocumented
- `twisted.conch.mixin.BufferingMixin` - Mixin which adds write buffering.
- `twisted.conch.recvline.LocalTerminalBufferMixin` - A mixin for RecvLine subclasses which records the state of the terminal.
- `twisted.conch.recvline.Logging` - Wrapper which logs attribute lookups.
- `twisted.conch.recvline.TransportSequence` - An `ITerminalTransport` implementation which forwards calls to one or more other `ITerminalTransport`s.
- `twisted.conch.scripts.cftp.FileWrapper` - Undocumented
- `twisted.conch.scripts.conch._KeepAlive` - Undocumented
- `twisted.conch.ssh._kex._Curve25519SHA256` - Elliptic Curve Key Exchange using Curve25519 and SHA256. Defined in https://datatracker.ietf.org/doc/draft-ietf-curdle-ssh-curves/.
- `twisted.conch.ssh._kex._Curve25519SHA256LibSSH` - As `_Curve25519SHA256`, but with a pre-standardized algorithm name.
- `twisted.conch.ssh._kex._DHGroup14SHA1` - Diffie-Hellman key exchange with SHA-1 as HASH and Oakley Group 14 (2048-bit MODP Group). Defined in RFC 4253, 8.2.
- `twisted.conch.ssh._kex._DHGroupExchangeSHA1` - Diffie-Hellman Group and Key Exchange with SHA-1 as HASH. Defined in RFC 4419, 4.1.
- `twisted.conch.ssh._kex._DHGroupExchangeSHA256` - Diffie-Hellman Group and Key Exchange with SHA-256 as HASH. Defined in RFC 4419, 4.2.
- `twisted.conch.ssh._kex._ECDH256` - Elliptic Curve Key Exchange with SHA-256 as HASH. Defined in RFC 5656.
- `twisted.conch.ssh._kex._ECDH384` - Elliptic Curve Key Exchange with SHA-384 as HASH. Defined in RFC 5656.
- `twisted.conch.ssh._kex._ECDH512` - Elliptic Curve Key Exchange with SHA-512 as HASH. Defined in RFC 5656.
- `twisted.conch.ssh.filetransfer.ClientDirectory` - Undocumented
- `twisted.conch.ssh.filetransfer.ClientFile` - Undocumented
- `twisted.conch.ssh.keys.Key` - An object representing a key. A key can be either a public or private key. A public key can verify a signature; a private key can create or verify a signature. To generate a string that can be stored on disk, use the toString method...
- `twisted.conch.ssh.service.SSHService` - No class docstring; 0/4 class variable, 3/4 methods documented
  - `twisted.conch.ssh.connection.SSHConnection` - An implementation of the 'ssh-connection' service. It is used to multiplex multiple channels over the single SSH connection.
    - `twisted.conch.endpoints._ConnectionReady` - `_ConnectionReady` is an `SSHConnection` (an SSH service) which only propagates the serviceStarted event to a `Deferred` to be handled elsewhere.
    - `twisted.conch.scripts.cftp.SSHConnection` - Undocumented
    - `twisted.conch.scripts.conch.SSHConnection` - Undocumented
    - `twisted.conch.scripts.tkconch.SSHConnection` - Undocumented
  - `twisted.conch.ssh.userauth.SSHUserAuthClient` - A service implementing the client side of 'ssh-userauth'.
    - `twisted.conch.client.default.SSHUserAuthClient` - No class docstring; 0/3 instance variable, 4/11 methods, 2/2 class methods documented
    - `twisted.conch.endpoints._UserAuth` - `_UserAuth` implements the client part of SSH user authentication in the convenient way a user might expect if they are familiar with the interactive ssh command line client.
    - `twisted.conch.scripts.tkconch.SSHUserAuthClient` - Undocumented
  - `twisted.conch.ssh.userauth.SSHUserAuthServer` - A service implementing the server side of the 'ssh-userauth' service. It is used to authenticate the user on the other side as being able to access this server.
- `twisted.conch.ssh.session._DummyTransport` - Undocumented
- `twisted.conch.ssh.transport._DummyAlgorithm` - An encryption algorithm that does not actually encrypt anything.
- `twisted.conch.ssh.transport._DummyCipher` - A cipher for the none encryption method.
- `twisted.conch.ssh.transport._NullEncryptionContext` - An encryption context that does not actually encrypt anything.
- `twisted.conch.ssh.transport.SSHCiphers` - SSHCiphers represents all the encryption operations that need to occur to encrypt and authenticate the SSH connection.
- `twisted.conch.telnet.ProtocolTransportMixin` - Undocumented
  - `twisted.conch.telnet.TelnetBootstrapProtocol` - Undocumented
  - `twisted.conch.telnet.TelnetTransport` - No summary
- `twisted.conch.telnet.Telnet._OptionState` - Represents the state of an option on both sides of a telnet connection.
- `twisted.conch.telnet.Telnet._OptionState._Perspective` - Represents the state of an option on side of the telnet connection. Some options can be enabled on a particular side of the connection (RFC 1073 for example: only the client can have NAWS enabled). Other options can be enabled on either or both sides (such as RFC 1372: each side can have its own flow control state).
- `twisted.conch.ui.ansi.AnsiParser` - Parser class for ANSI codes.
- `twisted.conch.ui.ansi.ColorText` - Represents an element of text along with the texts colors and additional attributes.
- `twisted.conch.unix.SFTPServerForUnixConchUser` - No class docstring; 0/1 instance variable, 1/17 method documented
- `twisted.conch.unix.SSHSessionForUnixConchUser` - No class docstring; 0/8 instance variable, 0/1 class variable, 2/11 methods documented
- `twisted.conch.unix.UnixSFTPDirectory` - Undocumented
- `twisted.conch.unix.UnixSFTPFile` - Undocumented
- `twisted.conch.unix.UnixSSHRealm` - Undocumented
- `twisted.cred.checkers.AllowAnonymousAccess` - A credentials checker that unconditionally grants anonymous access.
- `twisted.cred.checkers.FilePasswordDB` - A file-based, text-based username/password database.
- `twisted.cred.checkers.InMemoryUsernamePasswordDatabaseDontUse` - An extremely simple credentials checker.
- `twisted.cred.credentials.Anonymous` - Undocumented
- `twisted.cred.credentials.CramMD5Credentials` - An encapsulation of some CramMD5 hashed credentials.
- `twisted.cred.credentials.DigestCredentialFactory` - Support for RFC2617 HTTP Digest Authentication
- `twisted.cred.credentials.DigestedCredentials` - Yet Another Simple HTTP Digest authentication scheme.
- `twisted.cred.credentials.SSHPrivateKey` - Undocumented
- `twisted.cred.credentials.UsernameHashedPassword` - Undocumented
- `twisted.cred.credentials.UsernamePassword` - Undocumented
  - `twisted.mail._cred.LOGINCredentials` - Undocumented
    - `twisted.mail.smtp.LOGINCredentials` - `LOGINCredentials` generates challenges for LOGIN authentication.
  - `twisted.mail._cred.PLAINCredentials` - Undocumented
- `twisted.cred.portal.Portal` - A mediator between clients and a realm.
- `twisted.cred.strcred.AuthOptionMixin` - Defines helper methods that can be added on to any `usage.Options` subclass that needs authentication.
  - `twisted.conch.tap.Options` - No class docstring; 0/1 instance variable, 0/4 class variable, 1/2 method documented
  - `twisted.mail.tap.Options` - An options list parser for twistd mail.
  - `twisted.tap.ftp.Options` - No class docstring; 0/4 class variable, 1/2 method documented
  - `twisted.words.tap.Options` - No class docstring; 0/5 class variable, 2/3 methods documented
- `twisted.enterprise.adbapi.Connection` - A wrapper for a DB-API connection instance.
- `twisted.enterprise.adbapi.ConnectionPool` - Represent a pool of connections to a DB-API 2.0 compliant database.
- `twisted.enterprise.adbapi.Transaction` - A lightweight wrapper for a DB-API 'cursor' object.
- `twisted.internet._baseprocess.BaseProcess` - No class docstring; 0/3 instance variable, 0/1 class variable, 2/4 methods documented
  - `twisted.internet._dumbwin32proc.Process` - A process that integrates with the Twisted event loop.
  - `twisted.internet.process._BaseProcess` - Base class for Process and PTYProcess.
    - `twisted.internet.process.Process` - An operating-system Process.
    - `twisted.internet.process.PTYProcess` - An operating-system Process that uses PTY support.
- `twisted.internet._newtls._BypassTLS` - `_BypassTLS` is used as the transport object for the TLS protocol object used to implement `startTLS`. Its methods skip any TLS logic which `startTLS` enables.
- `twisted.internet._newtls.ClientMixin` - A mixin for `twisted.internet.tcp.Client` which just marks it as a client for the purposes of the default TLS handshake.
  - `twisted.internet.tcp.BaseClient` - A base class for client TCP (and similar) sockets.
    - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
      - `twisted.internet.ssl.Client` - I am an SSL client.
    - `twisted.internet.unix.Client` - A client for Unix sockets.
- `twisted.internet._newtls.ConnectionMixin` - A mixin for `twisted.internet.abstract.FileDescriptor` which adds an `ITLSTransport` implementation.
  - `twisted.internet.tcp.Connection` - Superclass of all socket-based FileDescriptors.
    - `twisted.internet.tcp.BaseClient` - A base class for client TCP (and similar) sockets.
      - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
        - `twisted.internet.ssl.Client` - I am an SSL client.
      - `twisted.internet.unix.Client` - A client for Unix sockets.
    - `twisted.internet.tcp.Server` - Serverside socket-stream connection class.
      - `twisted.internet.ssl.Server` - I am an SSL server.
      - `twisted.internet.unix.Server` - No class docstring; 0/2 instance variable, 0/3 method, 1/1 class method documented
- `twisted.internet._newtls.ServerMixin` - A mixin for `twisted.internet.tcp.Server` which just marks it as a server for the purposes of the default TLS handshake.
  - `twisted.internet.tcp.Server` - Serverside socket-stream connection class.
    - `twisted.internet.ssl.Server` - I am an SSL server.
    - `twisted.internet.unix.Server` - No class docstring; 0/2 instance variable, 0/3 method, 1/1 class method documented
- `twisted.internet._pollingfile._PollableResource` - Undocumented
  - `twisted.internet._dumbwin32proc._Reaper` - Undocumented
  - `twisted.internet._pollingfile._PollableReadPipe` - Undocumented
  - `twisted.internet._pollingfile._PollableWritePipe` - No class docstring; 0/7 instance variable, 4/10 methods documented
- `twisted.internet._pollingfile._PollingTimer` - Undocumented
  - `twisted.internet._dumbwin32proc.Process` - A process that integrates with the Twisted event loop.
  - `twisted.internet.stdio.StandardIO` - No class docstring; 0/5 instance variable, 0/1 class variable, 1/15 method documented
- `twisted.internet._posixstdio.PipeAddress` - Undocumented
- `twisted.internet._posixstdio.StandardIO` - No class docstring; 0/5 instance variable, 2/21 methods documented
- `twisted.internet._producer_helpers._PullToPush` - An adapter that converts a non-streaming to a streaming producer.
- `twisted.internet._resolver.ComplexResolverSimplifier` - A converter from `IHostnameResolver` to `IResolverSimple`
- `twisted.internet._resolver.FirstOneWins` - An `IResolutionReceiver` which fires a `Deferred` with its first result.
- `twisted.internet._resolver.GAIResolver` - `IHostnameResolver` implementation that resolves hostnames by calling `getaddrinfo` in a thread.
- `twisted.internet._resolver.HostResolution` - The in-progress resolution of a given hostname.
- `twisted.internet._resolver.SimpleResolverComplexifier` - A converter from `IResolverSimple` to `IHostnameResolver`.
- `twisted.internet._sslverify._ChooseDiffieHellmanEllipticCurve` - Chooses the best elliptic curve for Elliptic Curve Diffie-Hellman key exchange, and provides a `configureECDHCurve` method to set the curve, when appropriate, on a new `OpenSSL.SSL.Context`.
- `twisted.internet._sslverify.CertBase` - Base class for public (certificate only) and private (certificate + key pair) certificates.
  - `twisted.internet.ssl.Certificate` - An x509 certificate.
    - `twisted.internet.ssl.PrivateCertificate` - An x509 certificate and private key.
  - `twisted.internet.ssl.CertificateRequest` - An x509 certificate request.
- `twisted.internet._sslverify.ClientTLSOptions` - Client creator for TLS.
- `twisted.internet._sslverify.OpenSSLCertificateAuthorities` - Trust an explicitly specified set of certificates, represented by a list of `OpenSSL.crypto.X509` objects.
- `twisted.internet._sslverify.OpenSSLCipher` - A representation of an OpenSSL cipher.
- `twisted.internet._sslverify.PublicKey` - A `PublicKey` is a representation of the public part of a key pair.
  - `twisted.internet.ssl.KeyPair` - No class docstring; 3/10 methods, 0/2 class method documented
- `twisted.internet.abstract._ConsumerMixin` - `IConsumer` implementations can mix this in to get `registerProducer` and `unregisterProducer` methods which take care of keeping track of a producer's state.
  - `twisted.internet.abstract.FileDescriptor` - An object which can be operated on by select().
    - `twisted.internet._posixserialport.SerialPort` - A select()able serial device, acting as a transport.
    - `twisted.internet.base.BasePort` - Basic implementation of a ListeningPort.
      - `twisted.internet.tcp.Port` - A TCP server port, listening for connections.
        - `twisted.internet.ssl.Port` - I am an SSL port.
        - `twisted.internet.unix.Port` - No class docstring; 0/4 instance variable, 2/6 methods, 1/1 class method documented
      - `twisted.internet.udp.Port` - UDP port, listening for packets.
        - `twisted.internet.udp.MulticastPort` - UDP Port that supports multicasting.
        - `twisted.internet.unix.DatagramPort` - Datagram UNIX port, listening for packets.
          - `twisted.internet.unix.ConnectedDatagramPort` - A connected datagram UNIX socket.
    - `twisted.internet.inotify.INotify` - The INotify file descriptor, it basically does everything related to INotify, from reading to notifying watch points.
    - `twisted.internet.process.ProcessReader` - ProcessReader
    - `twisted.internet.process.ProcessWriter` - (Internal) Helper class to write into a Process's input pipe.
    - `twisted.internet.process.PTYProcess` - An operating-system Process that uses PTY support.
    - `twisted.internet.serialport.SerialPort` - A serial device, acting as a transport, that uses a win32 event.
    - `twisted.internet.tcp.Connection` - Superclass of all socket-based FileDescriptors.
      - `twisted.internet.tcp.BaseClient` - A base class for client TCP (and similar) sockets.
        - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
          - `twisted.internet.ssl.Client` - I am an SSL client.
        - `twisted.internet.unix.Client` - A client for Unix sockets.
      - `twisted.internet.tcp.Server` - Serverside socket-stream connection class.
        - `twisted.internet.ssl.Server` - I am an SSL server.
        - `twisted.internet.unix.Server` - No class docstring; 0/2 instance variable, 0/3 method, 1/1 class method documented
    - `twisted.pair.tuntap.TuntapPort` - A Port that reads and writes packets from/to a TUN/TAP-device.
  - `twisted.internet.iocpreactor.abstract.FileHandle` - File handle that can read and write asynchronously
    - `twisted.internet.iocpreactor.tcp.Connection` - No summary
      - `twisted.internet.iocpreactor.tcp.Client` - No summary
      - `twisted.internet.iocpreactor.tcp.Server` - Serverside socket-stream connection class.
    - `twisted.internet.iocpreactor.udp.Port` - UDP port, listening for packets.
      - `twisted.internet.iocpreactor.udp.MulticastPort` - UDP Port that supports multicasting.
- `twisted.internet.abstract._LogOwner` - Mixin to help implement `interfaces.ILoggingContext` for transports which have a protocol, the log prefix of which should also appear in the transport's log prefix.
  - `twisted.internet.abstract.FileDescriptor` - An object which can be operated on by select().
    - `twisted.internet._posixserialport.SerialPort` - A select()able serial device, acting as a transport.
    - `twisted.internet.base.BasePort` - Basic implementation of a ListeningPort.
      - `twisted.internet.tcp.Port` - A TCP server port, listening for connections.
        - `twisted.internet.ssl.Port` - I am an SSL port.
        - `twisted.internet.unix.Port` - No class docstring; 0/4 instance variable, 2/6 methods, 1/1 class method documented
      - `twisted.internet.udp.Port` - UDP port, listening for packets.
        - `twisted.internet.udp.MulticastPort` - UDP Port that supports multicasting.
        - `twisted.internet.unix.DatagramPort` - Datagram UNIX port, listening for packets.
          - `twisted.internet.unix.ConnectedDatagramPort` - A connected datagram UNIX socket.
    - `twisted.internet.inotify.INotify` - The INotify file descriptor, it basically does everything related to INotify, from reading to notifying watch points.
    - `twisted.internet.process.ProcessReader` - ProcessReader
    - `twisted.internet.process.ProcessWriter` - (Internal) Helper class to write into a Process's input pipe.
    - `twisted.internet.process.PTYProcess` - An operating-system Process that uses PTY support.
    - `twisted.internet.serialport.SerialPort` - A serial device, acting as a transport, that uses a win32 event.
    - `twisted.internet.tcp.Connection` - Superclass of all socket-based FileDescriptors.
      - `twisted.internet.tcp.BaseClient` - A base class for client TCP (and similar) sockets.
        - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
          - `twisted.internet.ssl.Client` - I am an SSL client.
        - `twisted.internet.unix.Client` - A client for Unix sockets.
      - `twisted.internet.tcp.Server` - Serverside socket-stream connection class.
        - `twisted.internet.ssl.Server` - I am an SSL server.
        - `twisted.internet.unix.Server` - No class docstring; 0/2 instance variable, 0/3 method, 1/1 class method documented
    - `twisted.pair.tuntap.TuntapPort` - A Port that reads and writes packets from/to a TUN/TAP-device.
  - `twisted.internet.iocpreactor.abstract.FileHandle` - File handle that can read and write asynchronously
    - `twisted.internet.iocpreactor.tcp.Connection` - No summary
      - `twisted.internet.iocpreactor.tcp.Client` - No summary
      - `twisted.internet.iocpreactor.tcp.Server` - Serverside socket-stream connection class.
    - `twisted.internet.iocpreactor.udp.Port` - UDP port, listening for packets.
      - `twisted.internet.iocpreactor.udp.MulticastPort` - UDP Port that supports multicasting.
  - `twisted.internet.iocpreactor.tcp.Port` - No class docstring; 0/15 instance variable, 0/2 class variable, 5/11 methods documented
- `twisted.internet.address._ProcessAddress` - An `interfaces.IAddress` provider for process transports.
- `twisted.internet.address.HostnameAddress` - A `HostnameAddress` represents the address of a `HostnameEndpoint`.
- `twisted.internet.address.IPv4Address` - An `IPv4Address` represents the address of an IPv4 socket endpoint.
  - `twisted.internet.address._ServerFactoryIPv4Address` - Backwards compatibility hack. Just like IPv4Address in practice.
- `twisted.internet.address.IPv6Address` - An `IPv6Address` represents the address of an IPv6 socket endpoint.
- `twisted.internet.address.UNIXAddress` - Object representing a UNIX socket endpoint.
- `twisted.internet.base._SignalReactorMixin` - Private mixin to manage signals: it installs signal handlers at start time, and define run method.
  - `twisted.internet.iocpreactor.reactor.IOCPReactor` - No class docstring; 0/2 instance variable, 8/17 methods documented
  - `twisted.internet.posixbase.PosixReactorBase` - A basis for reactors that use file descriptors.
    - `twisted.internet._glibbase.GlibReactorBase` - Base class for GObject event loop reactors.
      - `twisted.internet.gireactor.GIReactor` - GObject-introspection event loop reactor.
        - `twisted.internet.gtk3reactor.Gtk3Reactor` - A reactor using the gtk3+ event loop.
      - `twisted.internet.gtk2reactor.Gtk2Reactor` - PyGTK+ 2 event loop reactor.
        - `twisted.internet.glib2reactor.Glib2Reactor` - The reactor using the glib mainloop.
    - `twisted.internet._threadedselect.ThreadedSelectReactor` - A threaded select() based reactor - runs on all POSIX platforms and on Win32.
      - `twisted.internet.wxreactor.WxReactor` - wxPython reactor.
    - `twisted.internet.asyncioreactor.AsyncioSelectorReactor` - Reactor running on top of `asyncio.SelectorEventLoop`.
    - `twisted.internet.cfreactor.CFReactor` - The CoreFoundation reactor.
    - `twisted.internet.epollreactor.EPollReactor` - A reactor that uses epoll(7).
    - `twisted.internet.kqreactor.KQueueReactor` - A reactor that uses kqueue(2)/kevent(2) and relies on Python 2.6 or higher which has built in support for kqueue in the select module.
    - `twisted.internet.pollreactor.PollReactor` - A reactor that uses poll(2).
    - `twisted.internet.selectreactor.SelectReactor` - A select() based reactor - runs on all POSIX platforms and on Win32.
      - `twisted.internet._glibbase.PortableGlibReactorBase` - Base class for GObject event loop reactors that works on Windows.
        - `twisted.internet.gireactor.PortableGIReactor` - Portable GObject Introspection event loop reactor.
          - `twisted.internet.gtk3reactor.PortableGtk3Reactor` - Portable GTK+ 3.x reactor.
        - `twisted.internet.gtk2reactor.PortableGtkReactor` - Reactor that works on Windows.
    - `twisted.internet.win32eventreactor.Win32Reactor` - Reactor that uses Win32 event APIs.
- `twisted.internet.base._ThreePhaseEvent` - Collection of callables (with arguments) which can be invoked as a group in a particular order.
- `twisted.internet.base.BlockingResolver` - Undocumented
- `twisted.internet.base.DelayedCall` - No class docstring; 0/11 instance variable, 0/2 class variable, 9/10 methods documented
- `twisted.internet.base.PluggableResolverMixin` - A mixin which implements the pluggable resolver reactor interfaces.
  - `twisted.internet.base.ReactorBase` - Default base class for Reactors.
    - `twisted.internet.iocpreactor.reactor.IOCPReactor` - No class docstring; 0/2 instance variable, 8/17 methods documented
    - `twisted.internet.posixbase.PosixReactorBase` - A basis for reactors that use file descriptors.
      - `twisted.internet._glibbase.GlibReactorBase` - Base class for GObject event loop reactors.
        - `twisted.internet.gireactor.GIReactor` - GObject-introspection event loop reactor.
          - `twisted.internet.gtk3reactor.Gtk3Reactor` - A reactor using the gtk3+ event loop.
        - `twisted.internet.gtk2reactor.Gtk2Reactor` - PyGTK+ 2 event loop reactor.
          - `twisted.internet.glib2reactor.Glib2Reactor` - The reactor using the glib mainloop.
      - `twisted.internet._threadedselect.ThreadedSelectReactor` - A threaded select() based reactor - runs on all POSIX platforms and on Win32.
        - `twisted.internet.wxreactor.WxReactor` - wxPython reactor.
      - `twisted.internet.asyncioreactor.AsyncioSelectorReactor` - Reactor running on top of `asyncio.SelectorEventLoop`.
      - `twisted.internet.cfreactor.CFReactor` - The CoreFoundation reactor.
      - `twisted.internet.epollreactor.EPollReactor` - A reactor that uses epoll(7).
      - `twisted.internet.kqreactor.KQueueReactor` - A reactor that uses kqueue(2)/kevent(2) and relies on Python 2.6 or higher which has built in support for kqueue in the select module.
      - `twisted.internet.pollreactor.PollReactor` - A reactor that uses poll(2).
      - `twisted.internet.selectreactor.SelectReactor` - A select() based reactor - runs on all POSIX platforms and on Win32.
        - `twisted.internet._glibbase.PortableGlibReactorBase` - Base class for GObject event loop reactors that works on Windows.
          - `twisted.internet.gireactor.PortableGIReactor` - Portable GObject Introspection event loop reactor.
            - `twisted.internet.gtk3reactor.PortableGtk3Reactor` - Portable GTK+ 3.x reactor.
          - `twisted.internet.gtk2reactor.PortableGtkReactor` - Reactor that works on Windows.
      - `twisted.internet.win32eventreactor.Win32Reactor` - Reactor that uses Win32 event APIs.
- `twisted.internet.base.ThreadedResolver` - `ThreadedResolver` uses a reactor, a threadpool, and `socket.gethostbyname` to perform name lookups without blocking the reactor thread. It also supports timeouts indepedently from whatever timeout logic ...
  - `twisted.names.client.ThreadedResolver` - Undocumented
- `twisted.internet.defer._CancellationStatus` - Cancellation status of an `inlineCallbacks` invocation.
- `twisted.internet.defer.DebugInfo` - Deferred debug helper.
- `twisted.internet.defer.waitForDeferred` - See `deferredGenerator`.
- `twisted.internet.endpoints._SimpleHostnameResolver` - An `IHostnameResolver` provider that invokes a provided callable to resolve hostnames.
- `twisted.internet.endpoints._StandardIOParser` - Stream server endpoint string parser for the Standard I/O type.
- `twisted.internet.endpoints._SystemdParser` - Stream server endpoint string parser for the systemd endpoint type.
- `twisted.internet.endpoints._TCP6ServerParser` - Stream server endpoint string parser for the TCP6ServerEndpoint type.
- `twisted.internet.endpoints._TCPServerEndpoint` - A TCP server endpoint interface
  - `twisted.internet.endpoints.TCP4ServerEndpoint` - Implements TCP server endpoint with an IPv4 configuration
  - `twisted.internet.endpoints.TCP6ServerEndpoint` - Implements TCP server endpoint with an IPv6 configuration
- `twisted.internet.endpoints._TLSClientEndpointParser` - Stream client endpoint string parser for `wrapClientTLS` with `HostnameEndpoint`.
- `twisted.internet.endpoints._WrapperEndpoint` - An endpoint that wraps another endpoint.
- `twisted.internet.endpoints._WrapperServerEndpoint` - A server endpoint that wraps another server endpoint.
- `twisted.internet.endpoints.AdoptedStreamServerEndpoint` - An endpoint for listening on a file descriptor initialized outside of Twisted.
- `twisted.internet.endpoints.HostnameEndpoint` - A name-based endpoint that connects to the fastest amongst the resolved host addresses.
- `twisted.internet.endpoints.ProcessEndpoint` - An endpoint for child processes
- `twisted.internet.endpoints.SSL4ClientEndpoint` - SSL secured TCP client endpoint with an IPv4 configuration
- `twisted.internet.endpoints.SSL4ServerEndpoint` - SSL secured TCP server endpoint with an IPv4 configuration.
- `twisted.internet.endpoints.StandardIOEndpoint` - A Standard Input/Output endpoint
- `twisted.internet.endpoints.TCP4ClientEndpoint` - TCP client endpoint with an IPv4 configuration.
- `twisted.internet.endpoints.TCP6ClientEndpoint` - TCP client endpoint with an IPv6 configuration.
- `twisted.internet.endpoints.UNIXClientEndpoint` - UnixSocket client endpoint.
- `twisted.internet.endpoints.UNIXServerEndpoint` - UnixSocket server endpoint.
- `twisted.internet.inotify._Watch` - Watch object that represents a Watch point in the filesystem. The user should let INotify to create these objects
- `twisted.internet.iocpreactor.udp.MulticastMixin` - Implement multicast functionality.
  - `twisted.internet.iocpreactor.udp.MulticastPort` - UDP Port that supports multicasting.
- `twisted.internet.posixbase._DisconnectSelectableMixin` - Mixin providing the `_disconnectSelectable` method.
  - `twisted.internet.posixbase._ContinuousPolling` - Schedule reads and writes based on the passage of time, rather than notification.
  - `twisted.internet.posixbase.PosixReactorBase` - A basis for reactors that use file descriptors.
    - `twisted.internet._glibbase.GlibReactorBase` - Base class for GObject event loop reactors.
      - `twisted.internet.gireactor.GIReactor` - GObject-introspection event loop reactor.
        - `twisted.internet.gtk3reactor.Gtk3Reactor` - A reactor using the gtk3+ event loop.
      - `twisted.internet.gtk2reactor.Gtk2Reactor` - PyGTK+ 2 event loop reactor.
        - `twisted.internet.glib2reactor.Glib2Reactor` - The reactor using the glib mainloop.
    - `twisted.internet._threadedselect.ThreadedSelectReactor` - A threaded select() based reactor - runs on all POSIX platforms and on Win32.
      - `twisted.internet.wxreactor.WxReactor` - wxPython reactor.
    - `twisted.internet.asyncioreactor.AsyncioSelectorReactor` - Reactor running on top of `asyncio.SelectorEventLoop`.
    - `twisted.internet.cfreactor.CFReactor` - The CoreFoundation reactor.
    - `twisted.internet.epollreactor.EPollReactor` - A reactor that uses epoll(7).
    - `twisted.internet.kqreactor.KQueueReactor` - A reactor that uses kqueue(2)/kevent(2) and relies on Python 2.6 or higher which has built in support for kqueue in the select module.
    - `twisted.internet.pollreactor.PollReactor` - A reactor that uses poll(2).
    - `twisted.internet.selectreactor.SelectReactor` - A select() based reactor - runs on all POSIX platforms and on Win32.
      - `twisted.internet._glibbase.PortableGlibReactorBase` - Base class for GObject event loop reactors that works on Windows.
        - `twisted.internet.gireactor.PortableGIReactor` - Portable GObject Introspection event loop reactor.
          - `twisted.internet.gtk3reactor.PortableGtk3Reactor` - Portable GTK+ 3.x reactor.
        - `twisted.internet.gtk2reactor.PortableGtkReactor` - Reactor that works on Windows.
    - `twisted.internet.win32eventreactor.Win32Reactor` - Reactor that uses Win32 event APIs.
- `twisted.internet.posixbase._PollLikeMixin` - Mixin for poll-like reactors.
  - `twisted.internet._glibbase.GlibReactorBase` - Base class for GObject event loop reactors.
    - `twisted.internet.gireactor.GIReactor` - GObject-introspection event loop reactor.
      - `twisted.internet.gtk3reactor.Gtk3Reactor` - A reactor using the gtk3+ event loop.
    - `twisted.internet.gtk2reactor.Gtk2Reactor` - PyGTK+ 2 event loop reactor.
      - `twisted.internet.glib2reactor.Glib2Reactor` - The reactor using the glib mainloop.
  - `twisted.internet.epollreactor.EPollReactor` - A reactor that uses epoll(7).
  - `twisted.internet.pollreactor.PollReactor` - A reactor that uses poll(2).
  - `twisted.internet.posixbase._ContinuousPolling` - Schedule reads and writes based on the passage of time, rather than notification.
- `twisted.internet.posixbase._Waker`
  - `twisted.internet.cfreactor._WakerPlus` - The normal Twisted waker will simply wake up the main loop, which causes an iteration to run, which in turn causes `ReactorBase.runUntilCurrent` to get invoked.
- `twisted.internet.process._FDDetector` - This class contains the logic necessary to decide which of the available system techniques should be used to detect the open file descriptors for the current process. The chosen technique gets monkey-patched into the _listOpenFDs method of this class so that the detection only needs to occur once.
- `twisted.internet.protocol.AbstractDatagramProtocol` - Abstract protocol for datagram-oriented transports, e.g. IP, ICMP, ARP, UDP.
  - `twisted.internet.protocol.DatagramProtocol` - Protocol for datagram-oriented transport, e.g. UDP.
    - `twisted.internet.protocol.ConnectedDatagramProtocol` - Protocol for connected datagram-oriented transport.
    - `twisted.names.dns.DNSDatagramProtocol` - DNS protocol over UDP.
    - `twisted.protocols.sip.Base` - Base class for SIP clients and servers.
      - `twisted.protocols.sip.Proxy` - SIP proxy.
        - `twisted.protocols.sip.RegisterProxy` - A proxy that allows registration for a specific domain.
  - `twisted.pair.ethernet.EthernetProtocol` - Undocumented
  - `twisted.pair.ip.IPProtocol` - Undocumented
  - `twisted.pair.rawudp.RawUDPProtocol` - Undocumented
- `twisted.internet.protocol.BaseProtocol` - This is the abstract superclass of all protocols.
  - `twisted.internet.protocol.ProcessProtocol` - Base process protocol implementation which does simple dispatching for stdin, stdout, and stderr file descriptors.
    - `twisted.conch.ssh.session._ProtocolWrapper` - This class wraps a `Protocol` instance in a `ProcessProtocol` instance.
    - `twisted.conch.ssh.session.SSHSessionProcessProtocol` - I am both an `IProcessProtocol` and an `ITransport`.
    - `twisted.conch.stdio.TerminalProcessProtocol` - No class docstring; 0/2 instance variable, 3/7 methods documented
    - `twisted.internet.endpoints._WrapIProtocol` - An `IProcessProtocol` provider that wraps an `IProtocol`.
    - `twisted.internet.utils._BackRelay` - Trivial protocol for communicating with a process and turning its output into the result of a `Deferred`.
    - `twisted.internet.utils._EverythingGetter` - Undocumented
    - `twisted.internet.utils._ValueGetter` - Undocumented
    - `twisted.mail.alias.ProcessAliasProtocol` - A process protocol which errbacks a deferred when the associated process ends.
    - `twisted.runner.procmon.LoggingProtocol` - Undocumented
    - `twisted.trial._dist.worker.LocalWorker` - Local process worker protocol. This worker runs as a local process and communicates via stdin/out.
    - `twisted.web.twcgi.CGIProcessProtocol` - No class docstring; 0/5 instance variable, 0/2 class variable, 2/12 methods documented
  - `twisted.internet.protocol.Protocol` - This is the base class for streaming connection-oriented protocols.
    - `twisted.conch.client.agent.SSHAgentForwardingLocal` - Undocumented
    - `twisted.conch.insults.helper.TerminalBuffer` - An in-memory terminal emulator.
      - `twisted.conch.insults.helper.ExpectableBuffer` - Undocumented
    - `twisted.conch.insults.insults.ClientProtocol` - No class docstring; 0/5 instance variable, 0/6 class variable, 2/6 methods, 0/1 class documented
    - `twisted.conch.insults.insults.ServerProtocol` - No class docstring; 0/9 instance variable, 0/4 class variable, 0/2 constant, 1/55 method, 0/1 class documented
    - `twisted.conch.ssh.agent.SSHAgentClient` - The client side of the SSH agent protocol. This is equivalent to ssh-add(1) and can be used with either ssh-agent(1) or the SSHAgentServer protocol, also in this package.
      - `twisted.conch.client.agent.SSHAgentClient` - No class docstring; 0/1 instance variable, 0/1 class variable, 1/4 method documented
    - `twisted.conch.ssh.agent.SSHAgentServer` - The server side of the SSH agent protocol. This is equivalent to ssh-agent(1) and can be used with either ssh-add(1) or the SSHAgentClient protocol, also in this package.
    - `twisted.conch.ssh.filetransfer.FileTransferBase` - No class docstring; 0/3 instance variable, 0/3 class variable, 1/6 method documented
      - `twisted.conch.ssh.filetransfer.FileTransferClient` - No class docstring; 0/4 instance variable, 17/27 methods documented
      - `twisted.conch.ssh.filetransfer.FileTransferServer` - No class docstring; 0/4 instance variable, 2/35 methods documented
    - `twisted.conch.ssh.forwarding.SSHForwardingClient` - Undocumented
    - `twisted.conch.ssh.session.SSHSessionClient` - Undocumented
    - `twisted.conch.ssh.transport.SSHTransportBase` - Protocol supporting basic SSH functionality: sending/receiving packets and message dispatch. To connect to or run a server, you must use SSHClientTransport or SSHServerTransport.
      - `twisted.conch.ssh.transport.SSHClientTransport` - SSHClientTransport implements the client side of the SSH protocol.
        - `twisted.conch.client.direct.SSHClientTransport` - Undocumented
        - `twisted.conch.endpoints._CommandTransport` - `_CommandTransport` is an SSH client transport which includes a host key verification step before it will proceed to secure the connection.
        - `twisted.conch.scripts.tkconch.SSHClientTransport` - Undocumented
      - `twisted.conch.ssh.transport.SSHServerTransport` - SSHServerTransport implements the server side of the SSH protocol.
    - `twisted.conch.telnet.Telnet` - No summary
      - `twisted.conch.telnet.TelnetTransport` - No summary
    - `twisted.conch.telnet.TelnetProtocol` - Undocumented
      - `twisted.conch.telnet.StatefulTelnetProtocol` - Undocumented
        - `twisted.conch.telnet.AuthenticatingTelnetProtocol` - A protocol which prompts for credentials and attempts to authenticate them.
      - `twisted.conch.telnet.TelnetBootstrapProtocol` - Undocumented
    - `twisted.internet.endpoints._WrappingProtocol` - Wrap another protocol in order to notify my user when a connection has been made.
    - `twisted.internet.testing.AccumulatingProtocol` - `AccumulatingProtocol` is an `IProtocol` implementation which collects the data delivered to it and can fire a Deferred when it is connected or disconnected.
    - `twisted.names.dns.DNSProtocol` - DNS protocol over TCP.
    - `twisted.protocols.basic.IntNStringReceiver` - Generic class for length prefixed protocols.
      - `twisted.protocols.basic.Int16StringReceiver` - A receiver for int16-prefixed strings.
        - `twisted.protocols.amp.BinaryBoxProtocol` - A protocol for receiving `AmpBox`es - key/value pairs - via length-prefixed strings. A box is composed of:
          - `twisted.protocols.amp.AMP` - This protocol is an AMP connection. See the module docstring for protocol details.
            - `twisted.trial._dist.worker.LocalWorkerAMP` - Local implementation of the manager commands.
            - `twisted.trial._dist.worker.WorkerProtocol` - The worker-side trial distributed protocol.
      - `twisted.protocols.basic.Int32StringReceiver` - A receiver for int32-prefixed strings.
      - `twisted.protocols.basic.Int8StringReceiver` - A receiver for int8-prefixed strings.
    - `twisted.protocols.basic.LineOnlyReceiver` - A protocol that receives only lines.
      - `twisted.mail.pop3.AdvancedPOP3Client` - A POP3 client protocol.
      - `twisted.mail.pop3.POP3` - A POP3 server protocol.
        - `twisted.mail.protocols.VirtualPOP3` - A virtual hosting POP3 server.
      - `twisted.mail.pop3.POP3Client` - A POP3 client protocol.
      - `twisted.mail.smtp.SMTP` - SMTP server-side protocol.
        - `twisted.mail.smtp.ESMTP` - No class docstring; 0/10 instance variable, 0/1 class variable, 4/12 methods documented
      - `twisted.protocols.ident.IdentClient` - No class docstring; 0/1 instance variable, 0/1 class variable, 1/5 method documented
      - `twisted.protocols.ident.IdentServer` - The Identification Protocol (a.k.a., "ident", a.k.a., "the Ident Protocol") provides a means to determine the identity of a user of a particular TCP connection. Given a TCP port number pair, it returns a character string which identifies the owner of that connection on the server's system.
    - `twisted.protocols.basic.LineReceiver` - A protocol that receives lines and/or raw data, depending on mode.
      - `twisted.conch.scripts.cftp.StdioClient` - No class docstring; 0/5 instance variable, 0/2 class variable, 8/59 methods documented
      - `twisted.conch.telnet.StatefulTelnetProtocol` - Undocumented
        - `twisted.conch.telnet.AuthenticatingTelnetProtocol` - A protocol which prompts for credentials and attempts to authenticate them.
      - `twisted.internet.testing.LineSendingProtocol` - Undocumented
      - `twisted.mail.imap4.IMAP4Client` - IMAP4 client protocol implementation
      - `twisted.mail.imap4.IMAP4Server` - Protocol implementation for an IMAP4rev1 server.
      - `twisted.mail.smtp.SMTPClient` - SMTP client for sending emails.
        - `twisted.mail.relay.SMTPRelayer` - A base class for SMTP relayers.
          - `twisted.mail.relaymanager.SMTPManagedRelayer` - An SMTP managed relayer.
        - `twisted.mail.smtp.ESMTPClient` - A client for sending emails over ESMTP.
          - `twisted.mail.relay.ESMTPRelayer` - A base class for ESMTP relayers.
            - `twisted.mail.relaymanager.ESMTPManagedRelayer` - An ESMTP managed relayer.
          - `twisted.mail.smtp.ESMTPSender` - Undocumented
        - `twisted.mail.smtp.SMTPSender` - SMTP protocol that sends a single email based on information it gets from its factory, a `SMTPSenderFactory`.
      - `twisted.positioning.nmea.NMEAProtocol` - A protocol that parses and verifies the checksum of an NMEA sentence (in string form, not `NMEASentence`), and delegates to a receiver.
      - `twisted.protocols.dict.DictClient` - dict (RFC2229) client
        - `twisted.protocols.dict.DictLookup` - Utility class for a single dict transaction. To be used with DictLookupFactory
      - `twisted.protocols.finger.Finger` - Undocumented
      - `twisted.protocols.ftp.FTP` - Protocol Interpreter for the File Transfer Protocol
      - `twisted.protocols.ftp.FTPClientBasic` - Foundations of an FTP client.
        - `twisted.protocols.ftp.FTPClient` - `FTPClient` is a client implementation of the FTP protocol which exposes FTP commands as methods which return `Deferred`s.
      - `twisted.protocols.ftp.FTPFileListProtocol` - Parser for standard FTP file listings
      - `twisted.protocols.ftp.FTPOverflowProtocol` - FTP mini-protocol for when there are too many connections.
      - `twisted.protocols.memcache.MemCacheProtocol` - MemCache protocol: connect to a memcached server to store/retrieve values.
      - `twisted.protocols.postfix.PostfixTCPMapServer` - Postfix mail transport agent TCP map protocol implementation.
      - `twisted.protocols.sip.MessagesParser` - A SIP messages parser.
      - `twisted.runner.procmon.LineLogger` - Undocumented
      - `twisted.web._newclient.HTTPParser` - `HTTPParser` handles the parsing side of HTTP processing. With a suitable subclass, it can parse either the client side or the server side of the connection.
        - `twisted.web._newclient.HTTPClientParser` - An HTTP parser which only handles HTTP responses.
      - `twisted.web.http.HTTPChannel` - A receiver for HTTP requests.
        - `twisted.web.proxy.Proxy` - This class implements a simple web proxy.
        - `twisted.web.proxy.ReverseProxy` - Implements a simple reverse proxy.
      - `twisted.web.http.HTTPClient` - A client for HTTP 1.0.
        - `twisted.protocols.shoutcast.ShoutcastClient` - Shoutcast HTTP stream.
        - `twisted.web.proxy.ProxyClient` - Used by ProxyClientFactory to implement a simple web proxy.
        - `twisted.web.xmlrpc.QueryProtocol` - No class docstring; 0/1 instance variable, 2/4 methods documented
      - `twisted.words.protocols.irc.DccChat` - Direct Client Connection protocol type CHAT.
      - `twisted.words.protocols.irc.IRCClient` - Internet Relay Chat client protocol, with sprinkles.
        - `twisted.words.im.ircsupport.IRCProto` - No class docstring; 0/10 instance variable, 2/21 methods documented
    - `twisted.protocols.basic.NetstringReceiver` - A protocol that sends and receives netstrings.
    - `twisted.protocols.ftp.DTP` - No class docstring; 0/4 instance variable, 0/1 class variable, 2/15 methods documented
    - `twisted.protocols.ftp.ProtocolWrapper` - Undocumented
    - `twisted.protocols.ftp.SenderProtocol` - No class docstring; 0/2 instance variable, 2/8 methods documented
    - `twisted.protocols.policies.ProtocolWrapper` - Wraps protocol instances and acts as their transport as well.
      - `twisted.protocols.haproxy._wrapper.HAProxyProtocolWrapper` - A Protocol wrapper that provides HAProxy support.
      - `twisted.protocols.loopback._FireOnClose` - Undocumented
      - `twisted.protocols.policies.SpewingProtocol` - Undocumented
      - `twisted.protocols.policies.ThrottlingProtocol` - Protocol for `ThrottlingFactory`.
      - `twisted.protocols.policies.TimeoutProtocol` - Protocol that automatically disconnects when the connection is idle.
      - `twisted.protocols.policies.TrafficLoggingProtocol` - No class docstring; 0/3 instance variable, 1/9 method documented
      - `twisted.protocols.tls.TLSMemoryBIOProtocol` - `TLSMemoryBIOProtocol` is a protocol wrapper which uses OpenSSL via a memory BIO to encrypt bytes written to it before sending them on to the underlying transport and decrypts bytes received from the underlying transport before delivering them to the wrapped protocol.
    - `twisted.protocols.portforward.Proxy` - Undocumented
      - `twisted.protocols.portforward.ProxyClient` - Undocumented
      - `twisted.protocols.portforward.ProxyServer` - Undocumented
    - `twisted.protocols.socks.SOCKSv4` - An implementation of the SOCKSv4 protocol.
    - `twisted.protocols.socks.SOCKSv4Incoming` - Undocumented
    - `twisted.protocols.socks.SOCKSv4Outgoing` - Undocumented
    - `twisted.protocols.stateful.StatefulProtocol` - A Protocol that stores state for you.
    - `twisted.protocols.wire.Chargen` - Generate repeating noise (RFC 864).
    - `twisted.protocols.wire.Daytime` - Send back the daytime in ASCII form (RFC 867).
    - `twisted.protocols.wire.Discard` - Discard any received data (RFC 863).
    - `twisted.protocols.wire.Echo` - As soon as any data is received, write it back (RFC 862).
    - `twisted.protocols.wire.QOTD` - Return a quote of the day (RFC 865).
    - `twisted.protocols.wire.Time` - Send back the time in machine readable form (RFC 868).
    - `twisted.protocols.wire.Who` - Return list of active users (RFC 866)
    - `twisted.runner.inetd.InetdProtocol` - Forks a child process on connectionMade, passing the socket as fd 0.
    - `twisted.spread.banana.Banana` - `Banana` implements the Banana s-expression protocol, client and server.
      - `twisted.spread.pb.Broker` - I am a broker for objects.
        - `twisted.mail.pb.MaildirBroker` - Undocumented
        - `twisted.mail.pb.MaildirClient` - Undocumented
    - `twisted.web._http2.H2Connection` - A class representing a single HTTP/2 connection.
    - `twisted.web._newclient.HTTP11ClientProtocol` - `HTTP11ClientProtocol` is an implementation of the HTTP 1.1 client protocol. It supports as few features as possible.
    - `twisted.web.client._ReadBodyProtocol` - Protocol that collects data sent to it.
    - `twisted.web.sux.XMLParser` - No class docstring; 0/23 instance variable, 0/2 class variable, 10/55 methods documented
      - `twisted.web.microdom.MicroDOMParser` - Undocumented
      - `twisted.words.xish.domish.SuxElementStream` - Undocumented
    - `twisted.words.protocols.irc.DccFileReceiveBasic` - Bare protocol to receive a Direct Client Connection SEND stream.
      - `twisted.words.protocols.irc.DccFileReceive` - Higher-level coverage for getting a file from DCC SEND.
    - `twisted.words.protocols.irc.DccSendProtocol` - Protocol for an outgoing Direct Client Connection SEND.
    - `twisted.words.protocols.irc.IRC` - Internet Relay Chat server protocol.
      - `twisted.words.service.IRCUser` - Protocol instance representing an IRC user connected to the server.
    - `twisted.words.xish.xmlstream.XmlStream` - Generic Streaming XML protocol handler.
      - `twisted.words.protocols.jabber.xmlstream.XmlStream` - XMPP XML Stream protocol handler.
- `twisted.internet.protocol.ClientCreator` - Client connections that do not require a factory.
- `twisted.internet.protocol.Factory` - This is a factory which produces protocols.
  - `twisted.conch.ssh.factory.SSHFactory` - A Factory for SSH servers.
    - `twisted.conch.manhole_ssh.ConchFactory` - Undocumented
    - `twisted.conch.openssh_compat.factory.OpenSSHFactory` - No class docstring; 0/2 class variable, 2/3 methods documented
  - `twisted.conch.ssh.forwarding.SSHListenForwardingFactory` - Undocumented
  - `twisted.internet.protocol.ClientFactory` - A Protocol factory for clients.
    - `twisted.conch.client.direct.SSHClientFactory` - Undocumented
    - `twisted.conch.scripts.tkconch.SSHClientFactory` - Undocumented
    - `twisted.internet.endpoints._WrappingFactory` - Wrap a factory in order to wrap the protocols it builds.
    - `twisted.internet.protocol._InstanceFactory` - Factory used by ClientCreator.
    - `twisted.internet.protocol.ReconnectingClientFactory` - Factory which auto-reconnects clients with an exponential back-off.
      - `twisted.words.xish.xmlstream.XmlStreamFactory` - Factory for XmlStream protocol objects as a reconnection client.
        - `twisted.words.protocols.jabber.xmlstream.XmlStreamFactory` - Factory for Jabber XmlStream objects as a reconnecting client.
    - `twisted.mail.relaymanager.SMTPManagedRelayerFactory` - A factory to create an `SMTPManagedRelayer`.
      - `twisted.mail.relaymanager.ESMTPManagedRelayerFactory` - A factory to create an `ESMTPManagedRelayer`.
    - `twisted.mail.smtp.SMTPSenderFactory` - Utility factory for sending emails easily.
      - `twisted.mail.smtp.ESMTPSenderFactory` - Utility factory for sending emails easily.
    - `twisted.names.client.DNSClientFactory` - No class docstring; 0/2 instance variable, 1/4 method documented
    - `twisted.protocols.dict.DictLookupFactory` - Utility factory for a single dict transaction
    - `twisted.protocols.ftp._PassiveConnectionFactory` - Undocumented
    - `twisted.protocols.ftp.DTPFactory` - Client factory for data transfer process protocols.
    - `twisted.protocols.loopback.LoopbackClientFactory` - Undocumented
    - `twisted.protocols.policies.WrappingFactory` - Wraps a factory and its protocols, and keeps track of them.
      - `twisted.protocols.haproxy._wrapper.HAProxyWrappingFactory` - A Factory wrapper that adds PROXY protocol support to connections.
      - `twisted.protocols.policies.LimitConnectionsByPeer` - Undocumented
      - `twisted.protocols.policies.SpewingFactory` - Undocumented
      - `twisted.protocols.policies.ThrottlingFactory` - Throttles bandwidth and number of connections.
      - `twisted.protocols.policies.TimeoutFactory` - Factory for TimeoutWrapper.
      - `twisted.protocols.policies.TrafficLoggingFactory` - No class docstring; 0/3 instance variable, 1/4 method documented
      - `twisted.protocols.tls.TLSMemoryBIOFactory` - `TLSMemoryBIOFactory` adds TLS to connections.
    - `twisted.protocols.portforward.ProxyClientFactory` - Undocumented
    - `twisted.spread.pb.PBClientFactory` - Client factory for PB brokers.
    - `twisted.web.proxy.ProxyClientFactory` - Used by ProxyRequest to implement a simple web proxy.
    - `twisted.web.xmlrpc.QueryFactory` - XML-RPC Client Factory
    - `twisted.words.protocols.irc.DccChatFactory` - Undocumented
  - `twisted.internet.protocol.ServerFactory` - Subclass this to indicate that your protocol.Factory is only usable for servers.
    - `twisted.mail.protocols.POP3Factory` - A POP3 server protocol factory.
    - `twisted.mail.smtp.SMTPFactory` - Factory for SMTP.
      - `twisted.mail.protocols.SMTPFactory` - An SMTP server protocol factory.
        - `twisted.mail.protocols.ESMTPFactory` - An ESMTP server protocol factory.
    - `twisted.names.server.DNSServerFactory` - Server factory and tracker for `DNSProtocol` connections. This class also provides records for responses to DNS queries.
    - `twisted.protocols.ftp.FTPDataPortFactory` - Factory for data connections that use the PORT command
    - `twisted.protocols.policies.LimitTotalConnectionsFactory` - Factory that limits the number of simultaneous connections.
      - `twisted.protocols.ftp.FTPFactory` - A factory for producing ftp protocol instances
    - `twisted.protocols.postfix.PostfixTCPMapDeferringDictServerFactory` - An in-memory dictionary factory for PostfixTCPMapServer.
    - `twisted.protocols.postfix.PostfixTCPMapDictServerFactory` - An in-memory dictionary factory for PostfixTCPMapServer.
    - `twisted.runner.inetd.InetdFactory` - Undocumented
    - `twisted.spread.pb.PBServerFactory` - Server factory for perspective broker.
    - `twisted.web.http.HTTPFactory` - Factory for HTTP server.
      - `twisted.web.server.Site` - A web site: manage log, sessions, and resources.
    - `twisted.words.protocols.jabber.xmlstream.XmlStreamServerFactory` - Factory for Jabber XmlStream objects as a server.
      - `twisted.words.protocols.jabber.component.XMPPComponentServerFactory` - XMPP Component Server factory.
    - `twisted.words.service.IRCFactory` - IRC server that creates instances of the `IRCUser` protocol.
  - `twisted.protocols.portforward.ProxyFactory` - Factory for port forwarder.
  - `twisted.protocols.socks.SOCKSv4Factory` - A factory for a SOCKSv4 proxy.
  - `twisted.protocols.socks.SOCKSv4IncomingFactory` - A utility class for building protocols for incoming connections.
  - `twisted.web.client._HTTP11ClientFactory` - A factory for `HTTP11ClientProtocol`, used by `HTTPConnectionPool`.
  - `twisted.words.protocols.irc.DccSendFactory` - Undocumented
- `twisted.internet.protocol.FileWrapper` - A wrapper around a file-like object to make it behave as a Transport.
- `twisted.internet.serialport.BaseSerialPort` - Base class for Windows and POSIX serial ports.
  - `twisted.internet._posixserialport.SerialPort` - A select()able serial device, acting as a transport.
  - `twisted.internet.serialport.SerialPort` - A serial device, acting as a transport, that uses a win32 event.
- `twisted.internet.ssl.AcceptableCiphers` - A representation of ciphers that are acceptable for TLS connections.
- `twisted.internet.ssl.CertificateOptions` - A `CertificateOptions` specifies the security properties for a client or server TLS connection used with OpenSSL.
- `twisted.internet.ssl.ClientContextFactory` - A context factory for SSL clients.
- `twisted.internet.ssl.ContextFactory` - A factory for SSL context objects, for server SSL connections.
  - `twisted.internet.ssl.DefaultOpenSSLContextFactory` - `DefaultOpenSSLContextFactory` is a factory for server-side SSL context objects. These objects define certain parameters related to SSL handshakes and the subsequent connection.
- `twisted.internet.ssl.DiffieHellmanParameters` - A representation of key generation parameters that are required for Diffie-Hellman key exchange.
- `twisted.internet.ssl.OpenSSLDefaultPaths` - Trust the set of default verify paths that OpenSSL was built with, as specified by SSL_CTX_set_default_verify_paths.
- `twisted.internet.stdio.PipeAddress` - Undocumented
- `twisted.internet.task._Timer` - Undocumented
- `twisted.internet.task.Clock` - Provide a deterministic, easily-controlled implementation of `IReactorTime.callLater`. This is commonly useful for writing deterministic unit tests for code which schedules events using this API.
  - `twisted.internet.testing.MemoryReactorClock` - Undocumented
- `twisted.internet.task.CooperativeTask` - A `CooperativeTask` is a task object inside a `Cooperator`, which can be paused, resumed, and stopped. It can also have its completion (or termination) monitored.
- `twisted.internet.task.Cooperator` - Cooperative task scheduler.
- `twisted.internet.task.LoopingCall` - Call a function repeatedly.
- `twisted.internet.tcp._AbortingMixin` - Common implementation of `abortConnection`.
  - `twisted.internet.iocpreactor.tcp.Connection` - No summary
    - `twisted.internet.iocpreactor.tcp.Client` - No summary
    - `twisted.internet.iocpreactor.tcp.Server` - Serverside socket-stream connection class.
  - `twisted.internet.tcp.Connection` - Superclass of all socket-based FileDescriptors.
    - `twisted.internet.tcp.BaseClient` - A base class for client TCP (and similar) sockets.
      - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
        - `twisted.internet.ssl.Client` - I am an SSL client.
      - `twisted.internet.unix.Client` - A client for Unix sockets.
    - `twisted.internet.tcp.Server` - Serverside socket-stream connection class.
      - `twisted.internet.ssl.Server` - I am an SSL server.
      - `twisted.internet.unix.Server` - No class docstring; 0/2 instance variable, 0/3 method, 1/1 class method documented
- `twisted.internet.tcp._BaseBaseClient` - Code shared with other (non-POSIX) reactors for management of general outgoing connections.
  - `twisted.internet.iocpreactor.tcp.Client` - No summary
  - `twisted.internet.tcp.BaseClient` - A base class for client TCP (and similar) sockets.
    - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
      - `twisted.internet.ssl.Client` - I am an SSL client.
    - `twisted.internet.unix.Client` - A client for Unix sockets.
- `twisted.internet.tcp._BaseTCPClient` - Code shared with other (non-POSIX) reactors for management of outgoing TCP connections (both TCPv4 and TCPv6).
  - `twisted.internet.iocpreactor.tcp.Client` - No summary
  - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
    - `twisted.internet.ssl.Client` - I am an SSL client.
- `twisted.internet.tcp._BuffersLogs` - A context manager that buffers any log events until after its block exits.
- `twisted.internet.tcp._FileDescriptorReservation` - `_IFileDescriptorReservation` implementation.
- `twisted.internet.tcp._NullFileDescriptorReservation` - A null implementation of `_IFileDescriptorReservation`.
- `twisted.internet.tcp._SocketCloser` - No summary
  - `twisted.internet.iocpreactor.tcp.Connection` - No summary
    - `twisted.internet.iocpreactor.tcp.Client` - No summary
    - `twisted.internet.iocpreactor.tcp.Server` - Serverside socket-stream connection class.
  - `twisted.internet.iocpreactor.tcp.Port` - No class docstring; 0/15 instance variable, 0/2 class variable, 5/11 methods documented
  - `twisted.internet.tcp.Connection` - Superclass of all socket-based FileDescriptors.
    - `twisted.internet.tcp.BaseClient` - A base class for client TCP (and similar) sockets.
      - `twisted.internet.tcp.Client` - A transport for a TCP protocol; either TCPv4 or TCPv6.
        - `twisted.internet.ssl.Client` - I am an SSL client.
      - `twisted.internet.unix.Client` - A client for Unix sockets.
    - `twisted.internet.tcp.Server` - Serverside socket-stream connection class.
      - `twisted.internet.ssl.Server` - I am an SSL server.
      - `twisted.internet.unix.Server` - No class docstring; 0/2 instance variable, 0/3 method, 1/1 class method documented
  - `twisted.internet.tcp.Port` - A TCP server port, listening for connections.
    - `twisted.internet.ssl.Port` - I am an SSL port.
    - `twisted.internet.unix.Port` - No class docstring; 0/4 instance variable, 2/6 methods, 1/1 class method documented
- `twisted.internet.testing._FakeConnector` - A fake `IConnector` that allows us to inspect if it has been told to stop connecting.
- `twisted.internet.testing._FakePort` - A fake `IListeningPort` to be used in tests.
- `twisted.internet.testing.FakeDatagramTransport` - Undocumented
- `twisted.internet.testing.MemoryReactor` - A fake reactor to be used in tests. This reactor doesn't actually do much that's useful yet. It accepts TCP connection setup attempts, but they will never succeed.
  - `twisted.internet.testing.MemoryReactorClock` - Undocumented
- `twisted.internet.testing.NonStreamingProducer` - A pull producer which writes 10 times only.
- `twisted.internet.testing.RaisingMemoryReactor` - A fake reactor to be used in tests. It accepts TCP connection setup attempts, but they will fail.
- `twisted.internet.testing.StringTransport` - A transport implementation which buffers data in memory and keeps track of its other state without providing any behavior.
  - `twisted.internet.testing.StringTransportWithDisconnection` - A `StringTransport` which on disconnection will trigger the connection lost on the attached protocol.
- `twisted.internet.udp.MulticastMixin` - Implement multicast functionality.
  - `twisted.internet.udp.MulticastPort` - UDP Port that supports multicasting.
- `twisted.internet.unix._SendmsgMixin` - Mixin for stream-oriented UNIX transports which uses sendmsg and recvmsg to offer additional functionality, such as copying file descriptors into other processes.
  - `twisted.internet.unix.Client` - A client for Unix sockets.
  - `twisted.internet.unix.Server` - No class docstring; 0/2 instance variable, 0/3 method, 1/1 class method documented
- `twisted.internet.unix._UNIXPort` - No class docstring; 1/1 method documented
  - `twisted.internet.unix.DatagramPort` - Datagram UNIX port, listening for packets.
    - `twisted.internet.unix.ConnectedDatagramPort` - A connected datagram UNIX socket.
  - `twisted.internet.unix.Port` - No class docstring; 0/4 instance variable, 2/6 methods, 1/1 class method documented
- `twisted.internet.unix._UnsupportedSendmsgMixin` - Behaviorless placeholder used when `twisted.python.sendmsg` is not available, preventing `IUNIXTransport` from being supported.
- `twisted.internet.win32eventreactor._ThreadedWin32EventsMixin` - This mixin implements `IReactorWin32Events` for another reactor by running a `Win32Reactor` in a separate thread and dispatching work to it.
  - `twisted.internet.iocpreactor.reactor.IOCPReactor` - No class docstring; 0/2 instance variable, 8/17 methods documented
- `twisted.internet.win32eventreactor._ThreadFDWrapper` - This wraps an event handler and translates notification in the helper `Win32Reactor` thread into a notification in the primary reactor thread.
- `twisted.internet.wxsupport.wxRunner` - Make sure GUI events are handled.
- `twisted.logger._flatten.KeyFlattener` - A `KeyFlattener` computes keys for the things within curly braces in PEP-3101-style format strings as parsed by `string.Formatter.parse`.
- `twisted.logger._stdlib.StringifiableFromEvent` - An object that implements `__str__()` in order to defer the work of formatting until it's converted into a `str`.
- `twisted.logger.FileLogObserver` - Log observer that writes to a file-like object.
- `twisted.logger.FilteringLogObserver` - `ILogObserver` that wraps another `ILogObserver`, but filters out events based on applying a series of `ILogFilterPredicate`s.
- `twisted.logger.LegacyLogObserverWrapper` - `ILogObserver` that wraps a `twisted.python.log.ILogObserver`.
- `twisted.logger.LimitedHistoryLogObserver` - `ILogObserver` that stores events in a buffer of a fixed size:
- `twisted.logger.LogBeginner` - A `LogBeginner` holds state related to logging before logging has begun, and begins logging when told to do so. Logging "begins" when someone has selected a set of observers, like, for example, a `FileLogObserver`...
- `twisted.logger.Logger` - A `Logger` emits log messages to an observer. You should instantiate it as a class or module attribute, as documented in `this module's documentation`.
- `twisted.logger.LoggingFile` - File-like object that turns `write()` calls into logging events.
- `twisted.logger.LogLevelFilterPredicate` - `ILogFilterPredicate` that filters out events with a log level lower than the log level for the event's namespace.
- `twisted.logger.LogPublisher` - ILogObserver that fans out events to other observers.
- `twisted.logger.STDLibLogObserver` - Log observer that writes to the python standard library's `logging` module.
- `twisted.mail._cred.CramMD5ClientAuthenticator` - Undocumented
- `twisted.mail._cred.LOGINAuthenticator` - Undocumented
- `twisted.mail._cred.PLAINAuthenticator` - Undocumented
- `twisted.mail._pop3client._ListSetter` - A utility class to construct a list from a multi-line response accounting for deleted messages.
- `twisted.mail.alias.AliasBase` - The default base class for aliases.
  - `twisted.mail.alias.AddressAlias` - An alias which translates one email address into another.
  - `twisted.mail.alias.AliasGroup` - An alias which points to multiple destination aliases.
  - `twisted.mail.alias.FileAlias` - An alias which translates an address to a file.
  - `twisted.mail.alias.ProcessAlias` - An alias which is handled by the execution of a program.
- `twisted.mail.alias.FileWrapper` - A message receiver which delivers a message to a file.
- `twisted.mail.alias.MessageWrapper` - A message receiver which delivers a message to a child process.
- `twisted.mail.alias.MultiWrapper` - A message receiver which delivers a single message to multiple other message receivers.
- `twisted.mail.imap4._FetchParser` - Undocumented
- `twisted.mail.imap4._FetchParser.Body` - Undocumented
- `twisted.mail.imap4._FetchParser.BodyStructure` - Undocumented
- `twisted.mail.imap4._FetchParser.Envelope` - Undocumented
- `twisted.mail.imap4._FetchParser.Flags` - Undocumented
- `twisted.mail.imap4._FetchParser.Header` - Undocumented
- `twisted.mail.imap4._FetchParser.InternalDate` - Undocumented
- `twisted.mail.imap4._FetchParser.MIME` - Undocumented
- `twisted.mail.imap4._FetchParser.RFC822` - Undocumented
- `twisted.mail.imap4._FetchParser.RFC822Header` - Undocumented
- `twisted.mail.imap4._FetchParser.RFC822Size` - Undocumented
- `twisted.mail.imap4._FetchParser.RFC822Text` - Undocumented
- `twisted.mail.imap4._FetchParser.Text` - Undocumented
- `twisted.mail.imap4._FetchParser.UID` - Undocumented
- `twisted.mail.imap4._MessageStructure` - `_MessageStructure` is a helper base class for message structure classes representing the structure of particular kinds of messages, as defined by their MIME type.
  - `twisted.mail.imap4._MultipartMessageStructure` - `_MultipartMessageStructure` represents the message structure of a multipart/* message.
  - `twisted.mail.imap4._SinglepartMessageStructure` - `_SinglepartMessageStructure` represents the message structure of a non-multipart/* message.
    - `twisted.mail.imap4._RFC822MessageStructure` - `_RFC822MessageStructure` represents the message structure of a message/rfc822 message.
    - `twisted.mail.imap4._TextMessageStructure` - `_TextMessageStructure` represents the message structure of a text/* message.
- `twisted.mail.imap4.Command` - Undocumented
- `twisted.mail.imap4.DontQuoteMe` - Undocumented
- `twisted.mail.imap4.FileProducer` - No class docstring; 0/5 instance variable, 0/1 constant, 2/6 methods documented
- `twisted.mail.imap4.LiteralFile` - No class docstring; 0/3 instance variable, 0/1 class variable, 1/3 method documented
- `twisted.mail.imap4.LiteralString` - No class docstring; 0/3 instance variable, 1/3 method documented
- `twisted.mail.imap4.MemoryAccountWithoutNamespaces` - Undocumented
  - `twisted.mail.imap4.MemoryAccount` - Undocumented
- `twisted.mail.imap4.MessageProducer` - No class docstring; 0/5 instance variable, 0/1 class variable, 0/1 constant, 1/3 method documented
- `twisted.mail.imap4.MessageSet` - A set of message identifiers usable by both `IMAP4Client` and `IMAP4Server` via `IMailboxIMAP.store` and `IMailboxIMAP.fetch`.
- `twisted.mail.imap4.WriteBuffer` - Buffer up a bunch of writes before sending them all to a transport at once.
- `twisted.mail.mail.BounceDomain` - A domain with no users.
- `twisted.mail.mail.DomainWithDefaultDict` - A simulated dictionary for mapping domain names to domain objects with a default value for non-existing keys.
- `twisted.mail.mail.FileMessage` - A message receiver which delivers a message to a file.
  - `twisted.mail.maildir.MaildirMessage` - A message receiver which adds a header and delivers a message to a file whose name includes the size of the message.
- `twisted.mail.maildir._MaildirMailboxAppendMessageTask` - A task which adds a message to a maildir mailbox.
- `twisted.mail.maildir._MaildirNameGenerator` - A utility class to generate a unique maildir name.
- `twisted.mail.maildir.AbstractMaildirDomain` - An abstract maildir-backed domain.
  - `twisted.mail.maildir.MaildirDirdbmDomain` - A maildir-backed domain where membership is checked with a `DirDBM` database.
- `twisted.mail.maildir.DirdbmDatabase` - A credentials checker which authenticates users out of a `DirDBM` database.
- `twisted.mail.maildir.StringListMailbox` - An in-memory mailbox.
- `twisted.mail.pop3._HeadersPlusNLines` - A utility class to retrieve the header and some lines of the body of a mail message.
- `twisted.mail.pop3._IteratorBuffer` - An iterator which buffers the elements of a container and periodically passes them as input to a writer.
- `twisted.mail.pop3.APOPCredentials` - Credentials for use in APOP authentication.
- `twisted.mail.pop3.Mailbox` - A base class for mailboxes.
  - `twisted.mail.maildir.MaildirMailbox` - A maildir-backed mailbox.
- `twisted.mail.protocols.DomainDeliveryBase` - A base class for message delivery using the domains of a mail service.
  - `twisted.mail.protocols.ESMTPDomainDelivery` - A domain delivery base class for use in an ESMTP server.
  - `twisted.mail.protocols.SMTPDomainDelivery` - A domain delivery base class for use in an SMTP server.
- `twisted.mail.relay.DomainQueuer` - An SMTP domain which add messages to a queue intended for relaying.
- `twisted.mail.relay.RelayerMixin` - No class docstring; 0/2 instance variable, 1/5 method documented
  - `twisted.mail.relay.ESMTPRelayer` - A base class for ESMTP relayers.
    - `twisted.mail.relaymanager.ESMTPManagedRelayer` - An ESMTP managed relayer.
  - `twisted.mail.relay.SMTPRelayer` - A base class for SMTP relayers.
    - `twisted.mail.relaymanager.SMTPManagedRelayer` - An SMTP managed relayer.
- `twisted.mail.relaymanager._AttemptManager` - A manager for an attempt to relay a set of messages to a mail exchange server.
- `twisted.mail.relaymanager.ManagedRelayerMixin` - SMTP Relayer which notifies a manager
  - `twisted.mail.relaymanager.ESMTPManagedRelayer` - An ESMTP managed relayer.
  - `twisted.mail.relaymanager.SMTPManagedRelayer` - An SMTP managed relayer.
- `twisted.mail.relaymanager.MXCalculator` - A utility for looking up mail exchange hosts and tracking whether they are working or not.
- `twisted.mail.relaymanager.Queue` - A queue for messages to be relayed.
- `twisted.mail.relaymanager.SmartHostSMTPRelayingManager` - A smart host which uses SMTP managed relayers to send messages from the relay queue.
  - `twisted.mail.relaymanager.SmartHostESMTPRelayingManager` - A smart host which uses ESMTP managed relayers to send messages from the relay queue.
- `twisted.mail.scripts.mailmail.Configuration` - No summary
- `twisted.mail.scripts.mailmail.Options` - Store the values of the parsed command-line options to the mailmail script.
- `twisted.mail.smtp.Address` - Parse and hold an RFC 2821 address.
- `twisted.mail.smtp.PLAINAuthenticator` - Undocumented
- `twisted.mail.smtp.SenderMixin` - Utility class for sending emails easily.
  - `twisted.mail.smtp.ESMTPSender` - Undocumented
  - `twisted.mail.smtp.SMTPSender` - SMTP protocol that sends a single email based on information it gets from its factory, a `SMTPSenderFactory`.
- `twisted.mail.smtp.User` - Hold information about and SMTP message recipient, including information on where the message came from
- `twisted.mail.tap.AliasUpdater` - A callable object which updates the aliases for a domain from an aliases(5) file.
- `twisted.names.client.AXFRController` - Undocumented
- `twisted.names.common.ResolverBase` - `ResolverBase` is a base class for implementations of `interfaces.IResolver` which deals with a lot of the boilerplate of implementing all of the lookup methods.
  - `twisted.names.authority.FileAuthority` - An Authority that is loaded from a file.
    - `twisted.names.authority.BindAuthority` - An Authority that loads BIND zone files.
    - `twisted.names.authority.PySourceAuthority` - A FileAuthority that is built up from Python source code.
    - `twisted.names.secondary.SecondaryAuthority` - An Authority that keeps itself updated by performing zone transfers.
  - `twisted.names.cache.CacheResolver` - A resolver that serves records from a local, memory cache.
  - `twisted.names.client.Resolver` - No summary
  - `twisted.names.hosts.Resolver` - A resolver that services hosts(5) format files.
  - `twisted.names.resolve.ResolverChain` - Lookup an address using multiple `IResolver`s
  - `twisted.names.root.Resolver` - `Resolver` implements recursive lookup starting from a specified list of root servers.
- `twisted.names.dns.Charstr` - No class docstring; 0/1 instance variable, 3/6 methods documented
- `twisted.names.dns.DNSMixin` - DNS protocol mixin shared by UDP and TCP implementations.
  - `twisted.names.dns.DNSDatagramProtocol` - DNS protocol over UDP.
  - `twisted.names.dns.DNSProtocol` - DNS protocol over TCP.
- `twisted.names.dns.Name` - A name in the domain name system, made up of multiple labels. For example, twistedmatrix.com.
- `twisted.names.dns.Query` - Represent a single DNS query.
- `twisted.names.resolve.FailureHandler` - Undocumented
- `twisted.names.root._DummyController` - A do-nothing DNS controller. This is useful when all messages received will be responses to previously issued queries. Anything else received will be ignored.
- `twisted.names.root.DeferredResolver` - Undocumented
- `twisted.names.srvconnect._SRVConnector_ClientFactoryWrapper` - Undocumented
- `twisted.names.srvconnect.SRVConnector` - A connector that looks up DNS SRV records.
- `twisted.pair.ethernet.EthernetHeader` - Undocumented
- `twisted.pair.ip.IPHeader` - Undocumented
- `twisted.pair.rawudp.UDPHeader` - Undocumented
- `twisted.pair.testing._FakePort` - A socket-like object which can be used to read UDP datagrams from tunnel-like file descriptors managed by a `MemoryIOSystem`.
- `twisted.pair.testing.MemoryIOSystem` - An in-memory implementation of basic I/O primitives, useful in the context of unit testing as a drop-in replacement for parts of the `os` module.
- `twisted.pair.testing.Tunnel` - An in-memory implementation of a tun or tap device.
- `twisted.pair.tuntap._RealSystem` - An interface to the parts of the operating system which `TuntapPort` relies on. This is most of an implementation of `_IInputOutputSystem`.
- `twisted.persisted.aot._NoStateObj` - Undocumented
- `twisted.persisted.aot.AOTJellier` - No class docstring; 0/3 instance variable, 2/4 methods documented
- `twisted.persisted.aot.AOTUnjellier` - I handle the unjellying of an Abstract Object Tree. See AOTUnjellier.unjellyAO
- `twisted.persisted.aot.Copyreg` - Undocumented
- `twisted.persisted.aot.Deref` - Undocumented
- `twisted.persisted.aot.Instance` - Undocumented
- `twisted.persisted.aot.InstanceMethod` - Undocumented
- `twisted.persisted.aot.Named` - Undocumented
  - `twisted.persisted.aot.Class` - Undocumented
  - `twisted.persisted.aot.Function` - Undocumented
  - `twisted.persisted.aot.Module` - Undocumented
- `twisted.persisted.aot.Ref` - Undocumented
- `twisted.persisted.crefutil._DictKeyAndValue` - Undocumented
- `twisted.persisted.crefutil.NotKnown` - Undocumented
  - `twisted.persisted.crefutil._Container` - Helper class to resolve circular references on container objects.
    - `twisted.persisted.crefutil._Tuple` - Manage tuple containing circular references. Deprecated: use `_Container` instead.
  - `twisted.persisted.crefutil._Defer` - Undocumented
  - `twisted.persisted.crefutil._Dereference` - Undocumented
  - `twisted.persisted.crefutil._InstanceMethod` - Undocumented
- `twisted.persisted.dirdbm.DirDBM` - A directory with a DBM interface.
  - `twisted.persisted.dirdbm.Shelf` - A directory with a DBM shelf interface.
- `twisted.persisted.sob.Persistent` - No class docstring; 0/3 instance variable, 2/6 methods documented
- `twisted.persisted.styles.Ephemeral` - This type of object is never persisted; if possible, even references to it are eliminated.
  - `twisted.persisted.sob._EverythingEphemeral` - No class docstring; 0/1 instance variable, 0/1 class variable, 1/2 method documented
  - `twisted.spread.banana.Banana` - `Banana` implements the Banana s-expression protocol, client and server.
    - `twisted.spread.pb.Broker` - I am a broker for objects.
      - `twisted.mail.pb.MaildirBroker` - Undocumented
      - `twisted.mail.pb.MaildirClient` - Undocumented
  - `twisted.spread.pb.RemoteReference` - A translucent reference to a remote object.
    - `twisted.words.service.AvatarReference` - Undocumented
    - `twisted.words.service.PBGroupReference` - Undocumented
    - `twisted.words.service.PBMindReference` - Undocumented
  - `twisted.words.protocols.irc.DccChat` - Direct Client Connection protocol type CHAT.
  - `twisted.words.protocols.irc.DccFileReceiveBasic` - Bare protocol to receive a Direct Client Connection SEND stream.
    - `twisted.words.protocols.irc.DccFileReceive` - Higher-level coverage for getting a file from DCC SEND.
  - `twisted.words.protocols.irc.DccSendProtocol` - Protocol for an outgoing Direct Client Connection SEND.
- `twisted.persisted.styles.Versioned` - This type of object is persisted with versioning information.
  - `twisted.web.distrib.ResourcePublisher` - `ResourcePublisher` exposes a remote API which can be used to respond to request.
  - `twisted.words.im.basesupport.AbstractAccount` - Base class for Accounts.
    - `twisted.words.im.ircsupport.IRCAccount` - Undocumented
    - `twisted.words.im.pbsupport.PBAccount` - No class docstring; 0/2 instance variable, 0/1 class variable, 2/7 methods documented
- `twisted.plugin.CachedDropin` - A collection of `CachedPlugin` instances from a particular module in a plugin package.
- `twisted.plugin.CachedPlugin` - Undocumented
- `twisted.plugins.cred_anonymous.AnonymousCheckerFactory` - Generates checkers that will authenticate an anonymous request.
- `twisted.plugins.cred_file.FileCheckerFactory` - A factory for instances of `FilePasswordDB`.
- `twisted.plugins.cred_memory.InMemoryCheckerFactory` - A factory for in-memory credentials checkers.
- `twisted.plugins.cred_sshkeys.SSHKeyCheckerFactory` - Generates checkers that will authenticate a SSH public key
- `twisted.plugins.cred_unix.UNIXChecker` - A credentials checker for a UNIX server. This will check that an authenticating username/password is a valid user on the system.
- `twisted.plugins.cred_unix.UNIXCheckerFactory` - A factory for `UNIXChecker`.
- `twisted.plugins.twisted_trial._Reporter` - Undocumented
- `twisted.plugins.twisted_words.PBChatInterface` - Undocumented
- `twisted.plugins.twisted_words.RelayChatInterface` - Undocumented
- `twisted.positioning._sentence._BaseSentence` - A base sentence class for a particular protocol.
  - `twisted.positioning.nmea.NMEASentence` - An object representing an NMEA sentence.
- `twisted.positioning._sentence._PositioningSentenceProducerMixin` - A mixin for certain protocols that produce positioning sentences.
  - `twisted.positioning.nmea.NMEAProtocol` - A protocol that parses and verifies the checksum of an NMEA sentence (in string form, not `NMEASentence`), and delegates to a receiver.
- `twisted.positioning.base.BasePositioningReceiver` - A base positioning receiver.
- `twisted.positioning.base.BeaconInformation` - Information about positioning beacons (a generalized term for the reference objects that help you determine your position, such as satellites or cell towers).
- `twisted.positioning.base.PositioningBeacon` - A positioning beacon.
  - `twisted.positioning.base.Satellite` - A satellite.
- `twisted.positioning.nmea.NMEAAdapter` - An adapter from NMEAProtocol receivers to positioning receivers.
- `twisted.protocols.amp._DescriptorExchanger` - `_DescriptorExchanger` is a mixin for `BinaryBoxProtocol` which adds support for receiving file descriptors, a feature offered by `IUNIXTransport`.
  - `twisted.protocols.amp.BinaryBoxProtocol` - A protocol for receiving `AmpBox`es - key/value pairs - via length-prefixed strings. A box is composed of:
    - `twisted.protocols.amp.AMP` - This protocol is an AMP connection. See the module docstring for protocol details.
      - `twisted.trial._dist.worker.LocalWorkerAMP` - Local implementation of the manager commands.
      - `twisted.trial._dist.worker.WorkerProtocol` - The worker-side trial distributed protocol.
- `twisted.protocols.amp._NoCertificate` - This is for peers which don't want to use a local certificate. Used by AMP because AMP's internal language is all about certificates and this duck-types in the appropriate place; this API isn't really stable though, so it's not exposed anywhere public.
- `twisted.protocols.amp._ParserHelper` - A box receiver which records all boxes received.
- `twisted.protocols.amp.Argument` - Base-class of all objects that take values from Amp packets and convert them into objects for Python functions.
  - `twisted.protocols.amp.AmpList` - Convert a list of dictionaries into a list of AMP boxes on the wire.
  - `twisted.protocols.amp.Boolean` - Encode True or False as "True" or "False" on the wire.
  - `twisted.protocols.amp.DateTime` - Encodes `datetime.datetime` instances.
  - `twisted.protocols.amp.Decimal` - Encodes `decimal.Decimal` instances.
  - `twisted.protocols.amp.Float` - Encode floating-point values on the wire as their repr.
  - `twisted.protocols.amp.Integer` - Encode any integer values of any size on the wire as the string representation.
    - `twisted.protocols.amp.Descriptor` - Encode and decode file descriptors for exchange over a UNIX domain socket.
  - `twisted.protocols.amp.ListOf` - Encode and decode lists of instances of a single other argument type.
  - `twisted.protocols.amp.String` - Don't do any conversion at all; just pass through 'str'.
    - `twisted.protocols.amp._LocalArgument` - Local arguments are never actually relayed across the wire. This is just a shim so that StartTLS can pretend to have some arguments: if arguments acquire documentation properties, replace this with something nicer later.
    - `twisted.protocols.amp.Unicode` - Encode a unicode string on the wire as UTF-8.
      - `twisted.protocols.amp.Path` - Encode and decode `filepath.FilePath` instances as paths on the wire.
- `twisted.protocols.amp.BoxDispatcher` - A `BoxDispatcher` dispatches '_ask', '_answer', and '_error' `AmpBox`es, both incoming and outgoing, to their appropriate destinations.
  - `twisted.protocols.amp.AMP` - This protocol is an AMP connection. See the module docstring for protocol details.
    - `twisted.trial._dist.worker.LocalWorkerAMP` - Local implementation of the manager commands.
    - `twisted.trial._dist.worker.WorkerProtocol` - The worker-side trial distributed protocol.
- `twisted.protocols.amp.Command` - Subclass me to specify an AMP Command.
  - `twisted.protocols.amp.ProtocolSwitchCommand` - Use this command to switch from something Amp-derived to a different protocol mid-connection. This can be useful to use amp as the connection-startup negotiation phase. Since TLS is a different layer entirely, you can use Amp to negotiate the security parameters of your connection, then switch to a different protocol, and the connection will remain secured.
  - `twisted.protocols.amp.StartTLS` - Use, or subclass, me to implement a command that starts TLS.
  - `twisted.trial._dist.managercommands.AddError` - Add an error.
  - `twisted.trial._dist.managercommands.AddExpectedFailure` - Add an expected failure.
  - `twisted.trial._dist.managercommands.AddFailure` - Add a failure.
  - `twisted.trial._dist.managercommands.AddSkip` - Add a skip.
  - `twisted.trial._dist.managercommands.AddSuccess` - Add a success.
  - `twisted.trial._dist.managercommands.AddUnexpectedSuccess` - Add an unexpected success.
  - `twisted.trial._dist.managercommands.TestWrite` - Write test log.
  - `twisted.trial._dist.workercommands.Run` - Run a test.
  - `twisted.trial._dist.workercommands.Start` - Set up the worker process, giving the running directory.
- `twisted.protocols.amp.CommandLocator` - A `CommandLocator` is a collection of responders to AMP `Command`s, with the help of the `Command.responder` decorator.
  - `twisted.protocols.amp.AMP` - This protocol is an AMP connection. See the module docstring for protocol details.
    - `twisted.trial._dist.worker.LocalWorkerAMP` - Local implementation of the manager commands.
    - `twisted.trial._dist.worker.WorkerProtocol` - The worker-side trial distributed protocol.
- `twisted.protocols.amp.SimpleStringLocator` - Implement the `AMP.locateResponder` method to do simple, string-based dispatch.
  - `twisted.protocols.amp.AMP` - This protocol is an AMP connection. See the module docstring for protocol details.
    - `twisted.trial._dist.worker.LocalWorkerAMP` - Local implementation of the manager commands.
    - `twisted.trial._dist.worker.WorkerProtocol` - The worker-side trial distributed protocol.
- `twisted.protocols.basic._PauseableMixin` - Undocumented
  - `twisted.protocols.basic.IntNStringReceiver` - Generic class for length prefixed protocols.
    - `twisted.protocols.basic.Int16StringReceiver` - A receiver for int16-prefixed strings.
      - `twisted.protocols.amp.BinaryBoxProtocol` - A protocol for receiving `AmpBox`es - key/value pairs - via length-prefixed strings. A box is composed of:
        - `twisted.protocols.amp.AMP` - This protocol is an AMP connection. See the module docstring for protocol details.
          - `twisted.trial._dist.worker.LocalWorkerAMP` - Local implementation of the manager commands.
          - `twisted.trial._dist.worker.WorkerProtocol` - The worker-side trial distributed protocol.
    - `twisted.protocols.basic.Int32StringReceiver` - A receiver for int32-prefixed strings.
    - `twisted.protocols.basic.Int8StringReceiver` - A receiver for int8-prefixed strings.
  - `twisted.protocols.basic.LineReceiver` - A protocol that receives lines and/or raw data, depending on mode.
    - `twisted.conch.scripts.cftp.StdioClient` - No class docstring; 0/5 instance variable, 0/2 class variable, 8/59 methods documented
    - `twisted.conch.telnet.StatefulTelnetProtocol` - Undocumented
      - `twisted.conch.telnet.AuthenticatingTelnetProtocol` - A protocol which prompts for credentials and attempts to authenticate them.
    - `twisted.internet.testing.LineSendingProtocol` - Undocumented
    - `twisted.mail.imap4.IMAP4Client` - IMAP4 client protocol implementation
    - `twisted.mail.imap4.IMAP4Server` - Protocol implementation for an IMAP4rev1 server.
    - `twisted.mail.smtp.SMTPClient` - SMTP client for sending emails.
      - `twisted.mail.relay.SMTPRelayer` - A base class for SMTP relayers.
        - `twisted.mail.relaymanager.SMTPManagedRelayer` - An SMTP managed relayer.
      - `twisted.mail.smtp.ESMTPClient` - A client for sending emails over ESMTP.
        - `twisted.mail.relay.ESMTPRelayer` - A base class for ESMTP relayers.
          - `twisted.mail.relaymanager.ESMTPManagedRelayer` - An ESMTP managed relayer.
        - `twisted.mail.smtp.ESMTPSender` - Undocumented
      - `twisted.mail.smtp.SMTPSender` - SMTP protocol that sends a single email based on information it gets from its factory, a `SMTPSenderFactory`.
    - `twisted.positioning.nmea.NMEAProtocol` - A protocol that parses and verifies the checksum of an NMEA sentence (in string form, not `NMEASentence`), and delegates to a receiver.
    - `twisted.protocols.dict.DictClient` - dict (RFC2229) client
      - `twisted.protocols.dict.DictLookup` - Utility class for a single dict transaction. To be used with DictLookupFactory
    - `twisted.protocols.finger.Finger` - Undocumented
    - `twisted.protocols.ftp.FTP` - Protocol Interpreter for the File Transfer Protocol
    - `twisted.protocols.ftp.FTPClientBasic` - Foundations of an FTP client.
      - `twisted.protocols.ftp.FTPClient` - `FTPClient` is a client implementation of the FTP protocol which exposes FTP commands as methods which return `Deferred`s.
    - `twisted.protocols.ftp.FTPFileListProtocol` - Parser for standard FTP file listings
    - `twisted.protocols.ftp.FTPOverflowProtocol` - FTP mini-protocol for when there are too many connections.
    - `twisted.protocols.memcache.MemCacheProtocol` - MemCache protocol: connect to a memcached server to store/retrieve values.
    - `twisted.protocols.postfix.PostfixTCPMapServer` - Postfix mail transport agent TCP map protocol implementation.
    - `twisted.protocols.sip.MessagesParser` - A SIP messages parser.
    - `twisted.runner.procmon.LineLogger` - Undocumented
    - `twisted.web._newclient.HTTPParser` - `HTTPParser` handles the parsing side of HTTP processing. With a suitable subclass, it can parse either the client side or the server side of the connection.
      - `twisted.web._newclient.HTTPClientParser` - An HTTP parser which only handles HTTP responses.
    - `twisted.web.http.HTTPChannel` - A receiver for HTTP requests.
      - `twisted.web.proxy.Proxy` - This class implements a simple web proxy.
      - `twisted.web.proxy.ReverseProxy` - Implements a simple reverse proxy.
    - `twisted.web.http.HTTPClient` - A client for HTTP 1.0.
      - `twisted.protocols.shoutcast.ShoutcastClient` - Shoutcast HTTP stream.
      - `twisted.web.proxy.ProxyClient` - Used by ProxyClientFactory to implement a simple web proxy.
      - `twisted.web.xmlrpc.QueryProtocol` - No class docstring; 0/1 instance variable, 2/4 methods documented
    - `twisted.words.protocols.irc.DccChat` - Direct Client Connection protocol type CHAT.
    - `twisted.words.protocols.irc.IRCClient` - Internet Relay Chat client protocol, with sprinkles.
      - `twisted.words.im.ircsupport.IRCProto` - No class docstring; 0/10 instance variable, 2/21 methods documented
- `twisted.protocols.basic._RecvdCompatHack` - Emulates the to-be-deprecated `IntNStringReceiver.recvd` attribute.
- `twisted.protocols.basic.FileSender` - A producer that sends the contents of a file to a consumer.
- `twisted.protocols.basic.StatefulStringProtocol` - A stateful string protocol.
  - `twisted.protocols.amp.BinaryBoxProtocol` - A protocol for receiving `AmpBox`es - key/value pairs - via length-prefixed strings. A box is composed of:
    - `twisted.protocols.amp.AMP` - This protocol is an AMP connection. See the module docstring for protocol details.
      - `twisted.trial._dist.worker.LocalWorkerAMP` - Local implementation of the manager commands.
      - `twisted.trial._dist.worker.WorkerProtocol` - The worker-side trial distributed protocol.
- `twisted.protocols.dict.Definition` - A word definition
- `twisted.protocols.ftp._FileReader` - Undocumented
- `twisted.protocols.ftp._FileWriter` - Undocumented
- `twisted.protocols.ftp.ASCIIConsumerWrapper` - Undocumented
- `twisted.protocols.ftp.BaseFTPRealm` - Base class for simple FTP realms which provides an easy hook for specifying the home directory for each user.
  - `twisted.protocols.ftp.FTPRealm` - No summary
  - `twisted.protocols.ftp.SystemFTPRealm` - `SystemFTPRealm` uses system user account information to decide what the home directory for a particular avatarId is.
- `twisted.protocols.ftp.FileConsumer` - A consumer for FTP input that writes data to a file.
- `twisted.protocols.ftp.FTPAnonymousShell` - An anonymous implementation of IFTPShell
  - `twisted.protocols.ftp.FTPShell` - An authenticated implementation of `IFTPShell`.
- `twisted.protocols.ftp.FTPCommand` - Undocumented
- `twisted.protocols.haproxy._info.ProxyInfo` - A data container for parsed PROXY protocol information.
- `twisted.protocols.haproxy._parser.HAProxyServerParser` - Stream server endpoint string parser for the HAProxyServerEndpoint type.
- `twisted.protocols.haproxy._v1parser.V1Parser` - PROXY protocol version one header parser.
- `twisted.protocols.haproxy._v2parser.V2Parser` - PROXY protocol version two header parser.
- `twisted.protocols.htb.Bucket` - Implementation of a Token bucket.
- `twisted.protocols.htb.HierarchicalBucketFilter` - Filter things into buckets that can be nested.
  - `twisted.protocols.htb.FilterByHost` - A Hierarchical Bucket filter with a `Bucket` for each host.
  - `twisted.protocols.htb.FilterByServer` - A Hierarchical Bucket filter with a `Bucket` for each service.
- `twisted.protocols.htb.ShapedProtocolFactory` - Dispense `Protocols` with traffic shaping on their transports.
- `twisted.protocols.ident.ProcServerMixin` - Implements lookup() to grab entries for responses from /proc/net/tcp
- `twisted.protocols.loopback._LoopbackAddress` - Undocumented
- `twisted.protocols.loopback._LoopbackQueue` - Trivial wrapper around a list to give it an interface like a queue, which the addition of also sending notifications by way of a Deferred whenever the list has something added to it.
- `twisted.protocols.loopback._LoopbackTransport` - No class docstring; 0/3 instance variable, 0/1 class variable, 1/10 method documented
- `twisted.protocols.loopback.LoopbackRelay` - Undocumented
- `twisted.protocols.memcache.Command` - Wrap a client action into an object, that holds the values used in the protocol.
- `twisted.protocols.pcp.BasicProducerConsumerProxy` - I can act as a man in the middle between any Producer and Consumer.
  - `twisted.protocols.pcp.ProducerConsumerProxy` - ProducerConsumerProxy with a finite buffer.
    - `twisted.protocols.htb.ShapedConsumer` - Wraps a `Consumer` and shapes the rate at which it receives data.
      - `twisted.protocols.htb.ShapedTransport` - Wraps a `Transport` and shapes the rate at which it receives data.
- `twisted.protocols.policies.TimeoutMixin` - Mixin for protocols which wish to timeout connections.
  - `twisted.mail.imap4.IMAP4Client` - IMAP4 client protocol implementation
  - `twisted.mail.imap4.IMAP4Server` - Protocol implementation for an IMAP4rev1 server.
  - `twisted.mail.pop3.AdvancedPOP3Client` - A POP3 client protocol.
  - `twisted.mail.pop3.POP3` - A POP3 server protocol.
    - `twisted.mail.protocols.VirtualPOP3` - A virtual hosting POP3 server.
  - `twisted.mail.smtp.SMTP` - SMTP server-side protocol.
    - `twisted.mail.smtp.ESMTP` - No class docstring; 0/10 instance variable, 0/1 class variable, 4/12 methods documented
  - `twisted.mail.smtp.SMTPClient` - SMTP client for sending emails.
    - `twisted.mail.relay.SMTPRelayer` - A base class for SMTP relayers.
      - `twisted.mail.relaymanager.SMTPManagedRelayer` - An SMTP managed relayer.
    - `twisted.mail.smtp.ESMTPClient` - A client for sending emails over ESMTP.
      - `twisted.mail.relay.ESMTPRelayer` - A base class for ESMTP relayers.
        - `twisted.mail.relaymanager.ESMTPManagedRelayer` - An ESMTP managed relayer.
      - `twisted.mail.smtp.ESMTPSender` - Undocumented
    - `twisted.mail.smtp.SMTPSender` - SMTP protocol that sends a single email based on information it gets from its factory, a `SMTPSenderFactory`.
  - `twisted.protocols.ftp.FTP` - Protocol Interpreter for the File Transfer Protocol
  - `twisted.protocols.memcache.MemCacheProtocol` - MemCache protocol: connect to a memcached server to store/retrieve values.
  - `twisted.protocols.postfix.PostfixTCPMapServer` - Postfix mail transport agent TCP map protocol implementation.
  - `twisted.web._http2.H2Connection` - A class representing a single HTTP/2 connection.
  - `twisted.web.http.HTTPChannel` - A receiver for HTTP requests.
    - `twisted.web.proxy.Proxy` - This class implements a simple web proxy.
    - `twisted.web.proxy.ReverseProxy` - Implements a simple reverse proxy.
- `twisted.protocols.sip.InMemoryRegistry` - A simplistic registry for a specific domain.
- `twisted.protocols.sip.Message` - A SIP message.
  - `twisted.protocols.sip.Request` - A Request for a URI
  - `twisted.protocols.sip.Response` - A Response to a URI Request
- `twisted.protocols.sip.Registration` - Undocumented
- `twisted.protocols.sip.URL` - A SIP URL.
- `twisted.protocols.sip.Via` - A `Via` is a SIP Via header, representing a segment of the path taken by the request.
- `twisted.protocols.tls._ContextFactoryToConnectionFactory` - Adapter wrapping a `twisted.internet.interfaces.IOpenSSLContextFactory` into a `IOpenSSLClientConnectionCreator` or `IOpenSSLServerConnectionCreator`.
- `twisted.protocols.tls._ProducerMembrane` - Stand-in for producer registered with a `TLSMemoryBIOProtocol` transport.
- `twisted.python._release.CheckNewsfragmentScript` - A thing for checking whether a checkout has a newsfragment.
- `twisted.python._release.GitCommand` - Subset of Git commands to release Twisted from a Git repository.
- `twisted.python._release.Project` - A representation of a project that has a version.
- `twisted.python._release.SphinxBuilder` - Generate HTML documentation using Sphinx.
- `twisted.python._shellcomp.ZshArgumentsGenerator` - Generate a call to the zsh _arguments completion function based on data in a usage.Options instance
- `twisted.python._shellcomp.ZshBuilder` - Constructs zsh code that will complete options for a given usage.Options instance, possibly including a list of subcommand names.
  - `twisted.python._shellcomp.ZshSubcommandBuilder` - Constructs zsh code that will complete options for a given usage.Options instance, and also for a single sub-command. This will only be used in the case where the user is completing options for a specific subcommand.
- `twisted.python._textattributes._ColorAttribute` - A color text attribute.
- `twisted.python._textattributes.CharacterAttributesMixin` - Mixin for character attributes that implements a `__getattr__` method returning a new `_NormalAttr` instance when attempting to access a `'normal'` attribute; otherwise a new `_OtherAttr` instance is returned for names that appears in the ...
  - `twisted.conch.insults.text._CharacterAttributes` - Factory for character attributes, including foreground and background color and non-color attributes such as bold, reverse video and underline.
  - `twisted.words.protocols.irc._CharacterAttributes` - Factory for character attributes, including foreground and background color and non-color attributes such as bold, reverse video and underline.
- `twisted.python.components._ProxiedClassMethod` - A proxied class method.
- `twisted.python.components._ProxyDescriptor` - A descriptor which will proxy attribute access, mutation, and deletion to the `_ProxyDescriptor.originalAttribute` of the object it is being accessed from.
- `twisted.python.components.Adapter` - I am the default implementation of an Adapter for some interface.
  - `twisted.conch.manhole_ssh.TerminalSession` - Undocumented
  - `twisted.conch.manhole_ssh.TerminalUser` - Undocumented
  - `twisted.internet.protocol.ConsumerToProtocolAdapter` - Undocumented
  - `twisted.internet.protocol.ProtocolToConsumerAdapter` - Undocumented
- `twisted.python.components.Componentized` - I am a mixin to allow you to be adapted in various ways persistently.
  - `twisted.python.components.ReprableComponentized` - Undocumented
  - `twisted.web.server.Request` - An HTTP request.
    - `twisted.web.distrib.Request` - A request which was received by a `ResourceSubscription` and sent via PB to a distributed node.
  - `twisted.web.server.Session` - A user's session with a system.
  - `twisted.web.static.Registry` - I am a Componentized object that will be made available to internal Twisted file-based dynamic web content such as .rpy and .epy scripts.
- `twisted.python.components.proxyForInterface(itrial.ITestCase, '_originalTest')`
  - `twisted.trial.unittest.TestDecorator` - Decorator for test cases.
    - `twisted.trial._asyncrunner._ForceGarbageCollectionDecorator` - Forces garbage collection to be run before and after the test. Any errors logged during the post-test collection are added to the test result as errors.
    - `twisted.trial._asyncrunner._PyUnitTestCaseAdapter` - Adapt from pyunit.TestCase to ITestCase.
      - `twisted.trial._asyncrunner._BrokenIDTestCaseAdapter` - Adapter for pyunit-style `TestCase` subclasses that have undesirable id() methods. That is `unittest.FunctionTestCase` and `unittest.DocTestCase`.
- `twisted.python.constants.Names`
  - `twisted.conch.ssh.keys.FingerprintFormats` - Constants representing the supported formats of key fingerprints.
- `twisted.python.context.ContextTracker` - A `ContextTracker` provides a way to pass arbitrary key/value data up and down a call stack without passing them as parameters to the functions on that call stack.
- `twisted.python.context.ThreadedContextTracker` - Undocumented
- `twisted.python.deprecate._DeprecatedAttribute` - Wrapper for deprecated attributes.
- `twisted.python.deprecate._InternalState` - An `_InternalState` is a helper object for a `_ModuleProxy`, so that it can easily access its own attributes, bypassing its logic for delegating to another object that it's proxying for.
- `twisted.python.deprecate._ModuleProxy` - Python module wrapper to hook module-level attribute access.
- `twisted.python.failure._Code` - A fake code object, used by `_Traceback` via `_Frame`.
- `twisted.python.failure._Frame` - A fake frame object, used by `_Traceback`.
- `twisted.python.failure._TracebackFrame` - Fake traceback object which can be passed to functions in the standard library `traceback` module.
- `twisted.python.fakepwd._ShadowRecord` - `_ShadowRecord` holds the shadow user data for a single user in `ShadowDatabase`. It corresponds to `spwd.struct_spwd`. See that class for attribute documentation.
- `twisted.python.fakepwd._UserRecord` - `_UserRecord` holds the user data for a single user in `UserDatabase`. It corresponds to the `passwd` structure from the `pwd` module. See that module for attribute documentation.
- `twisted.python.fakepwd.ShadowDatabase` - `ShadowDatabase` holds a shadow user database in memory and makes it available via the same API as `spwd`.
- `twisted.python.fakepwd.UserDatabase` - `UserDatabase` holds a traditional POSIX user data in memory and makes it available via the same API as `pwd`.
- `twisted.python.filepath.AbstractFilePath` - Abstract implementation of an `IFilePath`; must be completed by a subclass.
  - `twisted.python.filepath.FilePath` - I am a path on the filesystem that only permits 'downwards' access.
    - `twisted.web.static.File` - File is a resource that represents a plain non-interpreted file (although it can look for an extension like .rpy or .cgi and hand the file to a processor for interpretation if you wish). Its constructor takes a file path.
    - `twisted.web.twcgi.CGIDirectory` - Undocumented
  - `twisted.python.zippath.ZipPath` - I represent a file or directory contained within a zip file.
    - `twisted.python.zippath.ZipArchive` - I am a `FilePath`-like object which can wrap a zip archive as if it were a directory.
- `twisted.python.formmethod.Argument` - Base class for form arguments.
  - `twisted.python.formmethod.Boolean` - Undocumented
  - `twisted.python.formmethod.Choice` - The result of a choice between enumerated types. The choices should be a list of tuples of tag, value, and description. The tag will be the value returned if the user hits "Submit", and the description is the bale for the enumerated type...
    - `twisted.python.formmethod.RadioGroup` - Undocumented
    - `twisted.python.formmethod.Submit` - Submit button or a reasonable facsimile thereof.
  - `twisted.python.formmethod.Date` - A date -- (year, month, day) tuple.
  - `twisted.python.formmethod.File` - Undocumented
  - `twisted.python.formmethod.Flags` - The result of a checkbox group or multi-menu. The flags should be a list of tuples of tag, value, and description. The tag will be the value returned if the user hits "Submit", and the description is the bale for the enumerated type...
    - `twisted.python.formmethod.CheckGroup` - Undocumented
  - `twisted.python.formmethod.Float` - Undocumented
  - `twisted.python.formmethod.Integer` - A single integer.
    - `twisted.python.formmethod.IntegerRange` - Undocumented
  - `twisted.python.formmethod.String` - A single string.
    - `twisted.python.formmethod.Hidden` - A string which is not displayed.
    - `twisted.python.formmethod.Password` - A string which should be obscured when input.
    - `twisted.python.formmethod.Text` - A long string.
    - `twisted.python.formmethod.VerifiedPassword` - A string that should be obscured when input and needs verification.
- `twisted.python.formmethod.FormMethod` - A callable object with a signature.
- `twisted.python.formmethod.MethodSignature` - A signature of a callable.
- `twisted.python.formmethod.PresentationHint` - A hint to a particular system.
- `twisted.python.htmlizer.HTMLWriter` - Write the stream of tokens and whitespace from `TokenPrinter`, formating tokens as HTML spans.
  - `twisted.python.htmlizer.SmallerHTMLWriter` - HTMLWriter that doesn't generate spans for some junk.
- `twisted.python.htmlizer.TokenPrinter` - Format a stream of tokens and intermediate whitespace, for pretty-printing.
- `twisted.python.lockfile.FilesystemLock` - A mutex.
  - `twisted.internet.defer.DeferredFilesystemLock` - A `FilesystemLock` that allows for a `Deferred` to be fired when the lock is acquired.
- `twisted.python.log.ILogContext` - Actually, this interface is just a synonym for the dictionary interface, but it serves as a key for the default information in a log.
- `twisted.python.log.Logger` - This represents a class which may 'own' a log. Used by subclassing.
  - `twisted.conch.ssh.channel.SSHChannel` - A class that represents a multiplexed channel over an SSH connection. The channel has a local window which is the maximum amount of data it will receive, and a remote which is the maximum amount of data the remote side will accept...
    - `twisted.conch.client.agent.SSHAgentForwardingChannel` - Undocumented
    - `twisted.conch.endpoints._CommandChannel` - A `_CommandChannel` executes a command in a session channel and connects its input and output to an `IProtocol` provider.
    - `twisted.conch.scripts.cftp.SSHSession` - Undocumented
    - `twisted.conch.scripts.conch.SSHSession` - Undocumented
    - `twisted.conch.scripts.tkconch.SSHSession` - Undocumented
    - `twisted.conch.ssh.forwarding.SSHConnectForwardingChannel` - Channel used for handling server side forwarding request. It acts as a client for the remote forwarding destination.
      - `twisted.conch.scripts.conch.SSHConnectForwardingChannel` - Undocumented
    - `twisted.conch.ssh.forwarding.SSHListenForwardingChannel` - Undocumented
      - `twisted.conch.ssh.forwarding.SSHListenClientForwardingChannel` - Undocumented
        - `twisted.conch.scripts.conch.SSHListenClientForwardingChannel` - Undocumented
      - `twisted.conch.ssh.forwarding.SSHListenServerForwardingChannel` - Undocumented
    - `twisted.conch.ssh.session.SSHSession` - A generalized implementation of an SSH session.
  - `twisted.internet.posixbase._FDWaker` - The self-pipe trick<http://cr.yp.to/docs/selfpipe.html>, used to wake up the main loop from another thread or a signal handler.
    - `twisted.internet.posixbase._SIGCHLDWaker` - `_SIGCHLDWaker` can wake up a reactor whenever `SIGCHLD` is received.
    - `twisted.internet.posixbase._UnixWaker` - This class provides a simple interface to wake up the event loop.
      - `twisted.internet._glibbase.GlibWaker` - Run scheduled events after waking up.
  - `twisted.internet.posixbase._SocketWaker` - The self-pipe trick<http://cr.yp.to/docs/selfpipe.html>, implemented using a pair of sockets rather than pipes (due to the lack of support in select() on Windows for pipes), used to wake up the main loop from another thread.
- `twisted.python.log.LogPublisher` - Class for singleton log message publishing.
- `twisted.python.log.NullFile` - A file-like object that discards everything.
- `twisted.python.log.StdioOnnaStick` - Class that pretends to be stdout/err, and turns writes into log messages.
- `twisted.python.logfile.BaseLogFile` - The base class for a log file that can be rotated.
  - `twisted.python.logfile.DailyLogFile` - A log file that is rotated daily (at or after midnight localtime)
  - `twisted.python.logfile.LogFile` - A log file that can be rotated.
- `twisted.python.logfile.LogReader` - Read from a log file.
- `twisted.python.modules._DefaultMapImpl` - Wrapper for the default importer, i.e. None.
- `twisted.python.modules._ModuleIteratorHelper` - This mixin provides common behavior between python module and path entries, since the mechanism for searching sys.path and __path__ attributes is remarkably similar.
  - `twisted.python.modules.PathEntry` - I am a proxy for a single entry on sys.path.
  - `twisted.python.modules.PythonModule` - Representation of a module which could be imported from sys.path.
- `twisted.python.modules._ZipMapImpl` - IPathImportMapper implementation for zipimport.ZipImporter.
- `twisted.python.modules.PythonAttribute` - I represent a function, class, or other object that is present.
- `twisted.python.modules.PythonPath` - I represent the very top of the Python object-space, the module list in `sys.path` and the modules list in `sys.modules`.
- `twisted.python.monkey.MonkeyPatcher` - Cover up attributes with new objects. Neat for monkey-patching things for unit-testing purposes.
- `twisted.python.randbytes.RandomFactory` - Factory providing `secureRandom` and `insecureRandom` methods.
- `twisted.python.rebuild.Sensitive` - A utility mixin that's sensitive to rebuilds.
- `twisted.python.reflect.QueueMethod` - I represent a method that doesn't exist yet.
- `twisted.python.roots.Collection` - I represent a static collection of entities.
  - `twisted.python.roots.Constrained` - A collection that has constraints on its names and/or entities.
    - `twisted.python.roots.Homogenous` - A homogenous collection of entities.
      - `twisted.web.vhost.VirtualHostCollection` - Wrapper for virtual hosts collection.
    - `twisted.python.roots.Locked` - A collection that can be locked from adding entities.
- `twisted.python.roots.Entity` - I am a terminal object in a hierarchy, with no children.
- `twisted.python.roots.Request` - I am an abstract representation of a request for an entity.
- `twisted.python.runtime.Platform` - Gives us information about the platform we're running on.
- `twisted.python.shortcut.Shortcut` - A shortcut on Win32.
- `twisted.python.syslog.SyslogObserver` - A log observer for logging to syslog.
- `twisted.python.systemd.ListenFDs` - `ListenFDs` provides access to file descriptors inherited from systemd.
- `twisted.python.threadable.DummyLock` - Hack to allow locks to be unpickled on an unthreaded system.
- `twisted.python.threadpool.ThreadPool` - This class (hopefully) generalizes the functionality of a pool of threads to which work can be dispatched.
- `twisted.python.urlpath.URLPath` - A representation of a URL.
- `twisted.python.usage.CoerceParameter` - Utility class that can corce a parameter before storing it.
- `twisted.python.usage.Completer` - A completion "action" - provides completion possibilities for a particular command-line option. For example we might provide the user a fixed list of choices, or files/dirs according to a glob.
  - `twisted.python._shellcomp.SubcommandAction` - Undocumented
  - `twisted.python.usage.CompleteDirs` - Completes directory names
  - `twisted.python.usage.CompleteFiles` - Completes file names based on a glob pattern
  - `twisted.python.usage.CompleteGroups` - Complete system group names
  - `twisted.python.usage.CompleteHostnames` - Complete hostnames
  - `twisted.python.usage.CompleteList` - Completes based on a fixed list of words
  - `twisted.python.usage.CompleteMultiList` - Completes multiple comma-separated items based on a fixed list of words
  - `twisted.python.usage.CompleteNetInterfaces` - Complete network interface names
  - `twisted.python.usage.CompleteUserAtHost` - A completion action which produces matches in any of these forms:
  - `twisted.python.usage.CompleteUsernames` - Complete usernames
- `twisted.python.usage.Completions` - Extra metadata for the shell tab-completion system.
- `twisted.python.util._IntervalDifferentialIterator` - Undocumented
- `twisted.python.util.FancyEqMixin` - Mixin that implements `__eq__` and `__ne__`.
  - `twisted.conch.client.knownhosts.HashedEntry` - A `HashedEntry` is a representation of an entry in a known_hosts file where the hostname has been hashed and salted.
  - `twisted.conch.ssh.address.SSHTransportAddress` - Object representing an SSH Transport endpoint.
  - `twisted.names.dns._EDNSMessage` - An EDNS message.
  - `twisted.names.dns._OPTHeader` - An OPT record header.
  - `twisted.names.dns._OPTVariableOption` - A class to represent OPT record variable options.
  - `twisted.names.dns.Message` - `Message` contains all the information represented by a single DNS request or response.
  - `twisted.names.dns.Record_A` - An IPv4 host address.
  - `twisted.names.dns.Record_A6` - An IPv6 address.
  - `twisted.names.dns.Record_AAAA` - An IPv6 host address.
  - `twisted.names.dns.Record_AFSDB` - Map from a domain name to the name of an AFS cell database server.
  - `twisted.names.dns.Record_HINFO` - Host information.
  - `twisted.names.dns.Record_MINFO` - Mailbox or mail list information.
  - `twisted.names.dns.Record_MX` - Mail exchange.
  - `twisted.names.dns.Record_NAPTR` - The location of the server(s) for a specific protocol and domain.
  - `twisted.names.dns.Record_NULL` - A null record.
  - `twisted.names.dns.Record_RP` - The responsible person for a domain.
  - `twisted.names.dns.Record_SOA` - Marks the start of a zone of authority.
  - `twisted.names.dns.Record_SRV` - The location of the server(s) for a specific protocol and domain.
  - `twisted.names.dns.Record_SSHFP` - A record containing the fingerprint of an SSH key.
  - `twisted.names.dns.Record_TSIG` - A transaction signature, encapsulated in a RR, as described in RFC 2845.
  - `twisted.names.dns.Record_TXT` - Freeform text.
    - `twisted.names.dns.Record_SPF` - Structurally, freeform text. Semantically, a policy definition, formatted as defined in rfc 4408.
  - `twisted.names.dns.Record_WKS` - A well known service description.
  - `twisted.names.dns.RRHeader` - A resource record header.
  - `twisted.names.dns.SimpleRecord` - A Resource Record which consists of a single RFC 1035 domain-name.
    - `twisted.names.dns.Record_CNAME` - The canonical name for an alias.
    - `twisted.names.dns.Record_DNAME` - A non-terminal DNS name redirection.
    - `twisted.names.dns.Record_MB` - A mailbox domain name.
    - `twisted.names.dns.Record_MD` - A mail destination.
    - `twisted.names.dns.Record_MF` - A mail forwarder.
    - `twisted.names.dns.Record_MG` - A mail group member.
    - `twisted.names.dns.Record_MR` - A mail rename domain name.
    - `twisted.names.dns.Record_NS` - An authoritative nameserver.
    - `twisted.names.dns.Record_PTR` - A domain name pointer.
  - `twisted.names.dns.UnknownRecord` - Encapsulate the wire data for unknown record types so that they can pass through the system unchanged.
  - `twisted.pair.tuntap.TunnelAddress` - A `TunnelAddress` represents the tunnel to which a `TuntapPort` is bound.
  - `twisted.positioning.base._BaseSpeed` - An object representing the abstract concept of the speed (rate of movement) of a mobile object.
    - `twisted.positioning.base.Climb` - The climb ("vertical speed") of an object.
    - `twisted.positioning.base.Speed` - The speed (rate of movement) of a mobile object.
  - `twisted.positioning.base.Altitude` - An altitude.
  - `twisted.positioning.base.Angle` - An object representing an angle.
    - `twisted.positioning.base.Coordinate` - A coordinate.
    - `twisted.positioning.base.Heading` - The heading of a mobile object.
  - `twisted.positioning.base.PositionError` - Position error information.
  - `twisted.python._textattributes._Attribute` - A text attribute.
    - `twisted.python._textattributes._ColorAttr` - Generic color attribute.
      - `twisted.python._textattributes._BackgroundColorAttr` - Background color attribute.
      - `twisted.python._textattributes._ForegroundColorAttr` - Foreground color attribute.
    - `twisted.python._textattributes._NormalAttr` - A text attribute for normal text.
    - `twisted.python._textattributes._OtherAttr` - A text attribute for text with formatting attributes.
  - `twisted.python._textattributes.DefaultFormattingState` - A character attribute that does nothing, thus applying no attributes to text.
    - `twisted.python._textattributes._FormattingStateMixin` - Mixin for the formatting state/attributes of a single character.
      - `twisted.conch.insults.helper._FormattingState` - Represents the formatting state/attributes of a single character.
      - `twisted.words.protocols.irc._FormattingState` - Formatting state/attributes of a single character.
  - `twisted.python.filepath.Permissions` - A class representing read/write/execute permissions. Instantiate with any portion of the file's mode that includes the permission bits.
  - `twisted.python.filepath.RWX` - A class representing read/write/execute permissions for a single user category (i.e. user/owner, group, or other/world). Instantiate with three boolean values: readable? writable? executable?.
- `twisted.python.util.FancyStrMixin` - Mixin providing a flexible implementation of `__str__`.
  - `twisted.names._rfc1982.SerialNumber` - An RFC1982 Serial Number.
  - `twisted.names.dns._OPTHeader` - An OPT record header.
  - `twisted.names.dns._OPTVariableOption` - A class to represent OPT record variable options.
  - `twisted.names.dns.Record_A6` - An IPv6 address.
  - `twisted.names.dns.Record_AAAA` - An IPv6 host address.
  - `twisted.names.dns.Record_AFSDB` - Map from a domain name to the name of an AFS cell database server.
  - `twisted.names.dns.Record_HINFO` - Host information.
  - `twisted.names.dns.Record_MINFO` - Mailbox or mail list information.
  - `twisted.names.dns.Record_MX` - Mail exchange.
  - `twisted.names.dns.Record_NAPTR` - The location of the server(s) for a specific protocol and domain.
  - `twisted.names.dns.Record_NULL` - A null record.
  - `twisted.names.dns.Record_RP` - The responsible person for a domain.
  - `twisted.names.dns.Record_SOA` - Marks the start of a zone of authority.
  - `twisted.names.dns.Record_SRV` - The location of the server(s) for a specific protocol and domain.
  - `twisted.names.dns.Record_SSHFP` - A record containing the fingerprint of an SSH key.
  - `twisted.names.dns.Record_TSIG` - A transaction signature, encapsulated in a RR, as described in RFC 2845.
  - `twisted.names.dns.Record_TXT` - Freeform text.
    - `twisted.names.dns.Record_SPF` - Structurally, freeform text. Semantically, a policy definition, formatted as defined in rfc 4408.
  - `twisted.names.dns.Record_WKS` - A well known service description.
  - `twisted.names.dns.SimpleRecord` - A Resource Record which consists of a single RFC 1035 domain-name.
    - `twisted.names.dns.Record_CNAME` - The canonical name for an alias.
    - `twisted.names.dns.Record_DNAME` - A non-terminal DNS name redirection.
    - `twisted.names.dns.Record_MB` - A mailbox domain name.
    - `twisted.names.dns.Record_MD` - A mail destination.
    - `twisted.names.dns.Record_MF` - A mail forwarder.
    - `twisted.names.dns.Record_MG` - A mail group member.
    - `twisted.names.dns.Record_MR` - A mail rename domain name.
    - `twisted.names.dns.Record_NS` - An authoritative nameserver.
    - `twisted.names.dns.Record_PTR` - A domain name pointer.
  - `twisted.names.dns.UnknownRecord` - Encapsulate the wire data for unknown record types so that they can pass through the system unchanged.
  - `twisted.pair.tuntap.TunnelAddress` - A `TunnelAddress` represents the tunnel to which a `TuntapPort` is bound.
- `twisted.python.util.IntervalDifferential` - Given a list of intervals, generate the amount of time to sleep between "instants".
- `twisted.python.util.LineLog` - A limited-size line-based log, useful for logging line-based protocols such as SMTP.
- `twisted.python.win32._ErrorFormatter` - Formatter for Windows error messages.
- `twisted.python.zipstream._FileEntry` - Abstract superclass of both compressed and uncompressed variants of file-like objects within a zip archive.
  - `twisted.python.zipstream.DeflatedZipFileEntry` - File-like object used to read a deflated entry in a ZipFile
  - `twisted.python.zipstream.ZipFileEntry` - File-like object used to read an uncompressed entry in a ZipFile
- `twisted.runner.inetdconf.InetdService` - A simple description of an inetd service.
- `twisted.runner.inetdconf.SimpleConfFile` - Simple configuration file parser superclass.
  - `twisted.runner.inetdconf.InetdConf` - Configuration parser for a traditional UNIX inetd(8)
  - `twisted.runner.inetdconf.ServicesConf` - /etc/services parser
- `twisted.runner.procmon._Process` - The parameters of a process to be restarted.
- `twisted.runner.procmon.DummyTransport` - Undocumented
- `twisted.scripts.trial._BasicOptions` - Basic options shared between trial and its local workers.
  - `twisted.scripts.trial.Options` - Options to the trial command line tool.
  - `twisted.trial._dist.options.WorkerOptions` - Options forwarded to the trial distributed worker.
- `twisted.spread.flavors.RemoteCacheMethod` - A method on a reference to a `RemoteCache`.
- `twisted.spread.jelly._Jellier` - (Internal) This class manages state for a call to jelly()
- `twisted.spread.jelly._Unjellier` - No class docstring; 0/5 instance variable, 8/29 methods documented
- `twisted.spread.jelly.DummySecurityOptions` - DummySecurityOptions() -> insecure security options Dummy security options -- this class will allow anything.
- `twisted.spread.jelly.SecurityOptions` - This will by default disallow everything, except for 'none'.
- `twisted.spread.jelly.Unjellyable` - Inherit from me to Unjelly yourself directly with the `setStateFor` convenience method.
  - `twisted.spread.pb.RemoteCopy` - I am a remote copy of a Copyable object.
    - `twisted.spread.pb.CopiedFailure` - A `CopiedFailure` is a `pb.RemoteCopy` of a `failure.Failure` transferred via PB.
    - `twisted.spread.pb.RemoteCache` - A cache is a local representation of a remote `Cacheable` object.
      - `twisted.spread.publish.RemotePublished` - The local representation of remote Publishable object.
    - `twisted.web.distrib.Request` - A request which was received by a `ResourceSubscription` and sent via PB to a distributed node.
- `twisted.spread.jelly.Unpersistable` - This is an instance of a class that comes back when something couldn't be unpersisted.
- `twisted.spread.pb._JellyableAvatarMixin` - Helper class for code which deals with avatars which PB must be capable of sending to a peer.
  - `twisted.spread.pb._PortalAuthChallenger` - Called with response to password challenge.
  - `twisted.spread.pb._PortalWrapper` - Root Referenceable object, used to login to portal.
- `twisted.spread.pb._PortalRoot` - Root object, used to login to portal.
- `twisted.spread.pb.Avatar` - A default IPerspective implementor.
- `twisted.spread.pb.Jellyable` - Inherit from me to Jelly yourself directly with the `getStateFor' convenience method.
  - `twisted.spread.pb.Serializable` - An object that can be passed remotely.
    - `twisted.spread.pb.Copyable` - Subclass me to get copied each time you are returned from or passed to a remote method.
      - `twisted.spread.pb.Cacheable` - A cached instance.
        - `twisted.spread.publish.Publishable` - An object whose cached state persists across sessions.
      - `twisted.spread.pb.CopyableFailure` - A `flavors.RemoteCopy` and `flavors.Copyable` version of `twisted.python.failure.Failure` for serialization.
      - `twisted.web.server.Request` - An HTTP request.
        - `twisted.web.distrib.Request` - A request which was received by a `ResourceSubscription` and sent via PB to a distributed node.
    - `twisted.spread.pb.Referenceable` - No class docstring; 1/1 class variable, 2/2 methods documented
      - `twisted.mail.pb.Maildir` - Undocumented
      - `twisted.mail.pb.MaildirCollection` - Undocumented
      - `twisted.spread.pb._PortalAuthChallenger` - Called with response to password challenge.
      - `twisted.spread.pb._PortalWrapper` - Root Referenceable object, used to login to portal.
      - `twisted.spread.pb.AsReferenceable` - A reference directed towards another object.
      - `twisted.spread.pb.Root` - I provide a root object to `pb.Broker`s for a `pb.PBClientFactory` or `pb.PBServerFactory`.
        - `twisted.web.distrib.ResourcePublisher` - `ResourcePublisher` exposes a remote API which can be used to respond to request.
      - `twisted.spread.pb.ViewPoint` - I act as an indirect reference to an object accessed through a `pb.IPerspective`.
      - `twisted.spread.util.CallbackPageCollector` - I receive pages from the peer. You may instantiate a Pager with a remote reference to me. I will call the callback with a list of pages once they are all received.
      - `twisted.web.distrib._ReferenceableProducerWrapper` - Undocumented
      - `twisted.words.im.pbsupport.TwistedWordsClient` - In some cases, this acts as an Account, since it a source of text messages (multiple Words instances may be on a single PB connection)
      - `twisted.words.service.ChatAvatar` - Undocumented
      - `twisted.words.service.PBGroup` - Undocumented
      - `twisted.words.service.PBMind` - Undocumented
      - `twisted.words.service.PBUser` - Undocumented
    - `twisted.spread.pb.RemoteCache` - A cache is a local representation of a remote `Cacheable` object.
      - `twisted.spread.publish.RemotePublished` - The local representation of remote Publishable object.
    - `twisted.spread.pb.RemoteReference` - A translucent reference to a remote object.
      - `twisted.words.service.AvatarReference` - Undocumented
      - `twisted.words.service.PBGroupReference` - Undocumented
      - `twisted.words.service.PBMindReference` - Undocumented
    - `twisted.spread.pb.Viewable` - I will be converted to a `ViewPoint` when passed to or returned from a remote method.
      - `twisted.web.twcgi.CGIProcessProtocol` - No class docstring; 0/5 instance variable, 0/2 class variable, 2/12 methods documented
- `twisted.spread.pb.Local` - (internal) A reference to a local object.
- `twisted.spread.pb.RemoteCacheObserver` - I am a reverse-reference to the peer's `RemoteCache`.
- `twisted.spread.pb.RemoteMethod` - This is a translucent reference to a remote message.
- `twisted.spread.util.LocalAsRemote` - A class useful for emulating the effects of remote behavior locally.
- `twisted.spread.util.LocalAsyncForwarder` - A class useful for forwarding a locally-defined interface.
- `twisted.spread.util.LocalMethod` - Undocumented
- `twisted.spread.util.Pager` - I am an object which pages out information.
  - `twisted.spread.util.FilePager` - Reads a file in chunks and sends the chunks as they come.
  - `twisted.spread.util.StringPager` - A simple pager that splits a string into chunks.
- `twisted.trial._dist.disttrial.DistTrialRunner` - A specialized runner for distributed trial. The runner launches a number of local worker processes which will run tests.
- `twisted.trial._dist.worker.LocalWorkerAddress` - A `IAddress` implementation meant to provide stub addresses for `ITransport.getPeer` and `ITransport.getHost`.
- `twisted.trial._dist.worker.LocalWorkerTransport` - A stub transport implementation used to support `AMP` over a `ProcessProtocol` transport.
- `twisted.trial._dist.workertrial.WorkerLogObserver` - A log observer that forward its output to a `AMP` protocol.
- `twisted.trial._synctest._AssertRaisesContext` - A helper for implementing `assertRaises`. This is a context manager and a helper method to support the non-context manager version of `assertRaises`.
- `twisted.trial._synctest._LogObserver` - Observes the Twisted logs and catches any errors.
- `twisted.trial._synctest._Warning` - A `_Warning` instance represents one warning emitted through the Python warning system (`warnings`). This is used to insulate callers of `_collectWarnings` from changes to the Python warnings system which might otherwise require changes to the warning objects that function passes to the observer object it accepts.
- `twisted.trial.reporter._AnsiColorizer` - A colorizer is an object that loosely wraps around a stream, allowing callers to write text to the stream in a particular color.
- `twisted.trial.reporter._NullColorizer` - See _AnsiColorizer docstring.
- `twisted.trial.reporter._Win32Colorizer` - See _AnsiColorizer docstring.
- `twisted.trial.reporter.SafeStream` - Wraps a stream object so that all `write` calls are wrapped in `untilConcludes`.
- `twisted.trial.reporter.SubunitReporter` - Reports test output via Subunit.
- `twisted.trial.runner.TestHolder` - Placeholder for a `TestCase` inside a reporter. As far as a `TestResult` is concerned, this looks exactly like a unit test.
  - `twisted.trial.runner.ErrorHolder` - Used to insert arbitrary errors into a test suite run. Provides enough methods to look like a `TestCase`, however, when it is run, it simply adds an error to the `TestResult`. The most common use-case is for when a module fails to import.
- `twisted.trial.runner.TestLoader` - I find tests inside function, modules, files -- whatever -- then return them wrapped inside a Test (either a `TestSuite` or a `TestCase`).
- `twisted.trial.runner.TrialRunner` - A specialised runner that the trial front end uses.
- `twisted.trial.unittest.PyUnitResultAdapter` - Wrap a `TestResult` from the standard library's `unittest` so that it supports the extended result types from Trial, and also supports `twisted.python.failure.Failure`s being passed to `addError` and `addFailure`...
- `twisted.trial.unittest.Todo` - Internal object used to mark a `TestCase` as 'todo'. Tests marked 'todo' are reported differently in Trial `TestResult`s. If todo'd tests fail, they do not fail the suite and the errors are reported in a separate category...
- `twisted.trial.util._Janitor` - The guy that cleans up after you.
- `twisted.web._auth.wrapper.UnauthorizedResource` - Simple IResource to escape Resource dispatch
- `twisted.web._element.Expose` - Helper for exposing methods for various uses using a simple decorator-style callable.
- `twisted.web._http2.H2Stream` - A class representing a single HTTP/2 stream.
- `twisted.web._newclient.ChunkedEncoder` - Helper object which exposes `IConsumer` on top of `HTTP11ClientProtocol` for streaming request bodies to the server.
- `twisted.web._newclient.LengthEnforcingConsumer` - An `IConsumer` proxy which enforces an exact length requirement on the total data written to it.
- `twisted.web._newclient.Request` - A `Request` instance describes an HTTP request to be sent to an HTTP server.
- `twisted.web._newclient.TransportProxyProducer` - An `twisted.internet.interfaces.IPushProducer` implementation which wraps another such thing and proxies calls to it until it is told to stop.
- `twisted.web._template_util._NSContext` - A mapping from XML namespaces onto their prefixes in the document.
- `twisted.web._template_util._TagFactory` - A factory for `Tag` objects; the implementation of the `tags` object.
- `twisted.web.client._AgentBase` - Base class offering common facilities for `Agent`-type classes.
  - `twisted.web.client.Agent` - `Agent` is a very basic HTTP client. It supports HTTP and HTTPS scheme URIs.
  - `twisted.web.client.ProxyAgent` - An HTTP agent able to cross HTTP proxies.
- `twisted.web.client._ContextFactoryWithContext` - A `_ContextFactoryWithContext` is like a `twisted.internet.ssl.ContextFactory` with a pre-created context.
- `twisted.web.client._DeprecatedToCurrentPolicyForHTTPS` - Adapt a web context factory to a normal context factory.
- `twisted.web.client._FakeUrllib2Request` - A fake `urllib2.Request` object for `cookielib` to work with.
- `twisted.web.client._FakeUrllib2Response` - A fake `urllib2.Response` object for `cookielib` to work with.
- `twisted.web.client._RetryingHTTP11ClientProtocol` - A wrapper for `HTTP11ClientProtocol` that automatically retries requests.
- `twisted.web.client._StandardEndpointFactory` - Standard HTTP endpoint destinations - TCP for HTTP, TCP+TLS for HTTPS.
- `twisted.web.client.BrowserLikePolicyForHTTPS` - SSL connection creator for web clients.
- `twisted.web.client.ContentDecoderAgent` - An `Agent` wrapper to handle encoded content.
- `twisted.web.client.CookieAgent` - `CookieAgent` extends the basic `Agent` to add RFC-compliant handling of HTTP cookies. Cookies are written to and extracted from a `cookielib.CookieJar` instance.
- `twisted.web.client.FileBodyProducer` - `FileBodyProducer` produces bytes from an input file object incrementally and writes them to a consumer.
- `twisted.web.client.HostnameCachingHTTPSPolicy` - IPolicyForHTTPS that wraps a `IPolicyForHTTPS` and caches the created `IOpenSSLClientConnectionCreator`.
- `twisted.web.client.HTTPConnectionPool` - A pool of persistent HTTP connections.
- `twisted.web.client.RedirectAgent` - An `Agent` wrapper which handles HTTP redirects.
  - `twisted.web.client.BrowserLikeRedirectAgent` - An `Agent` wrapper which handles HTTP redirects in the same fashion as web browsers.
- `twisted.web.client.Response` - A `Response` instance describes an HTTP response received from an HTTP server.
- `twisted.web.client.URI` - A URI object.
- `twisted.web.client.WebClientContextFactory` - This class is deprecated. Please simply use `Agent` as-is, or if you want to customize something, use `BrowserLikePolicyForHTTPS`.
- `twisted.web.distrib.Issue` - Undocumented
- `twisted.web.guard.BasicCredentialFactory` - Credential Factory for HTTP Basic Authentication
- `twisted.web.guard.DigestCredentialFactory` - Wrapper for `digest.DigestCredentialFactory` that implements the `ICredentialFactory` interface.
- `twisted.web.guard.HTTPAuthSessionWrapper` - Wrap a portal, enforcing supported header-based authentication schemes.
- `twisted.web.http._ChunkedTransferDecoder` - Protocol for decoding chunked Transfer-Encoding, as defined by RFC 7230, section 4.1. This protocol can interpret the contents of a request or response body which uses the chunked Transfer-Encoding. ...
- `twisted.web.http._IdentityTransferDecoder` - Protocol for accumulating bytes up to a specified length. This handles the case where no Transfer-Encoding is specified.
- `twisted.web.http._NoPushProducer` - A no-op version of `interfaces.IPushProducer`, used to abstract over the possibility that a `HTTPChannel` transport does not provide `IPushProducer`.
- `twisted.web.http._XForwardedForAddress` - `IAddress` which represents the client IP to log for a request, as gleaned from an X-Forwarded-For header.
- `twisted.web.http.Request` - A HTTP request.
  - `twisted.web.proxy.ProxyRequest` - Used by Proxy to implement a simple web proxy.
  - `twisted.web.proxy.ReverseProxyRequest` - Used by ReverseProxy to implement a simple reverse proxy.
  - `twisted.web.server.Request` - An HTTP request.
    - `twisted.web.distrib.Request` - A request which was received by a `ResourceSubscription` and sent via PB to a distributed node.
- `twisted.web.http.StringTransport` - I am a BytesIO wrapper that conforms for the transport API. I support the `writeSequence' method.
- `twisted.web.http_headers.Headers` - Stores HTTP headers in a key and multiple value format.
- `twisted.web.microdom.lmx` - Easy creation of XML.
- `twisted.web.microdom.Node` - No class docstring; 0/2 instance variable, 0/1 class variable, 5/14 methods documented
  - `twisted.web.microdom.CharacterData` - Undocumented
    - `twisted.web.microdom._Attr` - Support class for getAttributeNode.
    - `twisted.web.microdom.CDATASection` - Undocumented
    - `twisted.web.microdom.Comment` - A comment node.
    - `twisted.web.microdom.Text` - No class docstring; 0/1 instance variable, 1/5 method documented
      - `twisted.web.domhelpers.RawText` - This is an evil and horrible speed hack. Basically, if you have a big chunk of XML that you want to insert into the DOM, but you don't want to incur the cost of parsing it, you can construct one of these and insert it into the DOM...
  - `twisted.web.microdom.Document` - No class docstring; 0/1 property, 0/1 class variable, 1/10 method documented
  - `twisted.web.microdom.Element` - No class docstring; 0/10 instance variable, 2/17 methods documented
  - `twisted.web.microdom.EntityReference` - Undocumented
- `twisted.web.resource.Resource` - Define a web-accessible resource.
  - `twisted.web.distrib.ResourceSubscription` - No class docstring; 0/5 instance variable, 0/2 class variable, 4/6 methods documented
  - `twisted.web.distrib.UserDirectory` - A resource which lists available user resources and serves them as children.
  - `twisted.web.pages._ErrorPage` - `_ErrorPage` is a resource that responds to all requests with a particular (parameterized) HTTP status code and an HTML body containing some descriptive text. This is useful for rendering simple error pages.
  - `twisted.web.proxy.ReverseProxyResource` - Resource that renders the results gotten from another server
  - `twisted.web.resource._UnsafeErrorPage` - `_UnsafeErrorPage`, publicly available via the deprecated alias `ErrorPage`, is a resource which responds with a particular (parameterized) status and a body consisting of HTML containing some descriptive text...
    - `twisted.web.resource._UnsafeForbiddenResource` - `_UnsafeForbiddenResource`, publicly available via the deprecated alias `ForbiddenResource` is a specialization of `_UnsafeErrorPage` which returns the FORBIDDEN HTTP response code.
    - `twisted.web.resource._UnsafeNoResource` - `_UnsafeNoResource`, publicly available via the deprecated alias `NoResource`, is a specialization of `_UnsafeErrorPage` which returns the HTTP response code NOT FOUND.
  - `twisted.web.rewrite.RewriterResource` - Undocumented
  - `twisted.web.script.PythonScript` - I am an extremely simple dynamic resource; an embedded python script.
  - `twisted.web.script.ResourceScriptDirectory` - `ResourceScriptDirectory` is a resource which serves scripts from a filesystem directory. File children of a `ResourceScriptDirectory` will be served using `ResourceScript`. Directory children will be served using another ...
  - `twisted.web.script.ResourceScriptWrapper` - Undocumented
  - `twisted.web.soap.SOAPPublisher` - Publish SOAP methods.
  - `twisted.web.static.ASISProcessor` - Serve files exactly as responses without generating a status-line or any headers. Inspired by Apache's mod_asis.
  - `twisted.web.static.Data` - This is a static, in-memory resource.
    - `twisted.web.demo.Test` - Undocumented
  - `twisted.web.static.DirectoryLister` - Print the content of a directory.
  - `twisted.web.static.File` - File is a resource that represents a plain non-interpreted file (although it can look for an extension like .rpy or .cgi and hand the file to a processor for interpretation if you wish). Its constructor takes a file path.
  - `twisted.web.static.Redirect` - Undocumented
  - `twisted.web.tap._AddHeadersResource` - Undocumented
  - `twisted.web.twcgi.CGIDirectory` - Undocumented
  - `twisted.web.twcgi.CGIScript` - `CGIScript` is a resource which runs child processes according to the CGI specification.
    - `twisted.web.twcgi.FilteredScript` - I am a special version of a CGI script, that uses a specific executable.
  - `twisted.web.util.DeferredResource` - I wrap up a Deferred that will eventually result in a Resource object.
  - `twisted.web.util.ParentRedirect` - Redirect to the nearest directory and strip any query string.
  - `twisted.web.util.Redirect` - Resource that redirects to a specific URL.
    - `twisted.web.util.ChildRedirector` - Undocumented
  - `twisted.web.vhost._HostResource` - Undocumented
  - `twisted.web.vhost.NameVirtualHost` - I am a resource which represents named virtual hosts.
  - `twisted.web.vhost.VHostMonsterResource` - Use this to be able to record the hostname and method (http vs. https) in the URL without disturbing your web site. If you put this resource in a URL http://foo.com/bar then requests to http://foo.com/bar/http/baz...
  - `twisted.web.xmlrpc.XMLRPC` - A resource that implements XML-RPC.
    - `twisted.web.xmlrpc.XMLRPCIntrospection` - Implement the XML-RPC Introspection API.
- `twisted.web.script.CacheScanner` - Undocumented
- `twisted.web.server._GzipEncoder` - An encoder which supports gzip.
- `twisted.web.server._RemoteProducerWrapper` - Undocumented
- `twisted.web.server.GzipEncoderFactory` - No summary
- `twisted.web.soap.Proxy` - A Proxy for making remote SOAP calls.
- `twisted.web.static.StaticProducer` - Superclass for classes that implement the business of producing.
  - `twisted.web.static.MultipleRangeStaticProducer` - A `StaticProducer` that writes several chunks of a file to the request.
  - `twisted.web.static.NoRangeStaticProducer` - A `StaticProducer` that writes the entire file to the request.
  - `twisted.web.static.SingleRangeStaticProducer` - A `StaticProducer` that writes a single chunk of a file to the request.
- `twisted.web.template.CDATA` - A `<![CDATA[]]>` block from a template. Given a separate representation in the DOM so that they may be round-tripped through rendering without losing information.
- `twisted.web.template.CharRef` - A numeric character reference. Given a separate representation in the DOM so that non-ASCII characters may be output as pure ASCII.
- `twisted.web.template.Comment` - A `<!-- -->` comment from a template. Given a separate representation in the DOM so that they may be round-tripped through rendering without losing information.
- `twisted.web.template.Element` - Base for classes which can render part of a page.
  - `twisted.web.util._FrameElement` - `_FrameElement` is an `IRenderable` which can render details about one frame from a `Failure`.
  - `twisted.web.util._SourceFragmentElement` - `_SourceFragmentElement` is an `IRenderable` which can render several lines of source code near the line number of a particular frame object.
  - `twisted.web.util._SourceLineElement` - `_SourceLineElement` is an `IRenderable` which can render a single line of source code.
  - `twisted.web.util._StackElement` - `_StackElement` renders an `IRenderable` which can render a list of frames.
  - `twisted.web.util.FailureElement` - `FailureElement` is an `IRenderable` which can render detailed information about a `Failure`.
- `twisted.web.template.slot` - Marker for markup insertion in a template.
- `twisted.web.template.Tag` - A `Tag` represents an XML tags with a tag name, attributes, and children. A `Tag` can be constructed using the special `twisted.web.template.tags` object, or it may be constructed directly with a tag name. `Tag`...
- `twisted.web.template.TagLoader` - An `ITemplateLoader` that loads an existing flattenable object.
- `twisted.web.template.XMLFile` - An `ITemplateLoader` that loads and parses XML from a file.
- `twisted.web.template.XMLString` - An `ITemplateLoader` that loads and parses XML from a string.
- `twisted.web.wsgi._ErrorStream` - File-like object instances of which are used as the value for the `'wsgi.errors'` key in the `environ` dictionary passed to the application object.
- `twisted.web.wsgi._InputStream` - File-like object instances of which are used as the value for the `'wsgi.input'` key in the `environ` dictionary passed to the application object.
- `twisted.web.wsgi._WSGIResponse` - Helper for `WSGIResource` which drives the WSGI application using a threadpool and hooks it up to the `http.Request`.
- `twisted.web.wsgi.WSGIResource` - An `IResource` implementation which delegates responsibility for all resources hierarchically inferior to it to a WSGI application.
- `twisted.web.xmlrpc.Fault`
  - `twisted.web.xmlrpc.NoSuchFunction` - There is no function by the given name.
- `twisted.web.xmlrpc.Handler` - Handle a XML-RPC request and store the state for a request in progress.
- `twisted.web.xmlrpc.Proxy` - A Proxy for making remote XML-RPC calls.
- `twisted.words.im.baseaccount.AccountManager` - I am responsible for managing a user's accounts.
- `twisted.words.im.basechat.ChatUI` - A GUI chat client.
- `twisted.words.im.basechat.ContactsList` - A GUI object that displays a contacts list.
- `twisted.words.im.basechat.Conversation` - A GUI window of a conversation with a specific person.
- `twisted.words.im.basechat.GroupConversation` - A GUI window of a conversation with a group of people.
- `twisted.words.im.basesupport.AbstractClientMixin` - Designed to be mixed in to a Protocol implementing class.
  - `twisted.words.im.ircsupport.IRCProto` - No class docstring; 0/10 instance variable, 2/21 methods documented
  - `twisted.words.im.pbsupport.TwistedWordsClient` - In some cases, this acts as an Account, since it a source of text messages (multiple Words instances may be on a single PB connection)
- `twisted.words.im.basesupport.AbstractGroup` - No class docstring; 0/2 instance variable, 2/7 methods documented
  - `twisted.words.im.ircsupport.IRCGroup` - Undocumented
  - `twisted.words.im.pbsupport.TwistedWordsGroup` - No class docstring; 0/1 instance variable, 1/7 method documented
- `twisted.words.im.basesupport.AbstractPerson` - No class docstring; 0/3 instance variable, 2/5 methods documented
  - `twisted.words.im.ircsupport.IRCPerson` - Undocumented
  - `twisted.words.im.pbsupport.TwistedWordsPerson` - I a facade for a person you can talk to through a twisted.words service.
- `twisted.words.im.locals.Enum` - Undocumented
  - `twisted.words.im.locals.StatusEnum` - Undocumented
- `twisted.words.protocols.irc._CommandDispatcherMixin` - Dispatch commands to handlers based on their name.
  - `twisted.words.protocols.irc._FormattingParser` - A finite-state machine that parses formatted IRC text.
  - `twisted.words.protocols.irc.ServerSupportedFeatures` - Handle ISUPPORT messages.
- `twisted.words.protocols.jabber.client.CheckVersionInitializer` - Initializer that checks if the minimum common stream version number is 1.0.
- `twisted.words.protocols.jabber.client.IQAuthInitializer` - Non-SASL Authentication initializer for the initiating entity.
- `twisted.words.protocols.jabber.component.ComponentInitiatingInitializer` - External server-side component authentication initializer for the initiating entity.
- `twisted.words.protocols.jabber.component.Router` - XMPP Server's Router.
- `twisted.words.protocols.jabber.jid.JID` - Represents a stringprep'd Jabber ID.
- `twisted.words.protocols.jabber.sasl_mechanisms.Anonymous` - Implements the ANONYMOUS SASL authentication mechanism.
- `twisted.words.protocols.jabber.sasl_mechanisms.DigestMD5` - Implements the DIGEST-MD5 SASL authentication mechanism.
- `twisted.words.protocols.jabber.sasl_mechanisms.Plain` - Implements the PLAIN SASL authentication mechanism.
- `twisted.words.protocols.jabber.xmlstream.Authenticator` - Base class for business logic of initializing an XmlStream
  - `twisted.words.protocols.jabber.xmlstream.ConnectAuthenticator` - Authenticator for initiating entities.
    - `twisted.words.protocols.jabber.client.BasicAuthenticator` - Authenticates an XmlStream against a Jabber server as a Client.
    - `twisted.words.protocols.jabber.client.XMPPAuthenticator` - Initializes an XmlStream connecting to an XMPP server as a Client.
    - `twisted.words.protocols.jabber.component.ConnectComponentAuthenticator` - Authenticator to permit an XmlStream to authenticate against a Jabber server as an external component (where the Authenticator is initiating the stream).
  - `twisted.words.protocols.jabber.xmlstream.ListenAuthenticator` - Authenticator for receiving entities.
    - `twisted.words.protocols.jabber.component.ListenComponentAuthenticator` - Authenticator for accepting components.
- `twisted.words.protocols.jabber.xmlstream.BaseFeatureInitiatingInitializer` - Base class for initializers with a stream feature.
  - `twisted.words.protocols.jabber.client.BindInitializer` - Initializer that implements Resource Binding for the initiating entity.
  - `twisted.words.protocols.jabber.client.SessionInitializer` - Initializer that implements session establishment for the initiating entity.
  - `twisted.words.protocols.jabber.sasl.SASLInitiatingInitializer` - Stream initializer that performs SASL authentication.
  - `twisted.words.protocols.jabber.xmlstream.TLSInitiatingInitializer` - TLS stream initializer for the initiating entity.
- `twisted.words.protocols.jabber.xmlstream.XMPPHandler` - XMPP protocol handler.
- `twisted.words.protocols.jabber.xmlstream.XMPPHandlerCollection` - Collection of XMPP subprotocol handlers.
  - `twisted.words.protocols.jabber.xmlstream.StreamManager` - Business logic representing a managed XMPP connection.
- `twisted.words.protocols.jabber.xmpp_stringprep.EmptyMappingTable` - Undocumented
- `twisted.words.protocols.jabber.xmpp_stringprep.LookupTable` - Undocumented
- `twisted.words.protocols.jabber.xmpp_stringprep.LookupTableFromFunction` - Undocumented
- `twisted.words.protocols.jabber.xmpp_stringprep.MappingTableFromFunction` - Undocumented
- `twisted.words.protocols.jabber.xmpp_stringprep.NamePrep` - Implements preparation of internationalized domain names.
- `twisted.words.protocols.jabber.xmpp_stringprep.Profile` - Undocumented
- `twisted.words.service.Group` - Undocumented
- `twisted.words.service.User` - Undocumented
- `twisted.words.service.WordsRealm` - No class docstring; 0/1 instance variable, 0/3 class variable, 2/14 methods documented
  - `twisted.words.service.InMemoryWordsRealm` - Undocumented
- `twisted.words.xish.domish._ListSerializer` - Internal class which serializes an Element tree into a buffer
- `twisted.words.xish.domish.Element` - Represents an XML element node.
  - `twisted.words.protocols.jabber.client.IQ` - Wrapper for a Info/Query packet.
  - `twisted.words.protocols.jabber.xmlstream.IQ` - Wrapper for an iq stanza.
- `twisted.words.xish.domish.ExpatElementStream` - Undocumented
- `twisted.words.xish.domish.Namespace` - Convenience object for tracking namespace declarations.
- `twisted.words.xish.utility._MethodWrapper` - Internal class for tracking method calls.
- `twisted.words.xish.utility.CallbackList` - Container for callbacks.
- `twisted.words.xish.utility.EventDispatcher` - Event dispatching service.
  - `twisted.words.xish.xmlstream.XmlStream` - Generic Streaming XML protocol handler.
    - `twisted.words.protocols.jabber.xmlstream.XmlStream` - XMPP XML Stream protocol handler.
- `twisted.words.xish.utility.XmlPipe` - XML stream pipe.
- `twisted.words.xish.xmlstream.BootstrapMixin` - XmlStream factory mixin to install bootstrap event observers.
  - `twisted.words.protocols.jabber.xmlstream.XmlStreamServerFactory` - Factory for Jabber XmlStream objects as a server.
    - `twisted.words.protocols.jabber.component.XMPPComponentServerFactory` - XMPP Component Server factory.
  - `twisted.words.xish.xmlstream.XmlStreamFactoryMixin` - XmlStream factory mixin that takes care of event handlers.
    - `twisted.words.xish.xmlstream.XmlStreamFactory` - Factory for XmlStream protocol objects as a reconnection client.
      - `twisted.words.protocols.jabber.xmlstream.XmlStreamFactory` - Factory for Jabber XmlStream objects as a reconnecting client.
- `twisted.words.xish.xpath._AnyLocation` - Undocumented
- `twisted.words.xish.xpath._Location` - Undocumented
- `twisted.words.xish.xpath._not_Function` - Undocumented
- `twisted.words.xish.xpath._text_Function` - Undocumented
- `twisted.words.xish.xpath.AttribValue` - Undocumented
- `twisted.words.xish.xpath.BooleanValue` - Provide boolean XPath expression operators.
- `twisted.words.xish.xpath.CompareValue` - Undocumented
- `twisted.words.xish.xpath.IndexValue` - Undocumented
- `twisted.words.xish.xpath.XPathQuery` - Undocumented
- `type`
  - `twisted.protocols.amp._CommandLocatorMeta` - This metaclass keeps track of all of the Command.responder-decorated methods defined since the last CommandLocator subclass was defined. It assumes (usually correctly, but unfortunately not necessarily so) that those commands responders were all declared as methods of the class being defined...
  - `twisted.protocols.amp._CommandMeta` - Metaclass hack to establish reverse-mappings for 'errors' and 'fatalErrors' as class vars.
- `TypeError`
  - `twisted.internet.defer.NotACoroutineError` - This error is raised when a coroutine is expected and something else is encountered.
- `typing.Awaitable`
  - `twisted.internet.defer.Deferred` - This is a callback which will be put off until later.
    - `twisted.internet.defer.DeferredList` - `DeferredList` is a tool for collecting the results of several Deferreds.
    - `twisted.persisted.crefutil._Defer` - Undocumented
- `typing.Generic`
  - `twisted.internet.defer._ConcurrencyPrimitive` - No class docstring; 0/1 instance variable, 2/7 methods documented
    - `twisted.internet.defer.DeferredLock` - A lock for event driven systems.
    - `twisted.internet.defer.DeferredSemaphore` - A semaphore for event driven systems.
  - `twisted.internet.defer.DeferredQueue` - An event driven queue.
- `typing.MutableMapping`
  - `twisted.python.util.InsensitiveDict` - Dictionary, that has case-insensitive keys.
- `typing.Protocol`
  - `twisted.internet.tcp._HasClose` - Undocumented
- `unittest.TestCase`
  - `twisted.trial._synctest._Assertions` - Replaces many of the built-in TestCase assertions. In general, these assertions provide better error messages and are easier to use in callbacks.
    - `twisted.trial.unittest.SynchronousTestCase` - A unit test. The atom of the unit testing universe.
      - `twisted.trial.unittest.TestCase` - A unit test. The atom of the unit testing universe.
- `unittest.TestResult`
  - `twisted.trial.reporter.TestResult` - Accumulates the results of several `twisted.trial.unittest.TestCase`s.
    - `twisted.trial._dist.workerreporter.WorkerReporter` - Reporter for trial's distributed workers. We send things not through a stream, but through an `AMP` protocol's `callRemote` method.
    - `twisted.trial.reporter.Reporter` - A basic `TestResult` with support for writing to a stream.
      - `twisted.trial.reporter.MinimalReporter` - A minimalist reporter that prints only a summary of the test result, in the form of (timeTaken, #tests, #tests, #errors, #failures, #skips).
      - `twisted.trial.reporter.TextReporter` - Simple reporter that prints a single character for each test as it runs, along with the standard Trial summary text.
      - `twisted.trial.reporter.TreeReporter` - Print out the tests in the form a tree.
      - `twisted.trial.reporter.VerboseTextReporter` - A verbose reporter that prints the name of each test as it is running.
        - `twisted.trial.reporter.TimingTextReporter` - Prints out each test as it is running, followed by the time taken for each test to run.
- `unittest.TestSuite`
  - `twisted.trial.unittest.TestSuite` - Extend the standard library's `TestSuite` with a consistently overrideable `run` method.
    - `twisted.trial.runner.DestructiveTestSuite` - A test suite which remove the tests once run, to minimize memory usage.
    - `twisted.trial.runner.LoggedSuite` - Any errors logged in this suite will be reported to the `TestResult` object.
    - `twisted.trial.runner.TrialSuite` - Suite to wrap around every single test in a `trial` run. Used internally by Trial to set up things necessary for Trial tests to work, regardless of what context they are run in.
- `ValueError`
  - `twisted.conch.interfaces.EnvironmentVariableNotPermitted` - Setting this environment variable in this session is not permitted.
  - `twisted.internet.error.AlreadyCalled` - Undocumented
  - `twisted.internet.error.AlreadyCancelled` - Undocumented
  - `twisted.internet.error.InvalidAddressError` - An invalid address was specified (i.e. neither IPv4 or IPv6, or expected one and got the other).
  - `twisted.names.error.AuthoritativeDomainError` - Indicates a lookup failed for a name for which this server is authoritative because there were no records matching the given `name, class, type` triple.
  - `twisted.names.error.DomainError` - Indicates a lookup failed because there were no records matching the given `name, class, type` triple.
    - `twisted.names.error.DNSFormatError` - Indicates a query failed with a result of `twisted.names.dns.EFORMAT`.
    - `twisted.names.error.DNSNameError` - Indicates a query failed with a result of `twisted.names.dns.ENAME`.
    - `twisted.names.error.DNSNotImplementedError` - Indicates a query failed with a result of `twisted.names.dns.ENOTIMP`.
    - `twisted.names.error.DNSQueryRefusedError` - Indicates a query failed with a result of `twisted.names.dns.EREFUSED`.
    - `twisted.names.error.DNSServerError` - Indicates a query failed with a result of `twisted.names.dns.ESERVER`.
    - `twisted.names.error.DNSUnknownError` - Indicates a query failed with an unknown result.
  - `twisted.protocols.basic.NetstringParseError` - The incoming data is not in valid Netstring format.
  - `twisted.python.reflect.InvalidName` - The given name is not a dot-separated list of Python objects.
    - `twisted.python.reflect.ModuleNotFound` - The module associated with the given name doesn't exist and it can't be imported.
    - `twisted.python.reflect.ObjectNotFound` - The object associated with the given name doesn't exist and it can't be imported.
  - `twisted.words.protocols.irc.IRCBadModes` - A malformed mode was encountered while attempting to parse a mode string.
- `Warning`
  - `twisted.internet.error.PotentialZombieWarning` - Emitted when `IReactorProcess.spawnProcess` is called in a way which may result in termination of the created child process not being reported.
  - `twisted.trial.reporter.BrokenTestCaseWarning` - Emitted as a warning when an exception occurs in one of setUp or tearDown.
- `wx.Timer`
  - `twisted.internet.wxreactor.ProcessEventsTimer` - Timer that tells wx to process pending events.
- `xml.sax.handler.ContentHandler`
  - `twisted.web._template_util._ToStan` - A SAX parser which converts an XML document to the Twisted STAN Document Object Model.
- `xml.sax.handler.EntityResolver`
  - `twisted.web._template_util._ToStan` - A SAX parser which converts an XML document to the Twisted STAN Document Object Model.
- `zipfile.ZipFile`
  - `twisted.python.zipstream.ChunkingZipFile` - A `zipfile.ZipFile` object which, with `readfile`, also gives you access to a file-like object for each entry.
- `zope.interface.Interface`
  - `twisted._threads.IWorker` - A worker that can perform some work concurrently.
    - `twisted._threads._ithreads.IExclusiveWorker` - Like `IWorker`, but with the additional guarantee that the callables passed to `do` will not be called exclusively with each other.
  - `twisted.application.reactors.IReactorInstaller` - Definition of a reactor which can probably be installed.
  - `twisted.application.runner._pidfile.IPIDFile` - Manages a file that remembers a process ID.
  - `twisted.application.service.IProcess` - Process running parameters.
  - `twisted.application.service.IService` - A service.
  - `twisted.application.service.IServiceCollection` - Collection of services.
  - `twisted.application.service.IServiceMaker` - An object which can be used to construct services in a flexible way.
  - `twisted.conch.checkers.IAuthorizedKeysDB` - An object that provides valid authorized ssh keys mapped to usernames.
  - `twisted.conch.endpoints._ISSHConnectionCreator` - An `_ISSHConnectionCreator` knows how to create SSH connections somehow.
  - `twisted.conch.insults.insults.ITerminalProtocol` - No interface docstring; 5/5 methods documented
  - `twisted.conch.interfaces.IConchUser` - A user who has been authenticated to Cred through Conch. This is the interface between the SSH connection and the user.
  - `twisted.conch.interfaces.IKnownHostEntry` - A `IKnownHostEntry` is an entry in an OpenSSH-formatted `known_hosts` file.
  - `twisted.conch.interfaces.ISession` - No interface docstring; 6/6 methods documented
  - `twisted.conch.interfaces.ISessionSetEnv` - A session that can set environment variables.
  - `twisted.conch.interfaces.ISFTPFile` - This represents an open file on the server. An object adhering to this interface should be returned from `openFile`().
  - `twisted.conch.interfaces.ISFTPServer` - SFTP subsystem for server-side communication.
  - `twisted.conch.ssh._kex._IKexAlgorithm` - An `_IKexAlgorithm` describes a key exchange algorithm.
    - `twisted.conch.ssh._kex._IEllipticCurveExchangeKexAlgorithm` - An `_IEllipticCurveExchangeKexAlgorithm` describes a key exchange algorithm that uses an elliptic curve exchange between the client and server.
    - `twisted.conch.ssh._kex._IFixedGroupKexAlgorithm` - An `_IFixedGroupKexAlgorithm` describes a key exchange algorithm with a fixed prime / generator group.
    - `twisted.conch.ssh._kex._IGroupExchangeKexAlgorithm` - An `_IGroupExchangeKexAlgorithm` describes a key exchange algorithm that uses group exchange between the client and server.
  - `twisted.cred.checkers.ICredentialsChecker` - An object that can check sub-interfaces of `ICredentials`.
  - `twisted.cred.credentials.ICredentials` - I check credentials.
    - `twisted.cred.credentials.IAnonymous` - I am an explicitly anonymous request for access.
    - `twisted.cred.credentials.ISSHPrivateKey` - `ISSHPrivateKey` credentials encapsulate an SSH public key to be checked against a user's private key.
    - `twisted.cred.credentials.IUsernameHashedPassword` - I encapsulate a username and a hashed password.
    - `twisted.cred.credentials.IUsernamePassword` - I encapsulate a username and a plaintext password.
    - `twisted.spread.pb.IUsernameMD5Password` - I encapsulate a username and a hashed password.
    - `twisted.web.iweb.IUsernameDigestHash` - This credential is used when a CredentialChecker has access to the hash of the username:realm:password as in an Apache .htdigest file.
  - `twisted.cred.portal.IRealm` - The realm connects application-specific objects to the authentication system.
  - `twisted.cred.strcred.ICheckerFactory` - A factory for objects which provide `twisted.cred.checkers.ICredentialsChecker`.
  - `twisted.internet._sslverify.IOpenSSLTrustRoot` - Trust settings for an OpenSSL context.
  - `twisted.internet.interfaces._ISupportsExitSignalCapturing` - An implementor of `_ISupportsExitSignalCapturing` will capture the value of any delivered exit signal (SIGINT, SIGTERM, SIGBREAK) for which it has installed a handler. The caught signal number is made available in the _exitSignal attribute.
  - `twisted.internet.interfaces.IAcceptableCiphers` - A list of acceptable ciphers for a TLS context.
  - `twisted.internet.interfaces.IAddress` - An address, e.g. a TCP `(host, port)`.
  - `twisted.internet.interfaces.ICipher` - A TLS cipher.
  - `twisted.internet.interfaces.IConnector` - Object used to interface between connections and protocols.
  - `twisted.internet.interfaces.IConsumer` - A consumer consumes data from a producer.
    - `twisted.internet.endpoints._IProcessTransportWithConsumerAndProducer` - An `_IProcessTransportWithConsumerAndProducer` combines various interfaces to work around the issue that `interfaces.IProcessTransport` is incompletely defined and doesn't specify flow-control interfaces, and that ...
    - `twisted.protocols.ftp.IFinishableConsumer` - A Consumer for producers that finish.
  - `twisted.internet.interfaces.IDelayedCall` - A scheduled call.
  - `twisted.internet.interfaces.IFileDescriptorReceiver` - Protocols may implement `IFileDescriptorReceiver` to receive file descriptors sent to them. This is useful in conjunction with `IUNIXTransport`, which allows file descriptors to be sent between processes on a single host.
  - `twisted.internet.interfaces.IHalfCloseableDescriptor` - A descriptor that can be half-closed.
  - `twisted.internet.interfaces.IHalfCloseableProtocol` - Implemented to indicate they want notification of half-closes.
  - `twisted.internet.interfaces.IHandshakeListener` - An interface implemented by a `IProtocol` to indicate that it would like to be notified when TLS handshakes complete when run over a TLS-based transport.
  - `twisted.internet.interfaces.IHostnameResolver` - An `IHostnameResolver` can resolve a host name and port number into a series of `IAddress` objects.
  - `twisted.internet.interfaces.IHostResolution` - An `IHostResolution` represents represents an in-progress recursive query for a DNS name.
  - `twisted.internet.interfaces.IListeningPort` - A listening port.
  - `twisted.internet.interfaces.ILoggingContext` - Give context information that will be used to log events generated by this item.
    - `twisted.internet.interfaces.IFileDescriptor` - An interface representing a UNIX-style numeric file descriptor.
      - `twisted.internet.interfaces.IReadDescriptor` - An `IFileDescriptor` that can read.
        - `twisted.internet.interfaces.IReadWriteDescriptor` - An `IFileDescriptor` that can both read and write.
      - `twisted.internet.interfaces.IWriteDescriptor` - An `IFileDescriptor` that can write.
        - `twisted.internet.interfaces.IReadWriteDescriptor` - An `IFileDescriptor` that can both read and write.
  - `twisted.internet.interfaces.IMulticastTransport` - Additional functionality for multicast UDP.
  - `twisted.internet.interfaces.IOpenSSLClientConnectionCreator` - A provider of `IOpenSSLClientConnectionCreator` can create `OpenSSL.SSL.Connection` objects for TLS clients.
  - `twisted.internet.interfaces.IOpenSSLContextFactory` - A provider of `IOpenSSLContextFactory` is capable of generating `OpenSSL.SSL.Context` classes suitable for configuring TLS on a connection. A provider will store enough state to be able to generate these contexts as needed for individual connections.
  - `twisted.internet.interfaces.IOpenSSLServerConnectionCreator` - A provider of `IOpenSSLServerConnectionCreator` can create `OpenSSL.SSL.Connection` objects for TLS servers.
  - `twisted.internet.interfaces.IProcessProtocol` - Interface for process-related event handlers.
  - `twisted.internet.interfaces.IProducer` - A producer produces data for a consumer.
    - `twisted.internet.interfaces.IPullProducer` - A pull producer, also known as a non-streaming producer, is expected to produce data each time `resumeProducing()` is called.
    - `twisted.internet.interfaces.IPushProducer` - A push producer, also known as a streaming producer is expected to produce (write to this consumer) data on a continuous basis, unless it has been paused. A paused push producer will resume producing after its ...
      - `twisted.internet.endpoints._IProcessTransportWithConsumerAndProducer` - An `_IProcessTransportWithConsumerAndProducer` combines various interfaces to work around the issue that `interfaces.IProcessTransport` is incompletely defined and doesn't specify flow-control interfaces, and that ...
      - `twisted.web.iweb.IBodyProducer` - Objects which provide `IBodyProducer` write bytes to an object which provides `IConsumer` by calling its `write` method repeatedly.
  - `twisted.internet.interfaces.IProtocol` - No interface docstring; 4/4 methods documented
    - `twisted.conch.telnet.ITelnetProtocol` - No interface docstring; 6/6 methods documented
  - `twisted.internet.interfaces.IProtocolFactory` - Interface for protocol factories.
  - `twisted.internet.interfaces.IProtocolNegotiationFactory` - A provider of `IProtocolNegotiationFactory` can provide information about the various protocols that the factory can create implementations of. This can be used, for example, to provide protocol names for Next Protocol Negotiation and Application Layer Protocol Negotiation.
  - `twisted.internet.interfaces.IReactorCore` - Core methods that a Reactor must implement.
  - `twisted.internet.interfaces.IReactorDaemonize` - A reactor which provides hooks that need to be called before and after daemonization.
  - `twisted.internet.interfaces.IReactorFDSet` - Implement me to be able to use `IFileDescriptor` type resources.
  - `twisted.internet.interfaces.IReactorFromThreads` - This interface is the set of thread-safe methods which may be invoked on the reactor from other threads.
    - `twisted.internet.interfaces.IReactorThreads` - Dispatch methods to be run in threads.
  - `twisted.internet.interfaces.IReactorInThreads` - This interface contains the methods exposed by a reactor which will let you run functions in another thread.
    - `twisted.internet.interfaces.IReactorThreads` - Dispatch methods to be run in threads.
  - `twisted.internet.interfaces.IReactorMulticast` - UDP socket methods that support multicast.
  - `twisted.internet.interfaces.IReactorPluggableNameResolver` - An `IReactorPluggableNameResolver` is a reactor whose name resolver can be set to a user-supplied object.
  - `twisted.internet.interfaces.IReactorPluggableResolver` - An `IReactorPluggableResolver` is a reactor which can be customized with an `IResolverSimple`. This is a fairly limited interface, that supports only IPv4; you should use `IReactorPluggableNameResolver` instead.
  - `twisted.internet.interfaces.IReactorProcess` - No interface docstring; 1/1 method documented
  - `twisted.internet.interfaces.IReactorSocket` - Methods which allow a reactor to use externally created sockets.
  - `twisted.internet.interfaces.IReactorSSL` - No interface docstring; 2/2 methods documented
  - `twisted.internet.interfaces.IReactorTCP` - No interface docstring; 2/2 methods documented
  - `twisted.internet.interfaces.IReactorTime` - Time methods that a Reactor should implement.
  - `twisted.internet.interfaces.IReactorUDP` - UDP socket methods.
  - `twisted.internet.interfaces.IReactorUNIX` - UNIX socket methods.
  - `twisted.internet.interfaces.IReactorUNIXDatagram` - Datagram UNIX socket methods.
  - `twisted.internet.interfaces.IReactorWin32Events` - Win32 Event API methods
  - `twisted.internet.interfaces.IResolutionReceiver` - An `IResolutionReceiver` receives the results of a hostname resolution in progress, initiated by an `IHostnameResolver`.
  - `twisted.internet.interfaces.IResolverSimple` - No interface docstring; 1/1 method documented
    - `twisted.internet.interfaces.IResolver` - No interface docstring; 24/24 methods documented
  - `twisted.internet.interfaces.IServiceCollection` - An object which provides access to a collection of services.
  - `twisted.internet.interfaces.IStreamClientEndpoint` - A stream client endpoint is a place that `ClientFactory` can connect to. For example, a remote TCP host/port pair would be a TCP client endpoint.
  - `twisted.internet.interfaces.IStreamClientEndpointStringParserWithReactor` - An `IStreamClientEndpointStringParserWithReactor` is a parser which can convert a set of string `*args` and `**kwargs` into an `IStreamClientEndpoint` provider.
  - `twisted.internet.interfaces.IStreamServerEndpoint` - A stream server endpoint is a place that a `Factory` can listen for incoming connections.
  - `twisted.internet.interfaces.IStreamServerEndpointStringParser` - An `IStreamServerEndpointStringParser` is like an `IStreamClientEndpointStringParserWithReactor`, except for `IStreamServerEndpoint`s instead of clients. It integrates with `endpoints.serverFromString` in much the same way.
  - `twisted.internet.interfaces.ISystemHandle` - An object that wraps a networking OS-specific handle.
  - `twisted.internet.interfaces.ITransport` - I am a transport for bytes.
    - `twisted.conch.insults.insults.ITerminalTransport` - No interface docstring; 41/41 methods documented
    - `twisted.conch.telnet.ITelnetTransport` - No interface docstring; 5/5 methods documented
    - `twisted.internet.interfaces.IProcessTransport` - A process transport.
      - `twisted.internet.endpoints._IProcessTransportWithConsumerAndProducer` - An `_IProcessTransportWithConsumerAndProducer` combines various interfaces to work around the issue that `interfaces.IProcessTransport` is incompletely defined and doesn't specify flow-control interfaces, and that ...
    - `twisted.internet.interfaces.ITCPTransport` - A TCP based transport.
      - `twisted.internet.interfaces.ISSLTransport` - A SSL/TLS based transport.
        - `twisted.internet.interfaces.INegotiated` - A TLS based transport that supports using ALPN/NPN to negotiate the protocol to be used inside the encrypted tunnel.
      - `twisted.internet.interfaces.ITLSTransport` - A TCP transport that supports switching to TLS midstream.
    - `twisted.internet.interfaces.IUNIXTransport` - Transport for stream-oriented unix domain connections.
  - `twisted.internet.interfaces.IUDPTransport` - Transport for UDP DatagramProtocols.
  - `twisted.internet.interfaces.IUNIXDatagramConnectedTransport` - Transport for UDP ConnectedPacketProtocols.
  - `twisted.internet.interfaces.IUNIXDatagramTransport` - Transport for UDP PacketProtocols.
  - `twisted.internet.iocpreactor.interfaces.IReadHandle` - No interface docstring; 1/1 method documented
    - `twisted.internet.iocpreactor.interfaces.IReadWriteHandle` - Undocumented
  - `twisted.internet.iocpreactor.interfaces.IWriteHandle` - No interface docstring; 1/1 method documented
    - `twisted.internet.iocpreactor.interfaces.IReadWriteHandle` - Undocumented
  - `twisted.internet.kqreactor._IKQueue` - An interface for KQueue implementations.
  - `twisted.internet.posixbase._IWaker` - Interface to wake up the event loop based on the self-pipe trick.
  - `twisted.internet.tcp._IFileDescriptorReservation` - An open file that represents an emergency reservation in the process' file descriptor table. If `Port` encounters `EMFILE` on `accept(2)`, it can close this file descriptor, retry the `accept` so that the incoming connection occupies this file descriptor's space, and then close that connection and reopen this one.
  - `twisted.logger.ILogFilterPredicate` - A predicate that determined whether an event should be logged.
  - `twisted.logger.ILogObserver` - An observer which can handle log events.
  - `twisted.mail.interfaces.IAccountIMAP` - Interface for Account classes
  - `twisted.mail.interfaces.IAlias` - An interface for aliases.
  - `twisted.mail.interfaces.IChallengeResponse` - An `IMAPrev4` authorization challenge mechanism.
  - `twisted.mail.interfaces.IClientAuthentication` - No interface docstring; 2/2 methods documented
  - `twisted.mail.interfaces.ICloseableMailboxIMAP` - A supplementary interface for mailboxes which require cleanup on close.
  - `twisted.mail.interfaces.IDomain` - An interface for email domains.
    - `twisted.mail.interfaces.IAliasableDomain` - An interface for email domains which can be aliased to other domains.
  - `twisted.mail.interfaces.IMailboxIMAPInfo` - Interface specifying only the methods required for `listMailboxes`.
    - `twisted.mail.interfaces.IMailboxIMAP` - No interface docstring; 15/15 methods documented
  - `twisted.mail.interfaces.IMailboxIMAPListener` - Interface for objects interested in mailbox events
  - `twisted.mail.interfaces.IMailboxPOP3` - An interface for mailbox access.
  - `twisted.mail.interfaces.IMessageDelivery` - No interface docstring; 3/3 methods documented
  - `twisted.mail.interfaces.IMessageDeliveryFactory` - An alternate interface to implement for handling message delivery.
  - `twisted.mail.interfaces.IMessageIMAPCopier` - No interface docstring; 1/1 method documented
  - `twisted.mail.interfaces.IMessageIMAPFile` - Optional message interface for representing messages as files.
  - `twisted.mail.interfaces.IMessageIMAPPart` - No interface docstring; 5/5 methods documented
    - `twisted.mail.interfaces.IMessageIMAP` - No interface docstring; 3/3 methods documented
  - `twisted.mail.interfaces.IMessageSMTP` - Interface definition for messages that can be sent via SMTP.
  - `twisted.mail.interfaces.INamespacePresenter` - No interface docstring; 3/3 methods documented
  - `twisted.mail.interfaces.ISearchableIMAPMailbox` - No interface docstring; 1/1 method documented
  - `twisted.mail.interfaces.IServerFactoryPOP3` - An interface for querying capabilities of a POP3 server.
  - `twisted.names.dns.IEncodable` - Interface for something which can be encoded to and decoded to the DNS wire format.
    - `twisted.names.dns.IEncodableRecord` - Interface for DNS records that can be encoded and decoded.
  - `twisted.names.dns.IRecord` - A single entry in a zone of authority.
    - `twisted.names.dns.IEncodableRecord` - Interface for DNS records that can be encoded and decoded.
  - `twisted.pair.ethernet.IEthernetProtocol` - An interface for protocols that handle Ethernet frames
  - `twisted.pair.raw.IRawDatagramProtocol` - An interface for protocols such as UDP, ICMP and TCP.
  - `twisted.pair.raw.IRawPacketProtocol` - An interface for low-level protocols such as IP and ARP.
  - `twisted.pair.tuntap._IInputOutputSystem` - An interface for performing some basic kinds of I/O (particularly that I/O which might be useful for `twisted.pair.tuntap`-using code).
  - `twisted.persisted.sob.IPersistable` - An object which can be saved in several formats to a file
  - `twisted.plugin.IPlugin` - Interface that must be implemented by all plugins.
  - `twisted.positioning.ipositioning.INMEAReceiver` - An object that can receive NMEA data.
  - `twisted.positioning.ipositioning.IPositioningBeacon` - A positioning beacon.
  - `twisted.positioning.ipositioning.IPositioningReceiver` - An interface for positioning providers.
  - `twisted.protocols.amp.IArgumentType` - An `IArgumentType` can serialize a Python object into an AMP box and deserialize information from an AMP box back into a Python object.
  - `twisted.protocols.amp.IBoxReceiver` - An application object which can receive `AmpBox` objects and dispatch them appropriately.
  - `twisted.protocols.amp.IBoxSender` - A transport which can send `AmpBox` objects.
  - `twisted.protocols.amp.IResponderLocator` - An application object which can look up appropriate responder methods for AMP commands.
  - `twisted.protocols.ftp.IFTPShell` - An abstraction of the shell commands used by the FTP protocol for a given user account.
  - `twisted.protocols.ftp.IReadFile` - A file out of which bytes may be read.
  - `twisted.protocols.ftp.IWriteFile` - A file into which bytes may be written.
  - `twisted.protocols.haproxy._interfaces.IProxyInfo` - Data container for PROXY protocol header data.
  - `twisted.protocols.haproxy._interfaces.IProxyParser` - Streaming parser that handles PROXY protocol headers.
  - `twisted.protocols.htb.IBucketFilter` - No interface docstring; 1/1 method documented
  - `twisted.protocols.sip.IAuthorizer` - No interface docstring; 2/2 methods documented
  - `twisted.protocols.sip.IContact` - A user of a registrar or proxy
  - `twisted.protocols.sip.ILocator` - Allow looking up physical address for logical URL.
  - `twisted.protocols.sip.IRegistry` - Allows registration of logical->physical URL mapping.
  - `twisted.python._release.IVCSCommand` - An interface for VCS commands.
  - `twisted.python.filepath.IFilePath` - File path object.
  - `twisted.python.log.ILogObserver` - An observer which can do something with log events.
  - `twisted.python.modules.IPathImportMapper` - This is an internal interface, used to map importers to factories for FilePath-like objects.
  - `twisted.spread.interfaces.IJellyable` - No interface docstring; 1/1 method documented
  - `twisted.spread.interfaces.IUnjellyable` - No interface docstring; 1/1 method documented
  - `twisted.spread.pb.IPBRoot` - Factory for root Referenceable objects for PB servers.
  - `twisted.spread.pb.IPerspective` - per*spec*tive, n. : The relationship of aspects of a subject to each other and to a whole: 'a perspective of history'; 'a need to view the problem in the proper perspective'.
  - `twisted.trial.itrial.IReporter` - I report results from a run of a test suite.
  - `twisted.trial.itrial.ITestCase` - The interface that a test case must implement in order to be used in Trial.
  - `twisted.web.http._IDeprecatedHTTPChannelToRequestInterface` - The interface `HTTPChannel` expects of `Request`.
  - `twisted.web.iweb._IRequestEncoder` - An object encoding data passed to `IRequest.write`, for example for compression purpose.
  - `twisted.web.iweb._IRequestEncoderFactory` - A factory for returing `_IRequestEncoder` instances.
  - `twisted.web.iweb.IAccessLogFormatter` - An object which can represent an HTTP request as a line of text for inclusion in an access log file.
  - `twisted.web.iweb.IAgent` - An agent makes HTTP requests.
  - `twisted.web.iweb.IAgentEndpointFactory` - An `IAgentEndpointFactory` provides a way of constructing an endpoint used for outgoing Agent requests. This is useful in the case of needing to proxy outgoing connections, or to otherwise vary the transport used.
  - `twisted.web.iweb.IClientRequest` - An object representing an HTTP request to make to an HTTP server.
  - `twisted.web.iweb.ICredentialFactory` - A credential factory defines a way to generate a particular kind of authentication challenge and a way to interpret the responses to these challenges. It creates `ICredentials` providers from responses. ...
  - `twisted.web.iweb.INonQueuedRequestFactory` - A factory of `IRequest` objects that does not take a ``queued`` parameter.
  - `twisted.web.iweb.IPolicyForHTTPS` - An `IPolicyForHTTPS` provides a policy for verifying the certificates of HTTPS connections, in the form of a `client connection creator` per network location.
  - `twisted.web.iweb.IRenderable` - An `IRenderable` is an object that may be rendered by the `twisted.web.template` templating system.
  - `twisted.web.iweb.IRequest` - An HTTP request.
  - `twisted.web.iweb.IResponse` - An object representing an HTTP response received from an HTTP server.
  - `twisted.web.iweb.ITemplateLoader` - A loader for templates; something usable as a value for `twisted.web.template.Element`'s `loader` attribute.
  - `twisted.web.resource._IEncodingResource` - A resource which knows about `_IRequestEncoderFactory`.
  - `twisted.web.resource.IResource` - A web resource.
  - `twisted.words.im.interfaces.IAccount` - I represent a user's account with a chat service.
  - `twisted.words.im.interfaces.IChatUI` - No interface docstring; 8/8 methods documented
  - `twisted.words.im.interfaces.IClient` - No interface docstring; 1/1 attribute, 3/5 methods documented
  - `twisted.words.im.interfaces.IConversation` - A conversation with a specific person.
  - `twisted.words.im.interfaces.IGroup` - A group which you may have a conversation with.
  - `twisted.words.im.interfaces.IGroupConversation` - No interface docstring; 7/9 methods documented
  - `twisted.words.im.interfaces.IPerson` - No interface docstring; 5/5 methods documented
  - `twisted.words.iwords.IChatClient` - Interface through which IChatService interacts with clients.
  - `twisted.words.iwords.IChatService` - No interface docstring; 3/3 attributes, 6/6 methods documented
  - `twisted.words.iwords.IGroup` - No interface docstring; 1/1 attribute, 6/6 methods documented
  - `twisted.words.iwords.IProtocolPlugin` - Interface for plugins providing an interface to a Words service
  - `twisted.words.iwords.IUser` - Interface through which clients interact with IChatService.
  - `twisted.words.protocols.jabber.ijabber.IInitializer` - Interface for XML stream initializers.
    - `twisted.words.protocols.jabber.ijabber.IInitiatingInitializer` - Interface for XML stream initializers for the initiating entity.
  - `twisted.words.protocols.jabber.ijabber.IIQResponseTracker` - IQ response tracker interface.
  - `twisted.words.protocols.jabber.ijabber.IService` - External server-side component service interface.
  - `twisted.words.protocols.jabber.ijabber.IXMPPHandler` - Interface for XMPP protocol handlers.
  - `twisted.words.protocols.jabber.ijabber.IXMPPHandlerCollection` - Collection of handlers.
  - `twisted.words.protocols.jabber.sasl_mechanisms.ISASLMechanism` - No interface docstring; 1/1 attribute, 2/2 methods documented
  - `twisted.words.protocols.jabber.xmpp_stringprep.ILookupTable` - Interface for character lookup classes.
  - `twisted.words.protocols.jabber.xmpp_stringprep.IMappingTable` - Interface for character mapping classes.
  - `twisted.words.xish.domish.IElement` - Interface to XML element nodes.