Setting Up a Modern Python Development Environment on Ubuntu 20.04

In this tutorial, we'll walk through setting up a Python development environment on Ubuntu 20.04. We'll install tools such as pyenv, pipx, and poetry to help manage our python versions, python tools, and python packages. This set up helps us isolate any python projects from each other and from the system interpreter.

Vetting Dependencies: Ensuring Software Maintainability

In this tutorial, we'll look at when to include a new package dependency in your software project. Low quality dependencies hinder upgrades and the maintainability of software projects. This tutorial will teach you how to set a high bar while searching for new dependencies to include in your software project.

Getting Started with Content Security Policy using Django

In this tutorial, We'll look at how to implement the Content Security Policy header in our Django project and how to adapt our policy to real world scenarios. The tutorial uses a Django implementation of Content Security Policy, but the lessons apply to any type of Content Security Policy implementation.

Automating Convention: Linting and Formatting Python Code

In this tutorial, We'll walk through how to use pre-commit to manage git hooks for code formatting and linting. We use flake8, black, isort, and bandit to automatically lint and format our Python code on every git commit.