This post takes you through probabilistic programming using basic Python libraries. As the author says, they were inspired by Joel Grus' Data Science from Scratch book.
Having only used PyMC as a black box before this, I found this super valuable in getting a better understanding of what's going on behind the scenes.