Earth observation using Python : a practical programming guide Python is a modern programming language that has exploded in popularity both inside and outside of the Earth science community. Part of its appeal is its easy to learn syntax and the thousands of available libraries which can be synthesized with core Python to do nearly any computing task imaginable. In particular Python is useful for reading Earth observing satellite datasets which can be notoriously difficult to use due to the volume of information that results from the multitude of sensors platforms and spatio temporal spacing. Python facilitates reading a variety of self describing binary datasets that these observations are often encoded in. Using the same software one can complete the entirerty of a research project and even produce plots. Within a notebook environment the scientist can document and distribute the code which can improve efficiency and transparency within the Earth sciences community. Even with the right tools data are seldom ready off the shelf for analysis and research and requires a number of pre processing steps to make the data useable. What steps to take and why are often except perhaps for data developers themselves. Data users often misunderstand concepts such as data quality how to perform an atmospheric correction or the complex regridding schemes necessary to compare data with different resolutions. Even to a technical user the nuances can be frustrating and difficult to overcome. The consequence of this is that data remains unused or worse potentially misused A tour of current satellite missions and products Overview of Python A deep dive into scientific data sets Practical Python syntax Importing standard earth science datasets Plotting and graphs for all Creating effective and functional maps Gridding operations Meaningful visuals through data combination Exporting with ease Developing a workflow Reproducible and shareable science.