---
title: "Don’t fear Python subprocess or Go codegen"
url: https://daily.dev/posts/don-t-fear-python-subprocess-or-go-codegen-jcub2gjhb
source_url: https://benhoyt.com/writings/jubilant
type: article
source: "Ben Hoyt"
published: 2026-05-31T07:54:53.627Z
updated: 2026-05-31T09:21:43.604Z
tags: ["python", "golang"]
reading_time: 11
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Don’t fear Python subprocess or Go codegen

**[Ben Hoyt](https://daily.dev/sources/ben-hoyt)** · 11 min read · 0 upvotes · 0 comments

## Summary

Ben Hoyt shares design decisions behind Jubilant, a Python API wrapping the Juju CLI via subprocess.run. He argues that shelling out to a CLI tool is often simpler and more stable than using a complex native API, especially when the CLI offers stable JSON output. He also describes a Go-based code generator that uses runtime reflection to convert Go structs into Python dataclasses, avoiding manual transcription errors. Finally, he covers the developer tooling setup using uv for dependency management and a simple Makefile as a command runner.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://benhoyt.com/writings/jubilant>

## Similar posts on daily.dev

- [Making good choices: How to get the best from Python tools](https://daily.dev/posts/making-good-choices-how-to-get-the-best-from-python-tools-o5iuknxxd) · InfoWorld · 0 upvotes · 0 comments
- [New tools make Python app distribution easier than ever](https://daily.dev/posts/new-tools-make-python-app-distribution-easier-than-ever-nyzrai12g) · InfoWorld · 3 upvotes · 0 comments
- [Beyond Hypermodern: Python is easy now](https://daily.dev/posts/beyond-hypermodern-python-is-easy-now-9nymzcu7e) · Lobsters · 1 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#golang](https://daily.dev/tags/golang)

[View this post on daily.dev](https://daily.dev/posts/don-t-fear-python-subprocess-or-go-codegen-jcub2gjhb)
