https://manakinpress.com/product/programming-with-python-andits-applications-to-physical/