Comenzando con PyGo
Comenzando
Sección titulada «Comenzando»Esta guía te ayudará a configurar PyGo y construir tu primera aplicación.
Requisitos Previos
Sección titulada «Requisitos Previos»- Go 1.22+ — para el runtime de Go y el transpiler
- Python 3.10+ — para el runtime de Python
- Módulo
venvde Python — para entornos virtuales
Nota: pnpm NO es necesario para PyGo. PyGo usa Go y Python de forma nativa. El sitio de documentación usa pnpm, pero el framework en sí usa
go buildy la biblioteca estándar de Python.
Instalación
Sección titulada «Instalación»Opción 1: Script de Instalación Universal (Recomendado)
Sección titulada «Opción 1: Script de Instalación Universal (Recomendado)»# Instalar desde GitHub releases (Linux/macOS)curl -fsSL https://pygo.dev/install.sh | bash
# Agregar al PATHexport PATH="$HOME/.local/bin:$PATH"Opción 2: Desde el código fuente (desarrollo)
Sección titulada «Opción 2: Desde el código fuente (desarrollo)»git clone https://github.com/Ander-Labs/pygo.gitcd pygogo build -o pygo ./cmd/pygosudo mv pygo /usr/local/bin/Opción 3: Desde GitHub Releases (cuando esté disponible)
Sección titulada «Opción 3: Desde GitHub Releases (cuando esté disponible)»# Descargar el último release (Linux)curl -L https://github.com/Ander-Labs/pygo/releases/latest/download/pygo-linux-amd64 -o /usr/local/bin/pygochmod +x /usr/local/bin/pygoNota: El paquete PyPI (
pip install pygo-framework) aún no está disponible. Usa la instalación desde el código fuente por ahora.
Verificar Instalación
Sección titulada «Verificar Instalación»pygo versionSalida esperada:
PyGo Framework v1.0.0Go runtime: go1.22+Python runtime: 3.10+Crear Tu Primer Proyecto
Sección titulada «Crear Tu Primer Proyecto»pygo new myappcd myapppygo devEsto crea un nuevo proyecto PyGo con la siguiente estructura:
myapp/├── app/│ ├── web/ # Archivos DSL .pgo (modelos, handlers, rutas)│ ├── templates/ # Plantillas HTML (HTMX)│ ├── core/ # Módulos runtime Python│ └── pygo.toml # Configuración del proyecto├── install.sh # Instalador de dependencias Python└── README.mdTu Primer Archivo .pgo
Sección titulada «Tu Primer Archivo .pgo»El DSL .pgo es isomórfico a Python — misma indentación, misma sintaxis. PyGo transpila archivos .pgo en:
gen_py.py— Código Python 1:1 (sintaxis idéntica)gen_go.go— Código Go mecánico (desde AST visitor)
Ejemplo web/app.pgo:
enum Status: active inactive pending
model User: id: UUID email: Email name: String status: Status tags: Array[String] metadata: Map[String]String created: DateTime updated: DateTime?
handler greet: greet(name: String) -> String: return f"Hello, {name}!"
route GET /hello/:name -> greetLuego transpila y ejecuta:
# Transpilar archivos .pgo a gen_py.py y gen_go.gopygo gen web/app.pgo
# Iniciar servidor de desarrollo (transpile + supervisor + servidor HTTP)pygo devAbre http://localhost:8080/hello/World en tu navegador.
Comandos CLI
Sección titulada «Comandos CLI»| Comando | Descripción |
|---|---|
pygo new <name> |
Crear un nuevo proyecto PyGo |
pygo dev |
Transpilar e iniciar servidor de desarrollo |
pygo build --embed-python |
Construir para producción con Python embebido |
pygo gen [file] |
Transpilar archivos .pgo |
pygo test |
Ejecutar tests |
Próximos Pasos
Sección titulada «Próximos Pasos»- Guía de Arquitectura — entiende cómo funciona PyGo
- Conceptos Clave — aprende el DSL .pgo
- Referencia de Características — explora características tipadas