Skip to main content

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-template and on the release/public-ready branch.

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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastogram 0.1.1
File Size Uploaded
fastogram-0.1.1.tar.gz 582.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastogram 0.1.1
File Interpreter ABI Platform
fastogram-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / fastogram-0.1.1.tar.gz

Download URL fastogram-0.1.1.tar.gz
Size 582.7 kB
Tags Source
SHA-256 checksum
How to use checksums
06af64041b23a45361953a83ca5217e01d9a29d0e303bf4d2da52ea6615337a2
BLAKE2b-256 checksum
How to use checksums
061162193fe1b779d9bf389b8e76d9f2a62bbec9420c2265ecaffb4d5304a0af
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.1-py3-none-any.whl

Download URL fastogram-0.1.1-py3-none-any.whl
Size 426.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61fb55e39c9037cd44b511143d319dc574d820e115cc46cdd2508eb7644f1b98
BLAKE2b-256 checksum
How to use checksums
348531ce2a761ec8e8149e2928c95c3fa37380ee8a2377488e67ecf9eaf6a79e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page