Metadata-Version: 2.1
Name: lustre
Version: 0.4.3
Summary: An opinionated, batteries-included ASGI web framework
Home-page: https://github.com/half-cambodian-hacker-man/lustre/
License: UNKNOWN
Project-URL: Source, https://github.com/half-cambodian-hacker-man/lustre/
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
Requires-Dist: aiofiles (==0.5.0)
Requires-Dist: databases (==0.3.2)
Requires-Dist: itsdangerous (==1.1.0)
Requires-Dist: jinja2 (==2.11.2)
Requires-Dist: orm (==0.1.5)
Requires-Dist: python-multipart (==0.0.5)
Requires-Dist: starlette (==0.13.8)
Requires-Dist: typesystem (==0.2.4)
Requires-Dist: markupsafe (==1.1.1) ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
Requires-Dist: six (==1.15.0) ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"
Requires-Dist: sqlalchemy (==1.3.19) ; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2, 3.3"

# Lustre

An opinionated, "batteries included" ASGI web framework on top of [Starlette](https://www.starlette.io/) and the surrounding `encode.io` ecosystem.

Using Lustre will mainly entail:

- Writing `async` endpoint handlers.
- Writing templates using [Jinja](https://jinja.palletsprojects.com/).
- Accessing the database via encode's [`orm` module](https://github.com/encode/orm).

Check out [the microblog example](./examples/microblogging/) to see how an application built with Lustre might work.

## Database Backends

Since we use encode's [`databases` module](https://www.encode.io/databases/), we support several database backends, but you will need to install the backing package separately:

- [SQLite](https://www.sqlite.org/), via `aiosqlite`.
- [PostgreSQL](https://www.postgresql.org/), via `aiopg`.
- [MySQL](https://www.mysql.com/) (and [MariaDB](https://mariadb.org/)) via `aiomysql`.

## Roadmap

- **Automated tests**
- Proper, nice, logging support
- Potentially support 'freezing' a site into a static bundle - Pre-render templates, turn redirects into nginx configuration, et cetera.


