Metadata-Version: 2.1
Name: async-typer
Version: 0.1.10
Summary: A simple async wrapper for typer
Author: byunjuneseok
Author-email: byunjuneseok@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: typer (>=0.9.0,<1.0.0)
Project-URL: Bug Tracker, https://github.com/byunjuneseok/async-typer/issues
Project-URL: homepage, https://github.com/byunjuneseok/async-typer
Project-URL: repository, https://github.com/byunjuneseok/async-typer
Description-Content-Type: text/markdown

# async-typer

`async-typer` is a _simple async wrapper_ for the [typer](https://github.com/tiangolo/typer) library. 
We already have a lot of async implementations for our applications, but we can't use them easily with typer.
With this simple wrapper, we can use async functions in CLI with typer-like interface.
And `async-typer` have more features than typer to solve our real-world problems in a more elegant way.

## Installation

```bash
pip install async-typer
```

## How to use

```python
from async_typer import AsyncTyper


app = AsyncTyper()

@app.command()
def foo():
    service.work()

@app.async_command()
async def bar():
    await service.work_async()

```


## FastAPI-like event handlers

Handle startup and shutdown events with async or sync functions.

```python
app.add_event_handler("startup", redis_async_pool_manager.init_redis_pool)
app.add_event_handler("shutdown", redis_async_pool_manager.close_redis_pool)
```

Please check the [typer documentation](https://typer.tiangolo.com/) for more information.

