Skip to content

tkamenoko/spangle

Repository files navigation

version
v0.12.0

spangle

PyPI PyPI - License unittest GitHub Pages

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

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

Hello world

# 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. See documents.

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