All articles by Peter Baumgartner

Thumbnail image for Can Your Site Handle Going Viral?

Can Your Site Handle Going Viral?

It’s every publisher’s dream to “go viral” and reach thousands, if not millions, of new people. Many videos, tweets, images, articles, and infographics are created with exactly this goal in mind. But far too often, less thought goes into ensuring …
Thumbnail image for Using pyproject.toml in your (Django) project

Using pyproject.toml in your (Django) project

Back in 2018, I wrote about using setup.py in your Django/Python project. Five years later, setup.py is being phased out in favor of pyproject.toml. I’m a big fan of this change. With setup.py you could really go off the rails …
Thumbnail image for How to Choose a Web Development Agency in 2023

How to Choose a Web Development Agency in 2023

Your website is the hub of your business. It holds the promise of competitive advantage and the responsibility of delivering excellent customer service. Designing and building any new web application or restructuring your web development operations is a substantial undertaking, …
Thumbnail image for Python Package Manager Shootout

Python Package Manager Shootout

tl;dr I built a benchmark for Python Package managers, you can view it at https://lincolnloop.github.io/python-package-manager-shootout/ When starting a new Python project, you have a few different options for how you want to manage your dependencies. Like Node.js has npm, yarn, …
Thumbnail image for Choosing a Django Version

Choosing a Django Version

One of the first things you need to do when starting a new Django project is to choose which version of Django you are going to use. At any given time, there could be as many as three supported Django …
Thumbnail image for High Performance Django Is Free Online

High Performance Django Is Free Online

In 2014 Yann Malet and I (with the help of the rest of the team here) wrote a book about building and scaling Django websites. It was the culmination of things we’d learned from, at the time, close to a …
Thumbnail image for Distributed Locking in Django

Distributed Locking in Django

As you start scaling an application out horizontally (adding more servers/instances), you may run into a problem that requires distributed locking. That’s a fancy term, but the concept is simple. Sometimes you have to be sure that when a block …
Thumbnail image for Goodconf: A Python Configuration Library

Goodconf: A Python Configuration Library

I’ve been working quite a bit lately on streamlining Lincoln Loop’s standard deployment systems. One thorn we’ve always had is how to handle application configuration. In the past, we would have our configuration management system write the configuration out to …
Thumbnail image for Python Dependency Locking with pip-tools

Python Dependency Locking with pip-tools

Two of the biggest benefits pipenv and poetry are dependency locking and hash checking. Dependency locking means you can specify the direct dependencies your code requires, for example, celery==4.4.* and the tooling will lock, not only celery to a specific …