Python networking libraries for acquiring data
The vast majority of geospatial data sharing is accomplished via the Internet. And Python is well equipped when it comes to networking libraries for almost any protocol. Automated data downloads are often an important step in automating a geospatial process. Data is typically retrieved from a website Uniform Resource Locator (URL) or a File Transfer Protocol (FTP) server. And because geospatial datasets often contain multiple files, data is often distributed as ZIP files.
A nice feature of Python is its concept of a file-like object. Most Python libraries which read and write data use a standard set of methods which allow you to access data from all different types of resources as if you were writing a simple file on disk. The networking modules in the Python standard library use this convention as well. The benefit of this approach is that it allows you to pass file-like objects to other libraries and methods, which recognize the convention...