{"package":"Twisted","ecosystem":"pypi","latest_version":"25.5.0","description":"An asynchronous networking framework written in Python","license":"MIT License","homepage":"https://pypi.org/project/Twisted/","repository":"https://github.com/twisted/twisted","downloads_weekly":2590843,"health":{"score":67,"risk":"moderate","breakdown":{"maintenance":10,"popularity":17,"security":25,"maturity":15,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"25.5.0","total_count":109,"recent":["22.8.0rc1","22.8.0","22.10.0rc1","22.10.0","23.8.0rc1","23.8.0","23.10.0rc1","23.10.0","24.2.0rc1","24.3.0","24.7.0rc1","24.7.0rc2","24.7.0","24.10.0rc1","24.10.0","24.11.0rc1","24.11.0rc2","24.11.0","25.5.0rc1","25.5.0"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2025-06-07T09:52:21.428072Z","dependencies_count":249,"dependencies":["attrs>=22.2.0","automat>=24.8.0","constantly>=15.1","hyperlink>=17.1.1","incremental>=24.7.0","typing-extensions>=4.2.0","zope-interface>=5","appdirs>=1.4.0; extra == \"all-non-platform\"","bcrypt>=3.1.3; extra == \"all-non-platform\"","cryptography>=3.3; extra == \"all-non-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"all-non-platform\"","h2<5.0,>=3.2; extra == \"all-non-platform\"","httpx[http2]>=0.27; extra == \"all-non-platform\"","hypothesis>=6.56; extra == \"all-non-platform\"","idna>=2.4; extra == \"all-non-platform\"","priority<2.0,>=1.1.0; extra == \"all-non-platform\"","pyhamcrest>=2; extra == \"all-non-platform\"","pyopenssl>=21.0.0; extra == \"all-non-platform\"","pyserial>=3.0; extra == \"all-non-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"all-non-platform\"","service-identity>=18.1.0; extra == \"all-non-platform\"","wsproto; extra == \"all-non-platform\"","appdirs>=1.4.0; extra == \"all-non-platform\"","bcrypt>=3.1.3; extra == \"all-non-platform\"","cryptography>=3.3; extra == \"all-non-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"all-non-platform\"","h2<5.0,>=3.2; extra == \"all-non-platform\"","httpx[http2]>=0.27; extra == \"all-non-platform\"","hypothesis>=6.56; extra == \"all-non-platform\"","idna>=2.4; extra == \"all-non-platform\"","priority<2.0,>=1.1.0; extra == \"all-non-platform\"","pyhamcrest>=2; extra == \"all-non-platform\"","pyopenssl>=21.0.0; extra == \"all-non-platform\"","pyserial>=3.0; extra == \"all-non-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"all_non_platform\"","service-identity>=18.1.0; extra == \"all-non-platform\"","wsproto; extra == \"all-non-platform\"","appdirs>=1.4.0; extra == \"conch\"","bcrypt>=3.1.3; extra == \"conch\"","cryptography>=3.3; extra == \"conch\"","coverage~=7.5; extra == \"dev\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"dev\"","httpx[http2]>=0.27; extra == \"dev\"","hypothesis>=6.56; extra == \"dev\"","pydoctor~=24.11.1; extra == \"dev\"","pyflakes~=2.2; extra == \"dev\"","pyhamcrest>=2; extra == \"dev\"","python-subunit~=1.4; extra == \"dev\"","sphinx-rtd-theme~=1.3; extra == \"dev\"","sphinx<7,>=6; extra == \"dev\"","towncrier~=23.6; extra == \"dev\"","twistedchecker~=0.7; extra == \"dev\"","pydoctor~=24.11.1; extra == \"dev-release\"","sphinx-rtd-theme~=1.3; extra == \"dev-release\"","sphinx<7,>=6; extra == \"dev-release\"","towncrier~=23.6; extra == \"dev-release\"","pydoctor~=24.11.1; extra == \"dev-release\"","sphinx-rtd-theme~=1.3; extra == \"dev-release\"","sphinx<7,>=6; extra == \"dev-release\"","towncrier~=23.6; extra == \"dev-release\"","appdirs>=1.4.0; extra == \"gtk-platform\"","bcrypt>=3.1.3; extra == \"gtk-platform\"","cryptography>=3.3; extra == \"gtk-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"gtk-platform\"","h2<5.0,>=3.2; extra == \"gtk-platform\"","httpx[http2]>=0.27; extra == \"gtk-platform\"","hypothesis>=6.56; extra == \"gtk-platform\"","idna>=2.4; extra == \"gtk-platform\"","priority<2.0,>=1.1.0; extra == \"gtk-platform\"","pygobject; extra == \"gtk-platform\"","pyhamcrest>=2; extra == \"gtk-platform\"","pyopenssl>=21.0.0; extra == \"gtk-platform\"","pyserial>=3.0; extra == \"gtk-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"gtk-platform\"","service-identity>=18.1.0; extra == \"gtk-platform\"","wsproto; extra == \"gtk-platform\"","appdirs>=1.4.0; extra == \"gtk-platform\"","bcrypt>=3.1.3; extra == \"gtk-platform\"","cryptography>=3.3; extra == \"gtk-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"gtk-platform\"","h2<5.0,>=3.2; extra == \"gtk-platform\"","httpx[http2]>=0.27; extra == \"gtk-platform\"","hypothesis>=6.56; extra == \"gtk-platform\"","idna>=2.4; extra == \"gtk-platform\"","priority<2.0,>=1.1.0; extra == \"gtk-platform\"","pygobject; extra == \"gtk-platform\"","pyhamcrest>=2; extra == \"gtk-platform\"","pyopenssl>=21.0.0; extra == \"gtk-platform\"","pyserial>=3.0; extra == \"gtk-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"gtk_platform\"","service-identity>=18.1.0; extra == \"gtk-platform\"","wsproto; extra == \"gtk-platform\"","h2<5.0,>=3.2; extra == \"http2\"","priority<2.0,>=1.1.0; extra == \"http2\"","appdirs>=1.4.0; extra == \"macos-platform\"","bcrypt>=3.1.3; extra == \"macos-platform\"","cryptography>=3.3; extra == \"macos-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"macos-platform\"","h2<5.0,>=3.2; extra == \"macos-platform\"","httpx[http2]>=0.27; extra == \"macos-platform\"","hypothesis>=6.56; extra == \"macos-platform\"","idna>=2.4; extra == \"macos-platform\"","priority<2.0,>=1.1.0; extra == \"macos-platform\"","pyhamcrest>=2; extra == \"macos-platform\"","pyobjc-core; python_version >= \"3.9\" and extra == \"macos-platform\"","pyobjc-core<11; python_version < \"3.9\" and extra == \"macos-platform\"","pyobjc-framework-cfnetwork; python_version >= \"3.9\" and extra == \"macos-platform\"","pyobjc-framework-cfnetwork<11; python_version < \"3.9\" and extra == \"macos-platform\"","pyobjc-framework-cocoa; python_version >= \"3.9\" and extra == \"macos-platform\"","pyobjc-framework-cocoa<11; python_version < \"3.9\" and extra == \"macos-platform\"","pyopenssl>=21.0.0; extra == \"macos-platform\"","pyserial>=3.0; extra == \"macos-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"macos-platform\"","service-identity>=18.1.0; extra == \"macos-platform\"","wsproto; extra == \"macos-platform\"","appdirs>=1.4.0; extra == \"macos-platform\"","bcrypt>=3.1.3; extra == \"macos-platform\"","cryptography>=3.3; extra == \"macos-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"macos-platform\"","h2<5.0,>=3.2; extra == \"macos-platform\"","httpx[http2]>=0.27; extra == \"macos-platform\"","hypothesis>=6.56; extra == \"macos-platform\"","idna>=2.4; extra == \"macos-platform\"","priority<2.0,>=1.1.0; extra == \"macos-platform\"","pyhamcrest>=2; extra == \"macos-platform\"","pyobjc-core; python_version >= \"3.9\" and extra == \"macos_platform\"","pyobjc-core<11; python_version < \"3.9\" and extra == \"macos_platform\"","pyobjc-framework-cfnetwork; python_version >= \"3.9\" and extra == \"macos_platform\"","pyobjc-framework-cfnetwork<11; python_version < \"3.9\" and extra == \"macos_platform\"","pyobjc-framework-cocoa; python_version >= \"3.9\" and extra == \"macos_platform\"","pyobjc-framework-cocoa<11; python_version < \"3.9\" and extra == \"macos_platform\"","pyopenssl>=21.0.0; extra == \"macos-platform\"","pyserial>=3.0; extra == \"macos-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"macos_platform\"","service-identity>=18.1.0; extra == \"macos-platform\"","wsproto; extra == \"macos-platform\"","appdirs>=1.4.0; extra == \"mypy\"","bcrypt>=3.1.3; extra == \"mypy\"","coverage~=7.5; extra == \"mypy\"","cryptography>=3.3; extra == \"mypy\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"mypy\"","h2<5.0,>=3.2; extra == \"mypy\"","httpx[http2]>=0.27; extra == \"mypy\"","hypothesis>=6.56; extra == \"mypy\"","idna>=2.4; extra == \"mypy\"","mypy-zope==1.0.6; extra == \"mypy\"","mypy==1.10.1; extra == \"mypy\"","priority<2.0,>=1.1.0; extra == \"mypy\"","pydoctor~=24.11.1; extra == \"mypy\"","pyflakes~=2.2; extra == \"mypy\"","pyhamcrest>=2; extra == \"mypy\"","pyopenssl>=21.0.0; extra == \"mypy\"","pyserial>=3.0; extra == \"mypy\"","python-subunit~=1.4; extra == \"mypy\"","pywin32!=226; platform_system == \"Windows\" and extra == \"mypy\"","service-identity>=18.1.0; extra == \"mypy\"","sphinx-rtd-theme~=1.3; extra == \"mypy\"","sphinx<7,>=6; extra == \"mypy\"","towncrier~=23.6; extra == \"mypy\"","twistedchecker~=0.7; extra == \"mypy\"","types-pyopenssl; extra == \"mypy\"","types-setuptools; extra == \"mypy\"","wsproto; extra == \"mypy\"","appdirs>=1.4.0; extra == \"osx-platform\"","bcrypt>=3.1.3; extra == \"osx-platform\"","cryptography>=3.3; extra == \"osx-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"osx-platform\"","h2<5.0,>=3.2; extra == \"osx-platform\"","httpx[http2]>=0.27; extra == \"osx-platform\"","hypothesis>=6.56; extra == \"osx-platform\"","idna>=2.4; extra == \"osx-platform\"","priority<2.0,>=1.1.0; extra == \"osx-platform\"","pyhamcrest>=2; extra == \"osx-platform\"","pyobjc-core; python_version >= \"3.9\" and extra == \"osx-platform\"","pyobjc-core<11; python_version < \"3.9\" and extra == \"osx-platform\"","pyobjc-framework-cfnetwork; python_version >= \"3.9\" and extra == \"osx-platform\"","pyobjc-framework-cfnetwork<11; python_version < \"3.9\" and extra == \"osx-platform\"","pyobjc-framework-cocoa; python_version >= \"3.9\" and extra == \"osx-platform\"","pyobjc-framework-cocoa<11; python_version < \"3.9\" and extra == \"osx-platform\"","pyopenssl>=21.0.0; extra == \"osx-platform\"","pyserial>=3.0; extra == \"osx-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"osx-platform\"","service-identity>=18.1.0; extra == \"osx-platform\"","wsproto; extra == \"osx-platform\"","appdirs>=1.4.0; extra == \"osx-platform\"","bcrypt>=3.1.3; extra == \"osx-platform\"","cryptography>=3.3; extra == \"osx-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"osx-platform\"","h2<5.0,>=3.2; extra == \"osx-platform\"","httpx[http2]>=0.27; extra == \"osx-platform\"","hypothesis>=6.56; extra == \"osx-platform\"","idna>=2.4; extra == \"osx-platform\"","priority<2.0,>=1.1.0; extra == \"osx-platform\"","pyhamcrest>=2; extra == \"osx-platform\"","pyobjc-core; python_version >= \"3.9\" and extra == \"osx_platform\"","pyobjc-core<11; python_version < \"3.9\" and extra == \"osx_platform\"","pyobjc-framework-cfnetwork; python_version >= \"3.9\" and extra == \"osx_platform\"","pyobjc-framework-cfnetwork<11; python_version < \"3.9\" and extra == \"osx_platform\"","pyobjc-framework-cocoa; python_version >= \"3.9\" and extra == \"osx_platform\"","pyobjc-framework-cocoa<11; python_version < \"3.9\" and extra == \"osx_platform\"","pyopenssl>=21.0.0; extra == \"osx-platform\"","pyserial>=3.0; extra == \"osx-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"osx_platform\"","service-identity>=18.1.0; extra == \"osx-platform\"","wsproto; extra == \"osx-platform\"","pyserial>=3.0; extra == \"serial\"","pywin32!=226; platform_system == \"Windows\" and extra == \"serial\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"test\"","httpx[http2]>=0.27; extra == \"test\"","hypothesis>=6.56; extra == \"test\"","pyhamcrest>=2; extra == \"test\"","idna>=2.4; extra == \"tls\"","pyopenssl>=21.0.0; extra == \"tls\"","service-identity>=18.1.0; extra == \"tls\"","wsproto; extra == \"websocket\"","appdirs>=1.4.0; extra == \"windows-platform\"","bcrypt>=3.1.3; extra == \"windows-platform\"","cryptography>=3.3; extra == \"windows-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"windows-platform\"","h2<5.0,>=3.2; extra == \"windows-platform\"","httpx[http2]>=0.27; extra == \"windows-platform\"","hypothesis>=6.56; extra == \"windows-platform\"","idna>=2.4; extra == \"windows-platform\"","priority<2.0,>=1.1.0; extra == \"windows-platform\"","pyhamcrest>=2; extra == \"windows-platform\"","pyopenssl>=21.0.0; extra == \"windows-platform\"","pyserial>=3.0; extra == \"windows-platform\"","pywin32!=226; extra == \"windows-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"windows-platform\"","service-identity>=18.1.0; extra == \"windows-platform\"","twisted-iocpsupport>=1.0.2; extra == \"windows-platform\"","wsproto; extra == \"windows-platform\"","appdirs>=1.4.0; extra == \"windows-platform\"","bcrypt>=3.1.3; extra == \"windows-platform\"","cryptography>=3.3; extra == \"windows-platform\"","cython-test-exception-raiser<2,>=1.0.2; extra == \"windows-platform\"","h2<5.0,>=3.2; extra == \"windows-platform\"","httpx[http2]>=0.27; extra == \"windows-platform\"","hypothesis>=6.56; extra == \"windows-platform\"","idna>=2.4; extra == \"windows-platform\"","priority<2.0,>=1.1.0; extra == \"windows-platform\"","pyhamcrest>=2; extra == \"windows-platform\"","pyopenssl>=21.0.0; extra == \"windows-platform\"","pyserial>=3.0; extra == \"windows-platform\"","pywin32!=226; extra == \"windows-platform\"","pywin32!=226; platform_system == \"Windows\" and extra == \"windows_platform\"","service-identity>=18.1.0; extra == \"windows-platform\"","twisted-iocpsupport>=1.0.2; extra == \"windows-platform\"","wsproto; extra == \"windows-platform\""]},"recommendation":{"action":"safe_to_use","issues":[],"use_version":"25.5.0","version_hint":null,"summary":"Twisted@25.5.0 is safe to use (health: 67/100)"},"requested_version":null,"_cache":"miss","_response_ms":492,"_powered_by":"depscope.dev — free package intelligence for AI agents"}