1. Write¶
If you are reading this, it can be assumed that you are already familiar with Python. Therefore, this section will not cover the basics, but just point you to some resources.
Version control¶
If you develop software, you will want to use git. The rest of this guide assumes and requires that you are using git. If not, go and learn git now.
If you think you know git, you might want to check out some advanced git tips in this guide. The difference between merging and rebasing is a common source of confusion, git hooks are used later, and git worktrees are a common "why didn't I know this before" moment.
IDE¶
Most of the tools discussed in the following sections can be used via CLI, but also provide IDE plugins. Popular IDEs are VSCode and PyCharm. Both support plugins for linters, formatters, type checkers etc. That is quite useful since you get immediate feedback whith inline errors and warnings.
Coding Assistant¶
Privacy compliant ways¶
Of course, LLMs are a great help, but you may have privacy concerns or simply not be allowed to use them. Using models from OpenAI or Anthropic will send your code to their servers.
Self-hosting has become very easy. There are many open source models that you can run on your own machine. With Ollama you can run them with a single command, and with Open WebUI you can use them through a great web interface. Continue gives you Copilot-style auto-completion.
The main obstacle is hardware. You need a decent GPU to run these models. But this is just a hint that these problems are solvable and you should get on the train.
Resources¶
Python
- BeginnersGuide - Python Wiki
- Structuring Your Project — The Hitchhiker's Guide to Python
- Python Tutorials – Real Python
- Python Tutorial
- Automate the Boring Stuff with Python
- Python Design Patterns
Git
- git - the simple guide - no deep shit!
- Learn Git - Tutorials, Workflows and Commands | Atlassian
- Git Tutorial for Beginners: Learn Git in 1 Hour - YouTube
- Git Cheat Sheet
IDEs & Tools