Introducing "Duck" – A Django-Compatible Framework for Production Readiness

Hi Django Team,

I’m reaching out to introduce Duck, a lightweight web framework built with a tight integration into Django. Duck is designed to help developers transition Django projects from development to production with minimal friction.

It handles common production concerns out of the box—such as deployment configurations, security hardening, logging, performance optimizations, and environment management—while maintaining full compatibility with standard Django apps.

I believe Duck could be a valuable companion for Django developers looking for a seamless path to production readiness. I’d love to hear your thoughts on whether this could be highlighted in Django’s ecosystem or community resources, or if there are other ways we could collaborate to bring it to the attention of the Django community.

You can learn more about Duck here: https://duckframework.xyz/

Thanks for your time and for all the amazing work you do on Django.

Best regards,
Brian Musakwa

1 Like

The site seems to be down

1 Like

It’s now up, I was facing some little issues.

Hi everyone :waving_hand:

I’ve been working on a Python web framework called Duck Framework, and recently designed a UI architecture called Lively Components.

The goal is to make it easier to build interactive server-driven UIs while keeping development mostly in Python and HTML.

I’d love to share the design and get feedback from the community.


:puzzle_piece: Core Idea

The system is based on two types of components:

:snowflake: Frozen Components

Frozen components are rendered once and reused across requests.

Typical examples include:

  • Layouts
  • Headers
  • Navigation bars
  • Footers

Once rendered, their output is cached and reused, avoiding unnecessary rendering work.


:high_voltage: Dynamic Components

Dynamic components are instantiated and rendered per request.

They are used for parts of the UI that depend on:

  • request data
  • user state
  • frequently changing information

Examples include:

  • dashboards
  • user widgets
  • data-driven sections

:building_construction: Rendering Pipeline

Here’s a simplified explanation of how the system works:

  1. A browser sends an HTTP request.
  2. The framework builds a component tree.
  3. Frozen components reuse cached render output.
  4. Dynamic components are instantiated and rendered for the request.
  5. The results are combined into the final HTML response.


:bullseye: Goals of the Architecture

The design aims to provide:

  • :snake: Python-first UI development
  • :high_voltage: high rendering performance through frozen components
  • :puzzle_piece: clean component-based page architecture
  • :rocket: server-driven UI without heavy frontend frameworks

:page_facing_up: Documentation

More details here:


:speech_balloon: Feedback

I’d really appreciate feedback on things like:

  • the frozen vs dynamic component model
  • potential edge cases in component caching
  • comparisons with similar server-driven UI systems

Thanks!

Hi, sorry that I don’t really have any substantial thoughts/opinions about your framework itself right now but wanted to give a heads up that that the docs say:

Duck is not a small or mini web framework, it is a full-fledged framework which makes you do almost everything!

My guess is that is not what you meant. I think the phrasing you want instead is this:

Duck is not a small or mini web framework, it is a full-fledged framework which allows you to do almost everything!

In the first, you are describing a situation where Duck is forcing its user to do almost everything (implying that it’s not really helpful). In the second version, you would be describing a situation where Duck is giving the user the tools to accomplish almost anything they want (implying that it’s really helpful).

I’m sure most people who’ve read the first version understood what you meant anyway (no one would make a whole framework to be unhelpful :joy:) but just mentioning that you might still want a rephrase of that sentence.

Kkk, ok I will change that thanks.

I just created a real-world project with Duck Framework (a realtime Python web framework which acts more like React.js but with no JavaScript needed - Only Pure python Logic).

Check the project at GitHub - duckframework/url-shortener: A beginner-friendly URL shortener built with Duck Framework. Pure Python. No JavaScript. Real-time UI powered by Lively. · GitHub