Skip to content

spangle

PyPI PyPI - License

spangle is a small and flexible ASGI application framework for modern web.

Note

spangle is on pre-alpha stage, so any updates may contain breaking changes.

Getting Started

Install

Python>=3.9 is required.

pip install spangle
pip install hypercorn # or your favorite asgi server

Get development version:

pip install -e git+https://github.com/tkamenoko/spangle@develop

Example

# 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
hypercorn hello:api

Features

  • Components with dependencies
  • Flexible URL params
  • Jinja2 built-in support
  • Uniformed API
  • Single page application friendly

…and more features. Take tutorials and see features !

Contribute

Contributions are welcome!

  • New features
  • Bug fix
  • Documents

Prerequisites

  • Python>=3.9
  • git
  • poetry

Build

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

Test

poetry run poe test

Update API docs

poetry run poe doc:build