Leveraging Jupyter notebooks to bootstrap a zero and forward curve from par swap yields. You can see the (rendered) notebook here.