Show HN: Pyproc – Call Python from Go Without CGO or Microservices

📰 Hacker News · acc_10000

Hi HN!I built *pyproc* to let Go services call Python like a local function — *no CGO and no separate microservice*. It runs a pool of Python worker processes and talks over *Unix Domain Sockets* on the same host/pod, so you get low overhead, process isolation, and parallelism beyond the GIL. *Why this exists* * Keep your Go service, reuse Python/NumPy/pandas/PyTorch/scikit-learn. * Avoid network hops, service discovery, and ops burden of a separate Python service. *Quick try (\~5 minutes)* Go (app): ``` go get github.com/YuminosukeSato/pyproc@latest ``` Python (worker): ``` pip install pyproc-worker ``` Minimal worker (Python): ``` from pyproc_worker import expose, run_worker @expose def predict(req): return {"result": req["value"] * 2} if __name__ == "__main__": run_worker() ``` Call from Go: ``` import ( "context" "fmt" "github.com/YuminosukeSato/pyproc/pkg/pyproc" ) fu

Published 16 Sept 2025
Read full article → ← Back to Reads