I’ve been working on Duck, a Python web framework designed to modernize the development experience without throwing away what we love about Django.
For years, the standard path for real-time Python apps has been Django + Channels + Redis + daphne + Nginx. It works, but the overhead is immense. Duck aims to simplify this by making high-performance features "native" rather than "add-ons."
Key Features:
Native HTTP/2 & HTTPS: No need for a reverse proxy just to get modern protocol support; Duck handles multiplexing out of the box.
Lively Components: Think Phoenix LiveView but for Python. Build reactive, stateful UIs that update over WebSockets without writing a single line of JavaScript.
Django Compatibility: You can keep your existing Django models and logic. Duck acts as a high-performance transport layer.
Zero-Dependency Automation: A built-in task system that replaces Cron/Celery for 90% of use cases.
Real-time Observability: A built-in terminal monitor (
duck monitor) to watch your app's hardware impact in real-time.
Why build this?
I love the Python ecosystem, but I felt we were falling behind frameworks like Elixir’s Phoenix or Go’s Fiber in terms of "out-of-the-box" performance and developer velocity. Duck is my attempt to bridge that gap.
Docs: https://docs.duckframework.xyz
GitHub: https://github.com/duckframework/duck
I’d love to hear your thoughts on the architecture, especially regarding the Lively component implementation!
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.