A practical guide to building and deploying data pipelines, data warehouses, and data lakes with Python