<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>CLI on Indented Block</title><link>https://indentedblock.com/tags/cli/</link><description>Recent content in CLI on Indented Block</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 19 Aug 2026 13:51:25 -0400</lastBuildDate><atom:link href="https://indentedblock.com/tags/cli/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a CLI Tool in Python: Publishing to PyPI</title><link>https://indentedblock.com/posts/cli-tool-part-3/</link><pubDate>Wed, 19 Aug 2026 13:51:25 -0400</pubDate><guid>https://indentedblock.com/posts/cli-tool-part-3/</guid><description>Part 3 of a series on building a real Python CLI tool: versioning, building wheels and sdists, and publishing to PyPI with twine and trusted publishing.</description></item><item><title>Building a CLI Tool in Python: Config Files &amp; Packaging</title><link>https://indentedblock.com/posts/cli-tool-part-2/</link><pubDate>Wed, 05 Aug 2026 13:43:33 -0400</pubDate><guid>https://indentedblock.com/posts/cli-tool-part-2/</guid><description>Part 2 of a series on building a real Python CLI tool: persisting data to a proper config directory, atomic file writes, and packaging with pyproject.toml.</description></item><item><title>Building a CLI Tool in Python: Structure &amp; Typer</title><link>https://indentedblock.com/posts/cli-tool-part-1/</link><pubDate>Tue, 04 Aug 2026 08:38:50 -0400</pubDate><guid>https://indentedblock.com/posts/cli-tool-part-1/</guid><description>Part 1 of a series on building a real Python CLI tool: project layout, argument parsing with Typer, subcommands, and the structure that keeps a growing tool maintainable.</description></item><item><title>Rich: Beautiful Terminal Output in Python</title><link>https://indentedblock.com/posts/package-rich/</link><pubDate>Thu, 23 Jul 2026 09:20:30 -0400</pubDate><guid>https://indentedblock.com/posts/package-rich/</guid><description>A tour of the Rich library: what it does, how to install it, its killer feature, and real-world patterns for logging, progress bars, and tables in production CLIs.</description></item></channel></rss>