Stop wasting time in analysis paralysis over Python tooling choices 💸
Pick the defaults 💱
Go straight to the money 💹
tl;dr: I created a minimalistic yet all-inclusive Python project template.
Check it out.
The Background Story
When it comes to helping others with developing software, too many templates/guides/peoples focus on features, or even worse, tools. While my guided template extremely spotlights some tools, they are approached from a very different focus: needs. Every software development project has almost identical needs:
- version control
- dependency management
- linting
- testing
- compiling
- documentation
- publishing
Of course, this list is not exhaustive. Software development these days also needs CI/CD, SBOM exports, ergonomic chairs etc. However, if anything from the list above is missing in your project, something is truly lacking. With this template I'm trying to fill in those needs as simple yet effective as possible.
Some fanatics will look at this template and might say something like: "Isn't pytest better than unittest?" Or: "Isn't tox also super useful?" Well, are those extra dependencies that will only really be useful to people who already know how to add them to this template? Guess what, all three yes!
Similarly silly discussions can be had about Hatch, MkDocs or Sphinx. I've had it with all these well-meaning 'developer advocates' forcing some tool on you at first chance, while no-one out there seems to be able to provide you a comprehensive end-to-end developer journey. Also, by keeping the template simple, it's open to extension with your own favorite tools without carrying the bloat from my choices.
Happy coding 🐍🤗
Top comments (0)