FastoGram is now Aso. This package is retired and gets no further updates. Start a new app with
uvx aso new myapp; see https://github.com/Ibnu-Afdel/Aso.
FastoGram
A Laravel-style web framework for Python: FastAPI on the backend, Inertia.js v3 + React
on the frontend, and an artisan-like CLI (fastogram make:controller, fastogram migrate, ...).
Status: early (0.1.1). It works end to end, but expect rough edges and breaking changes. The previous Telegram bot template (0.0.x, FastAPI + aiogram) is kept under the tag
legacy-telegram-templateand on therelease/public-readybranch.
Try it
You need uv, Node 22+ and npm.
uvx fastogram new myapp # like `laravel new myapp`
cd myapp
uv run fastogram dev # server + Vite + route watcher
Open http://127.0.0.1:8000, register, and you're in the React starter kit (dashboard, settings,
password reset, email verification). In local mode mail goes to storage/logs/.
Useful commands: fastogram list, fastogram route:list, fastogram make:model Post -mcr,
fastogram migrate, uv run pytest.
What it looks like
# routes/web.py
with Route.middleware("auth").group():
Route.get("/posts", [PostController, "index"]).name("posts.index")
Route.post("/posts", [PostController, "store"]).name("posts.store")
# app/http/controllers/post_controller.py
class PostController(Controller):
async def index(self):
return inertia("posts/index", {"posts": await Post.with_("author").latest().paginate(15)})
async def store(self, form: StorePostRequest):
await Post.create(**form.validated(), user_id=auth().id())
return redirect().route("posts.index").with_flash("success", "Post created.")
Repository layout
src/fastogram/ the framework library and CLI (published to PyPI as `fastogram`)
skeleton/ the app that `fastogram new` creates (like laravel/laravel)
tests/ the framework's own tests
spikes/ Phase 0 proof-of-concept spikes (throwaway)
License
MIT
Metadata
Release files for fastogram 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastogram-0.1.2.tar.gz | 577.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastogram-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 985.9 kB
Release files / fastogram-0.1.2.tar.gz
| Download URL | fastogram-0.1.2.tar.gz |
|---|---|
| Size | 577.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a6f3e8dad955e1bc4d92d5e25b525975e9745b35e129397360a942f20b25744
|
|
BLAKE2b-256 checksum How to use checksums |
af120573b6c85cb4f3ec2216a0033aeb0d4c99e87e81cba459595245af00ffd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / fastogram-0.1.2-py3-none-any.whl
| Download URL | fastogram-0.1.2-py3-none-any.whl |
|---|---|
| Size | 408.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c969b360a89158240abb9d5d094f634bdc0bdf8dbb91d5a8f30b67693cf74d65
|
|
BLAKE2b-256 checksum How to use checksums |
7bf304de973b86da47d013f63e62b91334d93b1a2c9a8a68b8ce4d9d0b0c139f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|