<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CLI on Chen Kai Blog</title><link>https://www.chenk.top/en/tags/cli/</link><description>Recent content in CLI on Chen Kai Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 12 Apr 2022 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/en/tags/cli/index.xml" rel="self" type="application/rss+xml"/><item><title>Python Engineering (2): Project Structure — From Script to Package</title><link>https://www.chenk.top/en/python-engineering/02-project-structure/</link><pubDate>Tue, 12 Apr 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/python-engineering/02-project-structure/</guid><description>&lt;p>Every project starts as a single file. You write &lt;code>main.py&lt;/code>, it works, you add features, and one day you realize you have 1,500 lines in one file with functions that call other functions that depend on globals defined 800 lines above. The code works, but nobody (including future you) can understand it.&lt;/p>
&lt;p>The jump from script to package is the first real engineering decision in a Python project. Get it right early, and testing, packaging, and deployment become easier. Get it wrong, and you&amp;rsquo;ll spend weeks untangling circular imports.&lt;/p></description></item></channel></rss>