Episode
#525: NiceGUI Goes 3.0
- Podcast
- Talk Python To Me
- Published
- Oct 27, 2025
- Duration seconds
- 4666
- Processing state
processed- Canonical source
- https://talkpython.fm/episodes/show/525/nicegui-goes-3.0
Actions
POST https://stenobird.com/v1/public/podcasts/talk-python-to-me/episodes/525-nicegui-goes-3-0/transcription-requests
Idempotently request low-priority transcript generation for this episode.GET https://stenobird.com/podcast/talk-python-to-me/525-nicegui-goes-3-0.md
Read the agent-friendly Markdown representation of this episode resource.
Summary
NiceGUI offers a way to build modern, component-based web applications using pure Python without the complexity of a JavaScript frontend. The framework leverages FastAPI and WebSockets to enable real-time, interactive UI updates directly from Python logic.
Topics
- Python
- NiceGUI
- FastAPI
- WebSockets
- Vue.js
- Quasar Framework
- Web Development
- User Interface
Highlights
- Main idea: NiceGUI bridges the gap between simple, limited Python UI libraries and complex, high-effort web development frameworks
- Technical architecture: The framework operates on a FastAPI backend with a Vue/Quasar frontend, using WebSockets for bi-directional communication
- Practical takeaway: Developers can create reactive interfaces by passing Python callables directly to UI event handlers like 'on_click'
- Deployment flexibility: Applications can run as local desktop-like tools or be deployed to the cloud behind standard web servers like Uvicorn
- Failure mode: While powerful for many use cases, the framework may not be the right choice for developers who prefer writing raw HTML/CSS or require highly custom JS-heavy frontends
Chapters
7:00Origins and Company Growth: The creators discuss the transition from freelance work to establishing a company and hiring their first employees.13:00Evolution of the Tech Stack: A look at the shift from Angular to Vue and the decision to build on top of FastAPI.18:45Leveraging FastAPI: Why choosing FastAPI was a natural progression for handling web traffic and server-side logic.24:45Extending with Components: How NiceGUI integrates independent elements like ECharts and AG Grid alongside Quasar components.30:35Styling with Tailwind CSS: The ease of adding custom styling to components using Tailwind CSS within the framework.36:35The Power of Pythonic UI: Demonstrating how minimal Python code can generate complex, interactive UI elements.54:15Handling Multi-worker Environments: Technical challenges regarding WebSocket connections and state management across multiple server workers.