Skip to content

Welcome to PyGo

import { Card, CardGrid } from ‘@astrojs/starlight/components’;

PyGo is an ultralight, monolithic full-stack framework built on Go + Python + HTMX. It features an isomorphic .pgo DSL that generates 1:1 Python code (gen_py.py) and mechanical Go code (gen_go.go), with interop via MessagePack over Unix Domain Sockets (UDS).

PyGo is built on a simple principle: use only what is native to Go and Python stdlib. Zero heavy frameworks, zero bloat. Just net/http, database/sql, and the Python standard library — combined with HTMX for server-driven UI.

The framework is v1.0.0 stable with the following critical features complete:

  • Enum Types: Type-safe enums with compile-time validation
  • ForeignKey & JOINs: Automatic JOIN generation and relationship handling
  • Array[T]: Generic array types with full type safety
  • Map[K]V: Generic map types with key-value type constraints
  • Optional: Explicit nullability (String? syntax)
  • UUID / Email / DateTime / URL / Phone / Decimal: Validated scalar types
pygo/
├── cli/ # CLI: new, dev, gen, build, test
├── core/
│ ├── transpiler/ # Parser, lexer, AST, generators
│ └── runtime/ # Python runtime (db, validators, jobs)
├── cmd/pygo/ # Entry point
├── examples/ # hello-world, blog
└── templates/ # Project scaffolding
Full-stack monolithic framework with Go backend (net/http + database/sql) and Python runtime, communicating via MessagePack over UDS. Install PyGo and build your first app in under 5 minutes. Understand how PyGo's Go+Python+HTMX monolith works. Explore PyGo's typed DSL, transpiler, and code generation pipeline. Full CLI, runtime, and transpiler API documentation.