Metadata-Version: 2.1
Name: spangle
Version: 0.2.0
Summary: ASGI apprication framework inspired by `responder`, `vibora`, and `express-js`.
Home-page: https://github.com/tkamenoko/spangle
License: MIT
Author: T.Kameyama
Author-email: tkamenoko@vivaldi.net
Requires-Python: >=3.7
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Dist: addict (>=2.2,<3.0)
Requires-Dist: aiofiles (>=0.4.0,<0.5.0)
Requires-Dist: asgiref (>=3.2,<4.0)
Requires-Dist: chardet (>=3.0,<4.0)
Requires-Dist: httpx (>=0.7.5,<0.8.0)
Requires-Dist: jinja2 (>=2.10,<3.0)
Requires-Dist: multidict (>=4.5,<5.0)
Requires-Dist: multipart (>=0.2.0,<0.3.0)
Requires-Dist: parse (>=1.12,<2.0)
Requires-Dist: starlette (>=0.13.0,<0.14.0)
Project-URL: Documentation, https://tkamenoko.github.io/spangle/
Project-URL: Repository, https://github.com/tkamenoko/spangle
Description-Content-Type: text/markdown

# spangle 

ASGI application framework inspired by [responder](https://github.com/taoufik07/responder), [vibora](https://github.com/vibora-io/vibora), and [express-js](https://github.com/expressjs/express/). 

## Getting Started

### Install

```shell
pip install spangle
pip install hypercorn # or your favorite ASGI server
```

### Hello world

```python
# hello.py
import spangle

api = spangle.Api()

@api.route("/")
class Index:
    async def on_request(self, req, resp):
        resp.set_status(418).set_text("Hello world!")
        return resp

```

```shell
hypercorn hello:api
```

## Features

* Component (from `vibora`!)
* Flexible url params
* `Jinja2` built-in support
* Uniformed API
* Single page application friendly

...and more features. See [documents](http://tkamenoko.github.io/spangle).


## Contribute

Contributions are welcome!

* New features
* Bug fix
* Documents


### Prerequisites

* Python>=3.7
* git
* poetry
* yarn

### Build

```shell
# clone this repository.
git clone http://github.com/tkamenoko/spangle.git 
# install dependencies.
poetry install
yarn install
```

### Test

```shell
yarn test
```

### Update API docs

```shell
yarn doc:build
```

