.. _allos:

*********************************
Generic Operating System Services
*********************************

The modules described in this chapter provide interfaces to operating system
features that are available on (almost) all operating systems, such as files and
a clock.  The interfaces are generally modeled after the Unix or C interfaces,
but they are available on most other systems as well.  Here's an overview:


.. toctree::

   os.rst
   io.rst
   time.rst
   argparse.rst
   getopt.rst
   logging.rst
   logging.config.rst
   logging.handlers.rst
   getpass.rst
   curses.rst
   curses.ascii.rst
   curses.panel.rst
   platform.rst
   errno.rst
   ctypes.rst
