About Candy
Candy is a minimalist machine learning framework for the Go programming language, developed by the open source organisation GoCNN. It provides tensor operations, neural network layers, convolutions, flash attention and support for large language models, with an API designed to feel natural to Go developers rather than a port of a Python library.
It is aimed at Go engineers who want to train or run models inside Go services instead of calling out to a separate Python stack. Candy accelerates tensor work across several backends: CPU through BLAS using OpenBLAS or Intel MKL, NVIDIA GPUs through CUDA, cuBLAS and cuDNN bindings, and Apple M series GPUs through Metal bindings. The project leans on Go's native concurrency, concise syntax and runtime efficiency for both training and inference. Alongside Candy, GoCNN maintains the GPU and BLAS binding libraries it depends on and bindings for ONNX Runtime and TensorRT for deployment, and it publishes a cookbook of tutorials and examples.
Candy is free and open source under the BSD 3 Clause licence. There is no paid tier, hosted service or published pricing.
The project is young. GoCNN was founded in September 2025, Candy development began that same month, and the CUDA and Metal backends were released in October 2025. It is led by a single core maintainer with outside contributors, which is worth weighing for production use.