Python
Python is my favorite programming language.
Package and Project Managment: UV
To manage Python depenedencies I use UV. It is significantly faster than other package managers. The time saving is worth the effort to learn this tool.
Global Tooling
Also it allows easy installation of (global) tooling.
For example to install mkdocs
:
$ uv tool install mkdocs
Django
I enjoy working with Django.
The reason for this is that the ORM is at the core of the framework. This means that it integrates well with concepts like forms, API frameworks and the Django admin.
The admin is a killer feature for a starting company as it allows staff members to manage the data in the database.
I often use Django in combination with:
- Django Rest Framework - High learning curve, but very feature complete and efficient to maintain (if implemented correctly).
- django-cmd - Use
django COMMAND
instead ofpython src/manage.py COMMAND
- pytest-django - Pytest is the testing tool for me.