associated library module since grailadditional tools have been added to python' library for parsing xml filesopenssl secure socketsand more but much of python' internet support can be traced back to the grail browser--another example of python' support for code reuse at work at this writingyou can still find the grail by searching for "grail web browserat your favorite web search engine python internet development options although many are outside our scope herethere are variety of ways that python programmers script the web just as we did for guisi want to begin with quick overview of some of the more popular tools in this domain before we jump into the fundamentals networking tools as we'll see in this python comes with tools the support basic networkingas well as implementation of custom types of network servers this includes socketsbut also the select call for asynchronous serversas well as higher-order and pre-coded socket server classes standard library modules socketselectand socketserver support all these roles client-side protocol tools as we'll see in the next python' internet arsenal also includes canned support for the client side of most standard internet protocols--scripts can easily make use of ftpemailhttptelnetand more especially when wedded to desktop guis of the sort we met in the preceding part of this bookthese tools open the door to full-featured and highly responsive web-aware applications server-side cgi scripting perhaps the simplest way to implement interactive website behaviorcgi scripting is an application model for running scripts on servers to process form datatake action based upon itand produce reply pages we'll use it later in this part of the book it' supported by python' standard library directlyis the basis for much of what happens on the weband suffices for simpler site development tasks raw cgi scripting doesn' by itself address issues such as cross-page state retention and concurrent updatesbut cgi scripts that use devices like cookies and database systems often can web frameworks and clouds for more demanding web workframeworks can automate many of the low-level details and provide more structured and powerful techniques for dynamic site implementation beyond basic cgi scriptsthe python world is flush with third-party web frameworks such as django-- high-level framework that encourages rapid development and cleanpragmatic design and includes dynamic database access python internet development options