Python & Django
Patterns, tooling, and implementation details for maintainable web applications.
Python · Django · Test automation
Practical guides for building, testing, and deploying reliable Python applications—grounded in real projects and the lessons they teach.
What I write about
Patterns, tooling, and implementation details for maintainable web applications.
Pytest, Playwright, API testing, and pragmatic ways to make releases safer.
CI/CD, Linux, PostgreSQL, and the operational work behind a reliable service.
Latest field notes
Recently, I wanted to go deeper with the AsyncIO package in Python. It is used in FastAPI, and using this async code in general can increase efficiency dramatically due to concurrency.
I&...
As you know, I'm working on this project by myself, so over time, a lot of garbage has accumulated in the code. I’ve decided to use the Ruff lin...
I've modified the deployment script so it will use UV now for the environment management. First, UV should be installed on t...
I've decided to use UV to keep my Python workflow fast and simple. It replaces pip, virtualenv, pip-tools, and pipx for me—o...
Recently, Python 3.14 LTS has been released. So, it's time for an upgrade. And if you have a running project, I strongly recommend updating it to the newer version from time to time. It will ea...
I’ve used CI/CD pipelines on all my jobs on GitLab; this web, however, has its code located on GitHub. I’m too lazy to move it to GitLab, and I’m also too lazy to log in to my hos...
I’ve recently discovered the Coredumped YouTube channel with really well-structured videos.
JavaScript has long been the go-to language for building interactive web applications, but I’ve never enjoyed its complexity. The endless frameworks, bloated d...
I've used Docker in my previous work, but didn’t handle anything particularly complex. Now, I want to delve deeper into Docker and containerization.
I’ve found the website...
My first encounter with relational databases was when I started building my first Django blog. It began with SQLite and later moved to PostgreSQL. Along the way, I somehow managed to get everything...