{"categories":[{"label":"Application Frameworks","url":"https://skillfed.io/packages/category/software-development-libraries-application-frameworks/3"}],"enrichment":{"capability":"Crochet lets you call Twisted asynchronous code from blocking Python code, managing the reactor thread automatically so you can use Twisted in Django, Flask, or other synchronous frameworks.","skillfed_tags":["twisted-integration","threading-bridge","async-sync-adapter"],"use_cases":["Use Twisted networking in a Django or Flask web application without rewriting the entire framework.","Write a library with a blocking API that uses Twisted for async I/O under the hood.","Gradually port blocking code to Twisted by keeping a backwards-compatible synchronous layer.","Run Twisted code from threaded parts of a WSGI container or other multi-threaded environment.","Integrate Twisted's async capabilities into a synchronous test suite or blocking application."],"what_it_does":"Crochet bridges the gap between Twisted's event-driven asynchronous model and synchronous blocking code. It manages a Twisted reactor in a background thread, exposing decorators like `@wait_for` and `@run_in_reactor` that let blocking code call into Twisted and wait for results. The package handles reactor startup, shutdown, and integration with Python's standard logging framework automatically.\n\nYou use it when you need Twisted's networking or concurrency capabilities inside a blocking framework (Django, Flask, WSGI), when porting blocking code to Twisted incrementally, or when a library needs to expose a blocking API while using Twisted internally. It also supports decorating async/await Twisted functions. The main dependencies are Twisted itself and wrapt for function wrapping.","worth_installing":"Yes, if you need to use Twisted from blocking code. The package is stable, well-maintained in its dormant state (no active bugs, no vulnerabilities), has low install friction, and solves a real integration problem. The 1140-day gap since the last release reflects that the library \"just works\" rather than abandonment\u2014monthly downloads remain substantial. Not necessary if you're already writing pure Twisted or pure synchronous code."},"id":"crochet","links":{"html":"https://skillfed.io/packages/crochet","md":"https://skillfed.io/packages/crochet.md","pypi":"https://pypi.org/project/crochet/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2023-07-01","license_spdx":null,"license_treatment":"permissive","name":"crochet","python_support":"supports_current","summary":"Use Twisted anywhere!"},"popularity":{"monthly_downloads":397417,"position":6960,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"2.1.1"}
