Metadata-Version: 2.1
Name: tornado-async-transformer
Version: 0.1.7
Summary: libcst transformer and codemod for updating tornado @gen.coroutine syntax to python3.5+ native async/await
Home-page: https://github.com/zhammer/tornado-async-transformer
Author: Zach Hammer
Author-email: zachary_hammer@alumni.brown.edu
License: MIT License
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
Requires-Dist: libcst (==0.1.2)

# Tornado Async Transformer

![](https://github.com/zhammer/tornado-async-transformer/workflows/CI/badge.svg)

A [libcst](https://github.com/Instagram/LibCST) transformer for updating tornado @gen.coroutine syntax to python3.5+ native async/await.

[Check out the demo.](https://tornado-async-transformer.zhammer.now.sh/)

### Usage
You can either:
- Add `tornado_async_transformer.TornadoAsyncTransformer` to your existing libcst codemod.
- Or run `python -m tornado_async_transformer.tool my_project/` from the commandline.

#### Example
```diff
 """
 A simple coroutine.
 """
 from tornado import gen


-@gen.coroutine
-def call_api():
-    response = yield fetch()
+async def call_api():
+    response = await fetch()
     if response.status != 200:
         raise BadStatusError()
-    raise gen.Return(response.data)
+    return response.data
```


