Skip to main content

Pyzed

Interfaces de escritorio modernas y rápidas en Python, dibujadas por Iced (Rust). Componentes inspirados en el editor Zed, un diseñador visual al estilo de Godot y Unreal, shaders por nodos, animaciones, juegos y agentes de IA integrados.

PyPI Python CI Licencia: MIT

📖 Documentación · ⬇️ Descargar Pyzed Design · 🧩 Biblioteca de componentes · 📰 Novedades

Pyzed Design con un formulario de inicio de sesión abierto

Qué es Pyzed

  • Rendimiento nativo. Python describe la interfaz; el layout, el texto y el dibujado los hace Iced 0.14 en Rust (wgpu en la GPU, tiny-skia por CPU como respaldo). import pyzed tarda unos 35 ms.
  • Sencillo. Arquitectura Elm: estado, update y view. Un botón puede llamar directamente a un método (on_press=self.guardar), y update acepta corrutinas, generadores y streams.
  • Más de 90 componentes listos para usar: botones, formularios, tablas virtuales de cientos de miles de filas, árbol de archivos, pestañas, paleta de comandos, editor de código, terminal, marco de ventana propio, gráficos… Todos siguen el tema actual.
  • Pyzed Design, un diseñador visual que se instala como una app: dibuja formularios y componentes, escribe su código con autocompletado y diagnósticos, crea shaders por nodos y ejecútalo todo con F5.
  • Efectos y animaciones: anima cualquier propiedad, transiciones entre ventanas, glow, bloom, blur, cristal y shaders WGSL con pz.shader.
  • Juegos: bucle de juego (pz.frames), teclas mantenidas, sprites y partículas con pyzed.game.
  • IA: un panel de agentes dentro de Pyzed Design (Claude, OpenAI, Gemini, Copilot, modelos locales…), pyzed.agents para tus apps y un servidor MCP para que cualquier agente construya apps con Pyzed.
  • Temas de Zed: One, Ayu y Gruvbox incluidos, cualquier tema de Zed, temas generados y modo claro/oscuro del sistema.
  • Multiplataforma: Linux, macOS y Windows (x86-64 y ARM). Fuentes IBM Plex y unos 2000 iconos Lucide incluidos.
  • Capturas sin ventana: app.screenshot("ui.png") renderiza sin GPU ni pantalla, ideal para tests y docs.
Showcase: HUD de juego Panel de cristal
HUD de un juego hecho con Pyzed Panel de control con efecto cristal
Menú principal con shaders Neon Invaders
Menú principal synthwave Juego Neon Invaders

Instalación

Necesitas Python 3.10 o superior. Hay wheels para Linux (glibc y musl), macOS y Windows, así que no hace falta Rust.

uv add pyzed-ui                  # en un proyecto de uv
pip install pyzed-ui             # dentro de un entorno virtual activado
python3 -m pip install pyzed-ui  # con el Python del sistema (en Windows: py -m pip install pyzed-ui)

Extras opcionales: pyzed-ui[mcp] (servidor MCP) y pyzed-ui[agents] (agentes de IA en tus apps).

Pyzed Design se instala aparte como app, con instaladores para Windows y macOS y un script para Linux, y se actualiza solo: ver Descargar Pyzed Design.

Inicio rápido

import pyzed as pz
from pyzed import ui


class Counter(pz.App):
    title = "Counter"
    size = (360, 220)

    def __init__(self):
        self.count = 0

    def update(self, message):          # los mensajes pueden ser cualquier valor de Python
        if message == "increment":
            self.count += 1
        elif message == "decrement":
            self.count -= 1

    def view(self):
        return pz.center(
            pz.column([
                ui.heading(str(self.count)),
                pz.row([
                    ui.button("1", "decrement", icon="minus"),
                    ui.button("1", "increment", icon="plus", variant="solid"),
                    # ...o un callable, que se llama directamente
                    ui.icon_button("rotate-ccw", lambda: setattr(self, "count", 0), tooltip="Reset"),
                ], spacing=8),
            ], spacing=16, align="center"),
            bg=self.theme.editor,
        )


pz.run(Counter)
Contador

Sigue con el inicio rápido y los tutoriales básicos, intermedios y avanzados.

Un proyecto completo

pyzed new mi-app          # proyecto de uv: UI en ui/, backend en src/, ruff, ty y git
cd mi-app
uv run pyzed design       # abre Pyzed Design en el proyecto
uv run pyzed dev main.py  # hot reload: la ventana se actualiza al guardar y conserva el estado
uv run pyzed build        # ejecutable para esta plataforma

Más en Crear un proyecto y Distribuir.

Pyzed Design

Un diseñador visual hecho con Pyzed, con la interfaz de Zed: arrastra componentes a una grilla con anclajes, edita sus propiedades y estilos, haz doble clic para escribir el código de cada evento y pulsa F5 para ejecutarlo.

Pantalla de bienvenida con proyectos de ejemplo Shaders por nodos, como en Godot
Ventana de bienvenida de Pyzed Design Vista Shader con un grafo de nodos
  • Vistas de formulario, componente, shader y código, con pestañas que se pueden sacar a su propia ventana.
  • Editor de código de nivel Zed: autocompletado con ty, diagnósticos con ruff, varios cursores, buscar y reemplazar, plegado, minimapa, atajos configurables e IME.
  • Proyecto: árbol de archivos con el menú de Zed, búsqueda de archivos, dependencias con uv y terminal.
  • Componentes propios con propiedades tipadas, herencia, data binding y validación.
  • Agente de IA integrado que lee el proyecto, crea formularios y apps completas y controla el editor a través del MCP de Pyzed.
  • Se actualiza solo, como Zed, con una pestaña de novedades.

Manual completo en Diseñador y Shading.

Componentes

Galería de componentes

Cada componente tiene su página con todas sus variantes, ejemplos y API en la biblioteca. También hay bloques listos para copiar: pantallas de inicio de sesión, ajustes, paneles…

Cualquier widget tiene los eventos habituales de un editor gráfico (click, double_click, drag, key_down, resize…), y los componentes propios son clases con props anotados, estado y eventos:

class Rating(pz.Component):
    value: int = 0
    events = {"change": "Se eligió una estrella"}

    def render(self):
        return pz.row([pz.text("★" if i <= self.value else "☆").on(click=lambda i=i: self.emit("change", i))
                       for i in range(1, 6)])

IA

  • Panel de agentes en Pyzed Design: inicia sesión en Claude por navegador o con tu suscripción, o usa OpenAI, Gemini, GitHub Copilot, Vertex AI, OpenRouter, Ollama y más. Adjunta imágenes, conecta servidores MCP externos o agentes ACP (Gemini CLI, Codex…).

  • Servidor MCP (pyzed mcp): Claude, Cursor, VS Code y otros agentes consultan la API exacta, generan y comprueban apps y ven una captura del resultado.

    claude mcp add pyzed -- uvx --from "pyzed-ui[mcp]" pyzed mcp
    
  • pyzed.agents para añadir un agente con herramientas a tus propias apps.

Ver IA.

Integraciones

Tutoriales y demos ejecutables con FastAPI, SQLAlchemy, SQLModel, Django, httpx y Pydantic: dónde corre cada cosa (hilo de la UI, loop de asyncio, hilos de trabajo) y cómo mostrar errores de validación en los formularios. El código está en examples/integrations.

¿Por qué Pyzed?

Comparativas con tkinter, Qt, Kivy, Flet, Dear PyGui y Toga, con benchmarks medidos y reproducibles de arranque, memoria, actualización y tamaño instalado (benchmarks/).

Ejemplos

Carpeta o archivo Qué muestra
examples/counter.py, todo.py Lo mínimo: estado, mensajes, formularios y listas.
examples/gallery.py Todos los componentes, interactivos, con selector de tema.
examples/zed_editor.py Un editor de código completo sobre una carpeta real.
examples/showcase/ HUD de juego, menú principal, inventario, panel de cristal y galería de shaders.
examples/games/ Snake, Breakout y Neon Invaders.
examples/integrations/ FastAPI, SQLAlchemy, SQLModel, Django, httpx, Pydantic y aiosqlite.
examples/effects.py, animations.py Efectos visuales y animaciones.
examples/window_frame.py Marco de ventana propio con menús y botones de cada plataforma.
examples/ai_chat.py Un chat con un agente de IA.
examples/designer/ Un formulario de Pyzed Design (.pzform + .py).
examples/tutorial/, hot_reload/ Tutorial paso a paso y hot reload.

Todos se ejecutan con python examples/<archivo>.py (o uv run). Más en Ejemplos.

Cómo funciona

Python                         Rust (pyzed._core, PyO3)                 Iced 0.14
App.view() ──► árbol de Widget ──► render.rs: Widget → iced::Element ──► layout + wgpu/tiny-skia
App.update() ◄── mensajes ◄────── app.rs: Message, Command → Task ◄──── eventos (ratón, teclado)

Los widgets son objetos inmutables de Rust, así que construir la vista desde Python es barato. El estado interno de cada editor vive en Rust y el GIL se libera mientras corre el bucle de eventos. Más en Arquitectura.

Desarrollar Pyzed

git clone https://github.com/albakore/pyzed && cd pyzed
uv sync                     # compila el núcleo de Rust (1.88 o superior) e instala pyzed editable
uv run pytest tests
uv run python examples/gallery.py

Ver CONTRIBUTING.md. Pyzed sigue versionado semántico desde la 1.0; la política y las limitaciones conocidas están en Estabilidad.

Licencia

MIT. Las fuentes incluidas son IBM Plex (SIL Open Font License) y Lucide (ISC); sus licencias están en assets/fonts. Los temas One, Ayu y Gruvbox vienen del repositorio de Zed (MIT); ver python/pyzed/zed_themes/LICENSE.

Metadata

Release files for pyzed-ui 1.4.0

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

Source distribution (sdist)

Source distribution for pyzed-ui 1.4.0
File Size Uploaded Provenance
pyzed_ui-1.4.0.tar.gz 81.4 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for pyzed-ui 1.4.0
File
pyzed_ui-1.4.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
pyzed_ui-1.4.0-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
pyzed_ui-1.4.0-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
pyzed_ui-1.4.0-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
pyzed_ui-1.4.0-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
pyzed_ui-1.4.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
pyzed_ui-1.4.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 172.7 MB

Release files / pyzed_ui-1.4.0.tar.gz

Download URL pyzed_ui-1.4.0.tar.gz
Size 81.4 MB
Tags Source
SHA-256 checksum
How to use checksums
a9817b5e0815c139241d833f0c36fc75279ece9fbccd6acf7eb76f181c282ef0
BLAKE2b-256 checksum
How to use checksums
ffdc928a1c236ebe2cc4bb7bf8bc279308dbdafdd9b5b6260113d93e1f3f8c0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / pyzed_ui-1.4.0-cp310-abi3-win_amd64.whl

Download URL pyzed_ui-1.4.0-cp310-abi3-win_amd64.whl
Size 12.0 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8e6a05e96f24e61b3cdaa075a363b0a9f622d1b4ce0e5ecc7512c1c3215899fe
BLAKE2b-256 checksum
How to use checksums
b00f35a116ccb2d22329c3aba3314e5c5a5b4d4439428181990ecb230d494580
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / pyzed_ui-1.4.0-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL pyzed_ui-1.4.0-cp310-abi3-musllinux_1_2_x86_64.whl
Size 14.7 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
6a6ce5bb562024a4e0f0715b99728723451492ddb879b0575e779b8e4b84f798
BLAKE2b-256 checksum
How to use checksums
876b3cb726c39c8802e15884e183e589a12ee382157a8d6f7ab2dafd9df4949c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / pyzed_ui-1.4.0-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL pyzed_ui-1.4.0-cp310-abi3-musllinux_1_2_aarch64.whl
Size 14.1 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
da988c4d081da10f2c53ff31c479b66a37a69d2c8d3c3d77c6fa35bad96038b0
BLAKE2b-256 checksum
How to use checksums
14c1f5a5eb523ffc3570b66ad25971ea236631c24d6778032e1f01e75fcf41e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / pyzed_ui-1.4.0-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL pyzed_ui-1.4.0-cp310-abi3-manylinux_2_28_x86_64.whl
Size 14.4 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
89dcbd6b0b05d6c56100df14bacbd94444dd9229166ba252c6254922ffd71e8d
BLAKE2b-256 checksum
How to use checksums
48b1045f484f560ecc8ea057078c01037f57b79a46c37ca8b91ab512e8bb1f9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / pyzed_ui-1.4.0-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL pyzed_ui-1.4.0-cp310-abi3-manylinux_2_28_aarch64.whl
Size 13.9 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
7d4c99530ec74679e20e15d3120f52ec3cf06211ed45b7295a6c5161270f3247
BLAKE2b-256 checksum
How to use checksums
9edab1301decf749dfba8451be2fa491209418b4af7559ebc0e73aa56e7eeb06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / pyzed_ui-1.4.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL pyzed_ui-1.4.0-cp310-abi3-macosx_11_0_arm64.whl
Size 10.9 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
623b210a5034b26a259edcf81b06b54f6e406a617ee63c6cc23712f752e2d14f
BLAKE2b-256 checksum
How to use checksums
ab1b774e2e6ff84df50116c700a7e7b03b6ff5d06b2e2d316657e18c50477c99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / pyzed_ui-1.4.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL pyzed_ui-1.4.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 11.2 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d13bd8bf34260a4793fe9d6085d1b8a5c36d4cd856a4ad7021c2da53374b2a9d
BLAKE2b-256 checksum
How to use checksums
bb8ada6037592f84952114717675ff39908d723c6df9c420ae9c4618c4902a38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for pyzed-ui 1.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 8 files in this release have been uploaded with provenance metadata.

Select from 8 files

Attestation for pyzed_ui-1.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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