of the html generator tools we'll meet laterincluding htmlgen ( system for creating html from document object treesand psp (python server pagesa server-side html templating system for python similar to php and aspfor ease of maintenanceit might also be better to split the cgi script' html code off to separate file in order to better divide display from logic (different parties with possibly different skill sets could work on the different filesmoreoverif this website might be accessed by many people simultaneouslywe would have to add file locking or move to database such as zodb or mysql to support concurrent updates zodb and other full-blown database systems would also provide transaction rollbacks in the event of failures for basic file lockingthe os open call and its flags provide the tools we need orms (object relational mappersfor python such as sqlobject and sqlalchemy mentioned earlier might also allow us to gain concurrent update support of an underlying relational database systembut retain our python class view of the data in the endif our site grows much beyond few interactive pageswe might also migrate from basic cgi scripting to more complete web framework such as one of those mentioned at the start of this section-djangoturbogearspyjamasand others if we must retain information across pagestools such as cookieshidden inputsmod_python session dataand fastcgi may help too if our site eventually includes content produced by its own userswe might transition to plonea popular open source pythonand zope-based site builder thatusing workflow modeldelegates control of site content to its producers and if wireless or cloud interfaces are on our agendawe might eventually migrate our system to cell phones using python port such as those available for scripting nokia platforms and google' androidor to cloud-computing platform such as google' python-friendly app engine python tends to go wherever technology trends lead for nowthoughboth the gui and web-based interfaces we've coded get the job done the end of the demo and that concludes our sneak preview demo of python in action we've explored data representationoopobject persistenceguisand website basics we haven' studied any of these topics in any great depth hopefullythoughthis has piqued your curiosity about python applications programming in the rest of this bookwe'll delve into these and other application programming tools and topicsin order to help you put python to work in your own programs in the next we begin our tour with the systems programming and administration tools available to python programmers the end of the demo