content: [build-system]
  requires = [
      "hatchling >= 1.10.0",
      "hatch-fancy-pypi-readme >= 22.5.0",
      "incremental >= 24.7.0",
  ]
  build-backend = "hatchling.build"
  
  [project]
  name = "Twisted"
  dynamic = [
      "version",
      "readme",
      # Remove this when the legacy optional dependency names are removed
      "optional-dependencies",
  ]
  description = "An asynchronous networking framework written in Python"
  license = { text = "MIT License" }
  # When updating this value, make sure our CI matrix includes a matching minimum version.
  requires-python = ">=3.9.12"
  authors = [
      { name = "Twisted Matrix Community", email = "twisted@python.org" },
  ]
  classifiers = [
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
  ]
  dependencies = [
      "zope.interface >= 5",
      "constantly >= 15.1",
      "incremental >= 24.7.0",
      "Automat >= 24.8.0",
      "hyperlink >= 17.1.1",
      "attrs >= 22.2.0",
      "typing_extensions >= 4.2.0",
  ]
  
  # Switch to this when the legacy optional dependency names are removed
  # [project.optional-dependencies]
  [tool.hatch.metadata.hooks.custom.optional-dependencies]
  # This is list of minimum dependencies required to run the tests.
  # The plan is to remove the `test` extra requirement and skip tests that
  # depend on them
  # To prevent trunk failures we should pin all dev dependencies to minor
  # versions.
  # We trust semantic versioning and auto-upgrading to a bugfix release
  # should be OK.
  test = [
      "cython-test-exception-raiser >= 1.0.2, <2",
      "PyHamcrest >= 2",
      "hypothesis >= 6.56",
      "httpx[http2] >= 0.27",
  ]
  
  # List of dependencies required to build the documentation and test the
  # release scripts and process.
  dev-release = [
      "towncrier ~= 23.6",
      "pydoctor ~= 25.4.0",
      "sphinx-rtd-theme ~= 1.3",
      "sphinx >= 6, <7",
  ]
  
  # All the extra tools used to help with the development process.
  dev = [
      "twisted[test]",
      "twisted[dev-release]",
      "pyflakes ~= 2.2",
      "python-subunit ~= 1.4",
      "twistedchecker ~= 0.7",
      "coverage ~= 7.5",
  ]
  
  tls = [
      "pyopenssl >= 25.2.0",
      # service_identity 18.1.0 added support for validating IP addresses in
      # certificate subjectAltNames
      "service_identity >= 18.1.0",
      "idna >= 2.4",
  ]
  
  conch = [
      "cryptography >= 38",
      "appdirs >= 1.4.0",
      "bcrypt >= 3.2.1",
  ]
  
  serial = [
      "pyserial >= 3.0",
      "pywin32 != 226; platform_system == 'Windows'",
  ]
  
  http2 = [
      "h2 >= 3.2, < 5.0",
      "priority >= 1.1.0, < 2.0",
  ]
  
  websocket = [
      "wsproto",
  ]
  
  all-non-platform = [
      "twisted[test,tls,conch,serial,http2,websocket]",
  ]
  
  macos-platform = [
      "twisted[all-non-platform]",
      "pyobjc-core; python_version >= '3.9'",
      "pyobjc-framework-CFNetwork; python_version >= '3.9'",
      "pyobjc-framework-Cocoa; python_version >= '3.9'",
  ]
  
  windows-platform = [
      "twisted[all-non-platform]",
      "pywin32 != 226",
      "twisted-iocpsupport >= 1.0.2",
  ]
  
  osx-platform = [
      "twisted[macos-platform]",
  ]
  
  gtk-platform = [
      "twisted[all-non-platform]",
      "pygobject; python_version >= '3.10'",
      "pygobject < 3.52.1; python_version < '3.10'",
  ]
  
  mypy = [
      "twisted[dev,all-non-platform]",
      "mypy==1.10.1",
      "mypy-zope==1.0.6",
      "types-setuptools",
      "types-pyOpenSSL",
  ]
  
  [project.scripts]
  cftp = "twisted.conch.scripts.cftp:run"
  ckeygen = "twisted.conch.scripts.ckeygen:run"
  conch = "twisted.conch.scripts.conch:run"
  mailmail = "twisted.mail.scripts.mailmail:run"
  pyhtmlizer = "twisted.scripts.htmlizer:run"
  tkconch = "twisted.conch.scripts.tkconch:run"
  trial = "twisted.scripts.trial:run"
  twist = "twisted.application.twist._twist:Twist.main"
  twistd = "twisted.scripts.twistd:run"
  
  [project.urls]
  # For available URL types see
  # https://docs.pypi.org/project_metadata/
  Changelog = "https://github.com/twisted/twisted/blob/HEAD/NEWS.rst"
  Documentation = "https://docs.twisted.org/"
  Homepage = "https://twisted.org/"
  Issues = "https://github.com/twisted/twisted/issues"
  Source = "https://github.com/twisted/twisted"
  Funding-PSF = "https://psfmember.org/civicrm/contribute/transact/?reset=1&id=44"
  Funding-GitHub = "https://github.com/sponsors/twisted"
  
  [tool.hatch.metadata]
  # This is here to enable backward compatible extra dependencies
  # that are defined using underscores.
  allow-ambiguous-features = true
  allow-direct-references = true
  
  
  [tool.hatch.version]
  source = "incremental"
  
  [tool.hatch.metadata.hooks.fancy-pypi-readme]
  content-type = "text/x-rst"
  fragments = [
      { path = "README.rst" },
  ]
  
  [[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
  # Munge links of the form `NEWS <NEWS.rst>`_ to point at the appropriate
  # location on GitHub so that they function when the long description is
  # displayed on PyPI.
  pattern = '`([^`]+)\s+<(?!https?://)([^>]+)>`_'
  replacement = '`\1 <https://github.com/twisted/twisted/blob/trunk/\2>`_'
  ignore-case = true
  
  [tool.hatch.build.targets.wheel]
  packages = [
      "src/twisted",
  ]
  exclude = [
      "*.pxi",
      "*.pyx",
      "build.bat",
  ]
  
  [tool.hatch.build.targets.sdist]
  # This dictates what goes into a sdist tarball.
  # As a release tarball, we want to include:
  #  - All of the library code.
  #  - All the useful documentation (but not the super historic stuff)
  #  - All of the test files, so that the tests can be run on an installed copy.
  # We do not want to include:
  #  - Release management files (e.g. topfiles)
  #  - Things only useful when running from a source checkout
  include = [
      # Documentation
      "/docs",
  
      # Library code
      "/src",
      "/CONTRIBUTING.md",
      "/INSTALL.rst",
      "/NEWS.rst",
      "/README.rst",
      "/code_of_conduct.md",
  
      # Test-running utilities for downstream packagers
      "/.coveragerc",
      "/mypy.ini",
      "/tox.ini",
  ]
  
  [tool.towncrier]
      package = "twisted"
      package_dir = "src"
      filename = "NEWS.rst"
  
      [[tool.towncrier.section]]
          path = ""
  
      [[tool.towncrier.section]]
          path = "conch"
          name = "Conch"
  
      [[tool.towncrier.section]]
          path = "web"
          name = "Web"
  
      [[tool.towncrier.section]]
          path = "mail"
          name = "Mail"
  
      [[tool.towncrier.section]]
          path = "words"
          name = "Words"
  
      [[tool.towncrier.section]]
          path = "names"
          name = "Names"
  
      [[tool.towncrier.section]]
          path = "trial"
          name = "Trial"
  
      [[tool.towncrier.type]]
          directory = "feature"
          name = "Features"
          showcontent = true
  
      [[tool.towncrier.type]]
          directory = "bugfix"
          name = "Bugfixes"
          showcontent = true
  
      [[tool.towncrier.type]]
          directory = "doc"
          name = "Improved Documentation"
          showcontent = true
  
      [[tool.towncrier.type]]
          directory = "removal"
          name = "Deprecations and Removals"
          showcontent = true
  
      [[tool.towncrier.type]]
          directory = "misc"
          name = "Misc"
          showcontent = false
  
  [tool.black]
  target-version = ['py39', 'py310', 'py311', 'py312']
  
  [tool.isort]
  profile = "black"
  sections = "FUTURE,STDLIB,ZOPE,OPENSSL,THIRDPARTY,FIRSTPARTY,LOCALFOLDER"
  default_section = "THIRDPARTY"
  no_lines_before = "LOCALFOLDER"
  known_first_party = "twisted"
  known_zope = "zope"
  known_openssl = "OpenSSL"
  combine_as_imports = true
  skip = "src/twisted/logger/__init__.py,src/twisted/internet/reactor.py"
  
  [tool.mypy]
  namespace_packages = true
  plugins = ["mypy_zope:plugin"]
  # Increase our expectations
  strict = true
  check_untyped_defs = true
  disallow_incomplete_defs = true
  disallow_untyped_defs = true
  no_implicit_optional = true
  show_column_numbers = true
  show_error_codes = true
  strict_optional = true
  warn_no_return = true
  warn_redundant_casts = true
  warn_return_any = true
  warn_unreachable = true
  warn_unused_ignores = true
  disallow_untyped_decorators = true
  disallow_any_generics = true
  # These are too strict for us at the moment
  disallow_any_decorated = false
  disallow_any_explicit = false
  disallow_any_expr = false
  disallow_any_unimported = false
  disallow_subclassing_any = false
  disallow_untyped_calls = false
  strict_equality = false
  no_implicit_reexport = false
  # Disable some checks until the effected modules fully adopt mypy
  
  [[tool.mypy.overrides]]
  ignore_missing_imports = true
  follow_imports = "silent"
  follow_imports_for_stubs = true
  module = [
  
    # pyobjc is not installed on linux
    "CFNetwork",
    "CoreFoundation",
  
    # neither is pywin32
    "pywintypes",
    "win32api",
    "win32con",
    "win32com.*",
    "win32event",
    "win32file",
    "win32pipe",
    "win32process",
    "win32security",
    "win32console",
  
    # pyserial is very optional
    "serial",
    "serial.*",
  
    # GObject Introspection too
    "gi",
    "gi.repository.*",
  
    # we need to clean this up, because it's ancient and probably unsupported,
    # but as long as it's still imported, we don't want to type-check it
    "gobject",
    "pygtk",
    "gtk",
  
    # and wxPython
    "wxPython.wx",
    "wx",
  
    # constantly doesn't have type stubs yet
    "constantly",
  
    # h2 doesn't have types yet and is optional besides
    "h2.*",
    "hpack.*",
    "priority",
  
    # subunit is untyped
    "subunit",
  
    # oh this is fun, not even totally sure what library this is, since it's not
    # documented as an extra.
    "utmp",
  
    # I think only used by `twisted.web.script.ResourceTemplate`
    "quixote",
  
    "cython_test_exception_raiser",
  
    # various obscure database modules you shouldn't need installed in order to
    # type-check
    "pyPgSQL",
    "psycopg",
    "MySQLdb",
    "kinterbasdb",
  ]
  
  [[tool.mypy.overrides]]
  allow_untyped_defs = true
  check_untyped_defs = false
  module = [
      'twisted.application.app',
      'twisted.application.internet',
      'twisted.application.service',
      'twisted.application.test.test_internet',
      'twisted.conch.client.agent',
      'twisted.conch.client.default',
      'twisted.conch.client.direct',
      'twisted.conch.endpoints',
      'twisted.conch.insults.helper',
      'twisted.conch.insults.insults',
      'twisted.conch.insults.window',
      'twisted.conch.ls',
      'twisted.conch.manhole',
      'twisted.conch.manhole_tap',
      'twisted.conch.mixin',
      'twisted.conch.recvline',
      'twisted.conch.scripts.cftp',
      'twisted.conch.scripts.ckeygen',
      'twisted.conch.scripts.conch',
      'twisted.conch.scripts.tkconch',
      'twisted.conch.ssh.agent',
      'twisted.conch.ssh.channel',
      'twisted.conch.ssh.connection',
      'twisted.conch.ssh.factory',
      'twisted.conch.ssh.filetransfer',
      'twisted.conch.ssh.forwarding',
      'twisted.conch.ssh.keys',
      'twisted.conch.ssh.service',
      'twisted.conch.ssh.session',
      'twisted.conch.ssh.sexpy',
      'twisted.conch.ssh.transport',
      'twisted.conch.ssh.userauth',
      'twisted.conch.stdio',
      'twisted.conch.tap',
      'twisted.conch.telnet',
      'twisted.conch.test.loopback',
      'twisted.conch.test.test_agent',
      'twisted.conch.test.test_cftp',
      'twisted.conch.test.test_checkers',
      'twisted.conch.test.test_conch',
      'twisted.conch.test.test_connection',
      'twisted.conch.test.test_default',
      'twisted.conch.test.test_endpoints',
      'twisted.conch.test.test_filetransfer',
      'twisted.conch.test.test_insults',
      'twisted.conch.test.test_keys',
      'twisted.conch.test.test_knownhosts',
      'twisted.conch.test.test_manhole',
      'twisted.conch.test.test_recvline',
      'twisted.conch.test.test_session',
      'twisted.conch.test.test_ssh',
      'twisted.conch.test.test_telnet',
      'twisted.conch.test.test_transport',
      'twisted.conch.test.test_userauth',
      'twisted.conch.ui.tkvt100',
      'twisted.conch.unix',
      'twisted.cred.checkers',
      'twisted.cred.strcred',
      'twisted.cred.test.test_cred',
      'twisted.cred.test.test_digestauth',
      'twisted.cred.test.test_strcred',
      'twisted.enterprise.adbapi',
      'twisted.internet._baseprocess',
      'twisted.internet._dumbwin32proc',
      'twisted.internet._glibbase',
      'twisted.internet._newtls',
      'twisted.internet._signals',
      'twisted.internet._threadedselect',
      'twisted.internet._win32serialport',
      'twisted.internet._win32stdio',
      'twisted.internet.asyncioreactor',
      'twisted.internet.cfreactor',
      'twisted.internet.endpoints',
      'twisted.internet.error',
      'twisted.internet.fdesc',
      'twisted.internet.gtk2reactor',
      'twisted.internet.inotify',
      'twisted.internet.iocpreactor.abstract',
      'twisted.internet.iocpreactor.reactor',
      'twisted.internet.iocpreactor.udp',
      'twisted.internet.kqreactor',
      'twisted.internet.posixbase',
      'twisted.internet.process',
      'twisted.internet.protocol',
      'twisted.internet.serialport',
      'twisted.internet.test._posixifaces',
      'twisted.internet.test.connectionmixins',
      'twisted.internet.test.reactormixins',
      'twisted.internet.test.test_address',
      'twisted.internet.test.test_asyncioreactor',
      'twisted.internet.test.test_base',
      'twisted.internet.test.test_baseprocess',
      'twisted.internet.test.test_defer_yieldfrom',
      'twisted.internet.test.test_endpoints',
      'twisted.internet.test.test_epollreactor',
      'twisted.internet.test.test_fdset',
      'twisted.internet.test.test_filedescriptor',
      'twisted.internet.test.test_glibbase',
      'twisted.internet.test.test_inlinecb',
      'twisted.internet.test.test_inotify',
      'twisted.internet.test.test_iocp',
      'twisted.internet.test.test_newtls',
      'twisted.internet.test.test_posixbase',
      'twisted.internet.test.test_posixprocess',
      'twisted.internet.test.test_process',
      'twisted.internet.test.test_protocol',
      'twisted.internet.test.test_resolver',
      'twisted.internet.test.test_serialport',
      'twisted.internet.test.test_socket',
      'twisted.internet.test.test_stdio',
      'twisted.internet.test.test_tcp',
      'twisted.internet.test.test_threads',
      'twisted.internet.test.test_time',
      'twisted.internet.test.test_tls',
      'twisted.internet.test.test_udp',
      'twisted.internet.test.test_unix',
      'twisted.internet.test.test_win32events',
      'twisted.internet.testing',
      'twisted.internet.threads',
      'twisted.internet.tksupport',
      'twisted.internet.udp',
      'twisted.internet.unix',
      'twisted.internet.utils',
      'twisted.internet.win32eventreactor',
      'twisted.internet.wxreactor',
      'twisted.internet.wxsupport',
      'twisted.logger._json',
      'twisted.mail._cred',
      'twisted.mail._pop3client',
      'twisted.mail.alias',
      'twisted.mail.imap4',
      'twisted.mail.mail',
      'twisted.mail.maildir',
      'twisted.mail.pb',
      'twisted.mail.pop3',
      'twisted.mail.protocols',
      'twisted.mail.relay',
      'twisted.mail.relaymanager',
      'twisted.mail.scripts.mailmail',
      'twisted.mail.smtp',
      'twisted.mail.tap',
      'twisted.mail.test.pop3testserver',
      'twisted.mail.test.test_imap',
      'twisted.mail.test.test_mail',
      'twisted.mail.test.test_mailmail',
      'twisted.mail.test.test_options',
      'twisted.mail.test.test_pop3',
      'twisted.mail.test.test_pop3client',
      'twisted.mail.test.test_smtp',
      'twisted.names.authority',
      'twisted.names.cache',
      'twisted.names.client',
      'twisted.names.common',
      'twisted.names.dns',
      'twisted.names.hosts',
      'twisted.names.root',
      'twisted.names.secondary',
      'twisted.names.server',
      'twisted.names.srvconnect',
      'twisted.names.tap',
      'twisted.names.test.test_cache',
      'twisted.names.test.test_client',
      'twisted.names.test.test_common',
      'twisted.names.test.test_dns',
      'twisted.names.test.test_examples',
      'twisted.names.test.test_names',
      'twisted.names.test.test_rootresolve',
      'twisted.names.test.test_server',
      'twisted.names.test.test_srvconnect',
      'twisted.pair.test.test_tuntap',
      'twisted.pair.testing',
      'twisted.pair.tuntap',
      'twisted.persisted._tokenize',
      'twisted.persisted.aot',
      'twisted.persisted.sob',
      'twisted.persisted.styles',
      'twisted.plugin',
      'twisted.plugins.cred_unix',
      'twisted.positioning._sentence',
      'twisted.positioning.nmea',
      'twisted.positioning.test.test_sentence',
      'twisted.protocols.amp',
      'twisted.protocols.basic',
      'twisted.protocols.finger',
      'twisted.protocols.ftp',
      'twisted.protocols.htb',
      'twisted.protocols.ident',
      'twisted.protocols.loopback',
      'twisted.protocols.memcache',
      'twisted.protocols.pcp',
      'twisted.protocols.policies',
      'twisted.protocols.portforward',
      'twisted.protocols.postfix',
      'twisted.protocols.shoutcast',
      'twisted.protocols.sip',
      'twisted.protocols.socks',
      'twisted.protocols.stateful',
      'twisted.protocols.test.test_basic',
      'twisted.protocols.test.test_tls',
      'twisted.protocols.tls',
      'twisted.protocols.wire',
      'twisted.python.failure',
      'twisted.python.formmethod',
      'twisted.python.logfile',
      'twisted.python.modules',
      'twisted.python.rebuild',
      'twisted.python.reflect',
      'twisted.python.test.test_components',
      'twisted.python.test.test_constants',
      'twisted.python.test.test_deprecate',
      'twisted.python.test.test_fakepwd',
      'twisted.python.test.test_inotify',
      'twisted.python.test.test_release',
      'twisted.python.test.test_sendmsg',
      'twisted.python.test.test_shellcomp',
      'twisted.python.test.test_syslog',
      'twisted.python.test.test_urlpath',
      'twisted.python.test.test_util',
      'twisted.python.test.test_zipstream',
      'twisted.python.text',
      'twisted.python.threadable',
      'twisted.python.urlpath',
      'twisted.python.usage',
      'twisted.python.util',
      'twisted.python.win32',
      'twisted.python.zipstream',
      'twisted.runner.inetd',
      'twisted.runner.test.test_procmon',
      'twisted.scripts._twistd_unix',
      'twisted.scripts.test.test_scripts',
      'twisted.scripts.trial',
      'twisted.spread.banana',
      'twisted.spread.flavors',
      'twisted.spread.jelly',
      'twisted.spread.pb',
      'twisted.spread.publish',
      'twisted.spread.test.test_banana',
      'twisted.spread.test.test_jelly',
      'twisted.spread.test.test_pb',
      'twisted.spread.test.test_pbfailure',
      'twisted.spread.util',
      'twisted.tap.ftp',
      'twisted.test.iosim',
      'twisted.test.process_twisted',
      'twisted.test.stdio_test_consumer',
      'twisted.test.stdio_test_halfclose',
      'twisted.test.stdio_test_hostpeer',
      'twisted.test.stdio_test_lastwrite',
      'twisted.test.stdio_test_loseconn',
      'twisted.test.stdio_test_producer',
      'twisted.test.stdio_test_write',
      'twisted.test.stdio_test_writeseq',
      'twisted.test.test_adbapi',
      'twisted.test.test_amp',
      'twisted.test.test_application',
      'twisted.test.test_compat',
      'twisted.test.test_context',
      'twisted.test.test_cooperator',
      'twisted.test.test_defgen',
      'twisted.test.test_factories',
      'twisted.test.test_fdesc',
      'twisted.test.test_ftp',
      'twisted.test.test_ftp_options',
      'twisted.test.test_ident',
      'twisted.test.test_internet',
      'twisted.test.test_iutils',
      'twisted.test.test_loopback',
      'twisted.test.test_main',
      'twisted.test.test_memcache',
      'twisted.test.test_pcp',
      'twisted.test.test_policies',
      'twisted.test.test_postfix',
      'twisted.test.test_process',
      'twisted.test.test_protocols',
      'twisted.test.test_reflect',
      'twisted.test.test_sip',
      'twisted.test.test_sob',
      'twisted.test.test_socks',
      'twisted.test.test_ssl',
      'twisted.test.test_sslverify',
      'twisted.test.test_stateful',
      'twisted.test.test_stdio',
      'twisted.test.test_strerror',
      'twisted.test.test_strports',
      'twisted.test.test_task',
      'twisted.test.test_tcp',
      'twisted.test.test_tcp_internals',
      'twisted.test.test_threadable',
      'twisted.test.test_threadpool',
      'twisted.test.test_threads',
      'twisted.test.test_twistd',
      'twisted.test.test_twisted',
      'twisted.test.test_udp',
      'twisted.test.test_unix',
      'twisted.test.test_usage',
      'twisted.test.testutils',
      'twisted.trial._asynctest',
      'twisted.trial._dist.test.test_disttrial',
      'twisted.trial._dist.test.test_matchers',
      'twisted.trial._dist.test.test_stream',
      'twisted.trial._dist.test.test_worker',
      'twisted.trial._dist.test.test_workertrial',
      'twisted.trial._dist.workerreporter',
      'twisted.trial._synctest',
      'twisted.trial.reporter',
      'twisted.trial.runner',
      'twisted.trial.test.detests',
      'twisted.trial.test.erroneous',
      'twisted.trial.test.mockcustomsuite',
      'twisted.trial.test.mockcustomsuite2',
      'twisted.trial.test.mockcustomsuite3',
      'twisted.trial.test.skipping',
      'twisted.trial.test.suppression',
      'twisted.trial.test.test_assertions',
      'twisted.trial.test.test_asyncassertions',
      'twisted.trial.test.test_log',
      'twisted.trial.test.test_plugins',
      'twisted.trial.test.test_reporter',
      'twisted.trial.test.test_runner',
      'twisted.trial.test.test_suppression',
      'twisted.trial.test.test_testcase',
      'twisted.trial.test.test_tests',
      'twisted.trial.test.weird',
      'twisted.trial.util',
      'twisted.web._auth.basic',
      'twisted.web._auth.wrapper',
      'twisted.web._http2',
      'twisted.web._newclient',
      'twisted.web._template_util',
      'twisted.web.client',
      'twisted.web.distrib',
      'twisted.web.domhelpers',
      'twisted.web.error',
      'twisted.web.http',
      'twisted.web.http_headers',
      'twisted.web.microdom',
      'twisted.web.proxy',
      'twisted.web.resource',
      'twisted.web.server',
      'twisted.web.static',
      'twisted.web.sux',
      'twisted.web.tap',
      'twisted.web.test.injectionhelpers',
      'twisted.web.test.requesthelper',
      'twisted.web.test.test_agent',
      'twisted.web.test.test_cgi',
      'twisted.web.test.test_distrib',
      'twisted.web.test.test_domhelpers',
      'twisted.web.test.test_http',
      'twisted.web.test.test_http2',
      'twisted.web.test.test_httpauth',
      'twisted.web.test.test_newclient',
      'twisted.web.test.test_proxy',
      'twisted.web.test.test_static',
      'twisted.web.test.test_util',
      'twisted.web.test.test_vhost',
      'twisted.web.test.test_web',
      'twisted.web.test.test_webclient',
      'twisted.web.test.test_wsgi',
      'twisted.web.test.test_xmlrpc',
      'twisted.web.twcgi',
      'twisted.web.wsgi',
      'twisted.web.xmlrpc',
      'twisted.words.im.basesupport',
      'twisted.words.im.ircsupport',
      'twisted.words.im.pbsupport',
      'twisted.words.protocols.irc',
      'twisted.words.protocols.jabber.client',
      'twisted.words.protocols.jabber.component',
      'twisted.words.protocols.jabber.error',
      'twisted.words.protocols.jabber.jstrports',
      'twisted.words.protocols.jabber.sasl',
      'twisted.words.protocols.jabber.xmlstream',
      'twisted.words.service',
      'twisted.words.test.test_basesupport',
      'twisted.words.test.test_domish',
      'twisted.words.test.test_irc',
      'twisted.words.test.test_irc_service',
      'twisted.words.test.test_jabberclient',
      'twisted.words.test.test_jabbercomponent',
      'twisted.words.test.test_jabberjstrports',
      'twisted.words.test.test_jabbersasl',
      'twisted.words.test.test_jabberxmlstream',
      'twisted.words.test.test_service',
      'twisted.words.test.test_xishutil',
      'twisted.words.test.test_xmlstream',
      'twisted.words.xish.domish',
      'twisted.words.xish.utility',
      'twisted.words.xish.xmlstream',
      'twisted.words.xish.xpath',
  ]
  
  [[tool.mypy.overrides]]
  allow_untyped_defs = true
  module = [
      'twisted.conch.avatar',
      'twisted.conch.checkers',
      'twisted.conch.client.connect',
      'twisted.conch.client.knownhosts',
      'twisted.conch.client.options',
      'twisted.conch.error',
      'twisted.conch.insults.text',
      'twisted.conch.interfaces',
      'twisted.conch.manhole_ssh',
      'twisted.conch.openssh_compat.factory',
      'twisted.conch.ssh._kex',
      'twisted.conch.ssh.address',
      'twisted.conch.ssh.common',
      'twisted.conch.test.test_unix',
      'twisted.conch.ui.ansi',
      'twisted.cred._digest',
      'twisted.cred.credentials',
      'twisted.internet._pollingfile',
      'twisted.internet._posixserialport',
      'twisted.internet._posixstdio',
      'twisted.internet._producer_helpers',
      'twisted.internet.address',
      'twisted.internet.default',
      'twisted.internet.epollreactor',
      'twisted.internet.gireactor',
      'twisted.internet.glib2reactor',
      'twisted.internet.iocpreactor.interfaces',
      'twisted.internet.main',
      'twisted.internet.pollreactor',
      'twisted.internet.pyuisupport',
      'twisted.internet.selectreactor',
      'twisted.internet.ssl',
      'twisted.internet.test._win32ifaces',
      'twisted.internet.test.fakeendpoint',
      'twisted.internet.test.modulehelpers',
      'twisted.internet.test.test_win32serialport',
      'twisted.mail._except',
      'twisted.mail.bounce',
      'twisted.mail.interfaces',
      'twisted.names._rfc1982',
      'twisted.names.error',
      'twisted.names.resolve',
      'twisted.names.test.test_rfc1982',
      'twisted.names.test.test_util',
      'twisted.pair.ethernet',
      'twisted.pair.ip',
      'twisted.pair.raw',
      'twisted.pair.rawudp',
      'twisted.pair.test.test_ethernet',
      'twisted.persisted._token',
      'twisted.persisted.crefutil',
      'twisted.persisted.dirdbm',
      'twisted.persisted.test.test_styles',
      'twisted.plugins.cred_anonymous',
      'twisted.plugins.cred_file',
      'twisted.plugins.cred_memory',
      'twisted.plugins.cred_sshkeys',
      'twisted.plugins.twisted_trial',
      'twisted.plugins.twisted_words',
      'twisted.positioning.base',
      'twisted.positioning.ipositioning',
      'twisted.positioning.test.receiver',
      'twisted.python._release',
      'twisted.python._shellcomp',
      'twisted.python._textattributes',
      'twisted.python.compat',
      'twisted.python.components',
      'twisted.python.context',
      'twisted.python.deprecate',
      'twisted.python.fakepwd',
      'twisted.python.htmlizer',
      'twisted.python.lockfile',
      'twisted.python.log',
      'twisted.python.monkey',
      'twisted.python.procutils',
      'twisted.python.release',
      'twisted.python.roots',
      'twisted.python.shortcut',
      'twisted.python.syslog',
      'twisted.runner.inetdconf',
      'twisted.runner.inetdtap',
      'twisted.scripts._twistw',
      'twisted.scripts.htmlizer',
      'twisted.scripts.twistd',
      'twisted.spread.interfaces',
      'twisted.tap.portforward',
      'twisted.tap.socks',
      'twisted.test.mock_win32process',
      'twisted.trial._asyncrunner',
      'twisted.trial._dist.distreporter',
      'twisted.trial._dist.disttrial',
      'twisted.trial._dist.functional',
      'twisted.trial._dist.options',
      'twisted.trial._dist.worker',
      'twisted.trial._dist.workertrial',
      'twisted.trial.itrial',
      'twisted.trial.test.mockdoctest',
      'twisted.trial.test.packages',
      'twisted.trial.test.pyunitcases',
      'twisted.trial.test.sample',
      'twisted.web._auth.digest',
      'twisted.web.demo',
      'twisted.web.html',
      'twisted.web.iweb',
      'twisted.web.rewrite',
      'twisted.web.script',
      'twisted.web.test._util',
      'twisted.web.vhost',
      'twisted.words.im.baseaccount',
      'twisted.words.im.basechat',
      'twisted.words.im.interfaces',
      'twisted.words.iwords',
      'twisted.words.protocols.jabber.ijabber',
      'twisted.words.protocols.jabber.jid',
      'twisted.words.protocols.jabber.sasl_mechanisms',
      'twisted.words.protocols.jabber.xmpp_stringprep',
      'twisted.words.tap',
      'twisted.words.test.test_ircsupport',
      'twisted.words.xmpproutertap',
  ]
  
  [[tool.mypy.overrides]]
  allow_untyped_defs = true
  check_untyped_defs = false
  module = [
      'twisted.internet._sslverify',
      'twisted.internet.abstract',
      'twisted.internet.iocpreactor.tcp',
      'twisted.internet.tcp',
  ]
  