#
3. Python Runtime Services

The modules described in this chapter provide a wide range of services related to the Python interpreter and its interaction with its environment. Here's an overview:

`sys` |  | Access system-specific parameters and functions.
`gc` |  | Interface to the cycle-detecting garbage collector.
`weakref` |  | Support for weak references and weak dictionaries.
`fpectl` |  | Provide control for floating point exception handling.
`atexit` |  | Register and execute cleanup functions.
`types` |  | Names for all built-in types.
`UserDict` |  | Class wrapper for dictionary objects.
`UserList` |  | Class wrapper for list objects.
`UserString` |  | Class wrapper for string objects.
`operator` |  | All Python's standard operators as built-in functions.
`inspect` |  | Extract information and source code from live objects.
`traceback` |  | Print or retrieve a stack traceback.
`linecache` |  | This module provides random access to individual lines from text files.
`pickle` |  | Convert Python objects to streams of bytes and back.
`cPickle` |  | Faster version of `pickle`, but not subclassable.
`copy_reg` |  | Register `pickle` support functions.
`shelve` |  | Python object persistence.
`copy` |  | Shallow and deep copy operations.
`marshal` |  | Convert Python objects to streams of bytes and back (with different constraints).
`warnings` |  | Issue warning messages and control their disposition.
`imp` |  | Access the implementation of the `import` statement.
`code` |  | Base classes for interactive Python interpreters.
`codeop` |  | Compile (possibly incomplete) Python code.
`pprint` |  | Data pretty printer.
`repr` |  | Alternate `repr()` implementation with size limits.
`new` |  | Interface to the creation of runtime implementation objects.
`site` |  | A standard way to reference site-specific modules.
`user` |  | A standard way to reference user-specific modules.
`__builtin__` |  | The set of built-in functions.
`__main__` |  | The environment where the top-level script is run.