PyGo: A Deep Learning Framework Where Go Calls Python Calls C++ A developer built PyGo, a deep learning framework where Go serves as the top-level API, Python handles autograd and model zoo, and C++/CUDA performs raw compute. CPython is embedded inside the Go binary, with tensors in shared memory enabling zero-copy across all layers. The project aims to integrate ML models natively into Go-based infrastructure like Kubernetes, though CGo call overhead at the tensor boundary remains an unsolved challenge. Project PyGo – embedding CPython inside a Go process to build a deep learning framework I've been working on something a bit unusual: a deep learning framework where Go is the top-level API, Python handles autograd and the model zoo, and C++/CUDA does the raw compute. The architecture looks like this: Go API → CGo bridge → CPython embedded → pybind11 → CUDA/AVX-512 kernels The key insight: instead of a Python sidecar in every pod, CPython runs inside the Go binary. Tensors live in shared memory — zero-copy across all three layers. Why Go on top? Go is already running most ML infrastructure K8s, Prometheus, etcd . PyGo makes models first-class citizens there, without rewriting your ops stack. Goroutines make dynamic batching trivial. Current state: The main unsolved problem is CGo call overhead at the tensor boundary. If anyone has experience embedding CPython in a Go process, I'd love to talk. Looking for core contributors — especially Go devs with CGo experience, Python autograd engineers, and C++/CUDA kernel writers. Interested in joining? Email: amitsarkar1066@gmail.com mailto:amitsarkar1066@gmail.com