Metadata-Version: 2.4
Name: brewing
Version: 0.0.12rc3
Summary: A web framework built on sqlachemy and fastapi.
Project-URL: Homepage, https://mikemcowie.github.io/brewing/
Project-URL: Documentation, https://mikemcowie.github.io/brewing/
Project-URL: Repository, https://github.com/mikemcowie/brewing
Project-URL: Issues, https://github.com/mikemcowie/brewing
Project-URL: Releases, https://github.com/mikemcowie/brewing/releases
Author-email: Mike Cowie <24739590+mikemcowie@users.noreply.github.com>
License-File: LICENCE
Requires-Python: >=3.14
Requires-Dist: alembic>=1.16.5
Requires-Dist: fastapi>=0.118.0
Requires-Dist: frozendict>=2.4.6
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic-settings>=2.10.1
Requires-Dist: pydantic>=2.11.7
Requires-Dist: sqlalchemy-utils>=0.42.0
Requires-Dist: sqlalchemy>=2.0.43
Requires-Dist: structlog>=25.4.0
Requires-Dist: tomlkit>=0.13.3
Requires-Dist: typer>=0.19.2
Requires-Dist: uvicorn>=0.37.0
Requires-Dist: watchfiles>=1.1.0
Provides-Extra: all
Requires-Dist: aiomysql>=0.2.0; extra == 'all'
Requires-Dist: aiosqlite>=0.21.0; extra == 'all'
Requires-Dist: cryptography>=46.0.3; extra == 'all'
Requires-Dist: mysqlclient>=2.2.7; extra == 'all'
Requires-Dist: psycopg[binary]>=3.2.10; extra == 'all'
Provides-Extra: mariadb
Requires-Dist: aiomysql>=0.2.0; extra == 'mariadb'
Requires-Dist: cryptography>=46.0.3; extra == 'mariadb'
Requires-Dist: mysqlclient>=2.2.7; extra == 'mariadb'
Provides-Extra: mysql
Requires-Dist: aiomysql>=0.2.0; extra == 'mysql'
Requires-Dist: cryptography>=46.0.3; extra == 'mysql'
Requires-Dist: mysqlclient>=2.2.7; extra == 'mysql'
Provides-Extra: posgresql
Requires-Dist: psycopg>=3.2.9; extra == 'posgresql'
Provides-Extra: postgresql
Requires-Dist: psycopg[binary]>=3.2.10; extra == 'postgresql'
Provides-Extra: sqlite
Requires-Dist: aiosqlite>=0.21.0; extra == 'sqlite'
Provides-Extra: testing
Requires-Dist: testcontainers>=4.12.0; extra == 'testing'
Description-Content-Type: text/markdown

# brewing

[![CI](https://github.com/mikemcowie/brewing/actions/workflows/ci.yaml/badge.svg)](https://github.com/mikemcowie/brewing/actions/workflows/ci.yaml)

Brewing is a python application framework designed to solve problems well, and then get out of your way.



## Installation

Use your preferred python package manager to install brewing. The author strongly recommends [uv](https://docs.astral.sh/uv/).

```
uv add brewing
```

# Influences

Brewing attempts to take principals from various battle-tested frameworks.

## Rails

1.The [rails doctrine](https://rubyonrails.org/doctrine), especially:
   * *convention over configuration*
   * *the menu is omakase*
   * *provide sharp knives*

## Django

* The [*batteries included* ](https://docs.python.org/3/tutorial/stdlib.html#tut-batteries-included) principal
* Basically, following much of the rails doctrine in a python context.
* Class based views with close integration to the model/data layer.

## FastAPI

* Using type hints at runtime to setup HTTP endpoints.
* Brewing's ASGI application is a subclass of fastapi.FastAPI, and its key decorators are largely maintained.
