I should definitively write my own set of guidelines and practices for Python development. For the moment you can already find some in this article. I agree with most of the practices outlined expect maybe using TOML for configuration files (I prefer relying on environment variables and .env
files). I would also recommend to opt for typer instead of argparse
for more complex CLIs. Finally I would suggest using tools like uv or pdm to manage your project (packaging, dependencies, virtual environment).
Other articles
Don't use Python's property (for bad reasons)
I recently stumbled upon a code from one of my coworker who is rather new to Python. He is coming from a Java/Scala background and used python's
read moreproperty
decorator to mimic Java Getters/Setters. Let's see why you should not do this.