Ir al contenido

¿Por qué Pyzed? Interfaces Python modernas para una nueva generación

Python es el primer lenguaje de toda una generación de desarrolladores, pero sus interfaces de escritorio todavía parecen de 2005: widgets grises, diseños escritos a mano, reiniciar la app para ver un cambio y un empaquetado que es un proyecto en sí mismo. Pyzed es nuestra respuesta para quienes crecieron con VS Code, Figma, el modo oscuro y los asistentes de IA, y esperan que sus herramientas se vean y se sientan así.

Un espacio de trabajo estilo editor hecho con Pyzed, con el tema Pyzed Dark

Aspecto moderno, sin trabajo de estilos

Decenas de componentes inspirados en el editor Zed: botones, campos, pestañas, árboles, paletas de comandos, menús, avisos, un editor de código y paneles acoplables. Los temas (One, Ayu, Gruvbox), el modo oscuro y seguir la apariencia del sistema vienen incluidos.

Velocidad nativa, dibujada por Rust

El diseño, el texto y el dibujo se ejecutan en Rust con Iced y wgpu (Vulkan, Metal, DirectX 12 u OpenGL), con un renderizador por CPU de respaldo. Python solo describe la interfaz.

Una API pythónica

El estado vive en una clase normal. view() devuelve lo que se muestra y los callbacks son métodos o lambdas. Sin señales ni slots, sin archivos .kv, sin IDs de widgets que buscar.

Un diseñador visual

Pyzed Design te deja dibujar formularios, editar su código con autocompletado y diagnósticos, y ejecutarlos, todo en una sola app.

Recarga en caliente que conserva el estado

pyzed dev main.py: guardas un archivo y la ventana cambia, con tus datos todavía ahí.

Lista para asistentes de IA

Un servidor MCP da a los agentes de código la API exacta, la documentación y capturas de lo que construyen, y pyzed.agents pone modelos dentro de tu app.

Windows, macOS y Linux
uvx --from pyzed-ui pyzed new tienda
cd tienda
uv run pyzed design # dibuja la interfaz en Pyzed Design
uv run pyzed run # ejecútala
uv run pyzed build # una app autónoma para Windows, macOS o Linux

Los proyectos son proyectos uv normales, así que las dependencias, los lock files, el linter (ruff) y la comprobación de tipos (ty) funcionan como en el resto del Python moderno. Mira Crear un proyecto y Compilar y distribuir.

Un contador, completo:

contador.py
import pyzed as pz
from pyzed import ui
class Contador(pz.App):
title = "Contador"
def __init__(self):
self.count = 0
def view(self):
return pz.center(pz.row([
ui.button(icon="minus", on_press=lambda: setattr(self, "count", self.count - 1)),
ui.heading(str(self.count)),
ui.button(icon="plus", on_press=lambda: setattr(self, "count", self.count + 1)),
], spacing=12, align="center"))
pz.run(Contador)

No hay ningún widget que buscar y actualizar cuando cambia la cuenta: cambias self.count y Pyzed vuelve a llamar a view(). Es la arquitectura Elm que usa Iced, la misma idea que React o SwiftUI, así que te resultará familiar si vienes de la web o del móvil.

Componentes de Pyzed con el tema Pyzed Dark

  • Editar, guardar, ver. La recarga en caliente conserva el estado de la app y, si el código nuevo falla, el error se muestra en la ventana hasta que guardes una corrección.

    Una recarga fallida muestra el error dentro de la ventana

  • Tu editor conoce la API. El paquete incluye información de tipos (py.typed y stubs del núcleo en Rust), así que el autocompletado y la comprobación de tipos funcionan en VS Code, PyCharm, Zed y con ty o mypy.

  • Capturas sin pantalla. app.screenshot("vista.png") renderiza fuera de pantalla, sin ventana ni GPU, para tests, CI y documentación. Todas las imágenes de este sitio se hicieron así.

  • Agentes que no adivinan. Conecta el servidor MCP a Claude Code, Cursor, VS Code o Zed y tu asistente consulta firmas reales, lee esta documentación y comprueba el código que escribe. La documentación también se publica como texto plano para modelos de lenguaje en llms.txt.

  • Async cuando lo necesitas. Los callbacks pueden ser funciones async def o generadores; Pyzed los ejecuta y envía sus resultados a update. Mira Tareas en segundo plano.

Pyzed es joven: su primera versión salió en 2026, mientras que tkinter, Qt y wxPython tienen décadas detrás. Hoy apunta al escritorio (Windows, macOS y Linux): Android es un prototipo temprano y no genera apps para iOS ni el navegador, algo que sí ofrecen Kivy y Flet. Los lectores de pantalla todavía no están soportados porque Iced no expone información de accesibilidad (detalles), y su ecosistema de widgets de terceros es pequeño. La comparativa explica cuándo otras bibliotecas son mejor opción.