TIL: Forcing pip to use virtualenv Necessary because installing things into your base python causes false positives, true negatives, and other head bangers.
TIL: Fixing YAML Here's how to prettify YAML across your projects.
TIL: Skipping git pre-commit For saving WIP commits to a remote repo. You really don't want to know what I was doing before.
PyPI Project URLs Cheatsheet The PyPI project URLs spec is defined only in code. Here's my cheatsheet explaining how to configure them. I'll update this as I learn more (suggestions welcome!). Examples in several formats.
Converting from bleach to nh3 Bleach is deprecated, here's how to come close to replicating bleach.clean() with no arguments with nh3.
AWS Requests Auth AWS signature version 4 signing process for the python requests module.
Cookiecutter Options Pattern A technique I've used for years yet often forget. Placing it here for easy reference.
Adding Django form instance attributes Sometimes in the `clean()`, `clean_FOO` or `save()` methods of a Django form, you need to have additional form instance attributes available. A sample case for this is having `user_id` available. This is a simple example of how to do it in Class-Based Views.
Django GetOrCreateView Probably the first article outside the official docs on how to use the Django CBV form_valid method. Written in 2012 and still accurate in 2023!