1.. _library-intro:
2
3************
4Introduction
5************
6
7The "Python library" contains several different kinds of components.
8
9It contains data types that would normally be considered part of the "core" of a
10language, such as numbers and lists.  For these types, the Python language core
11defines the form of literals and places some constraints on their semantics, but
12does not fully define the semantics.  (On the other hand, the language core does
13define syntactic properties like the spelling and priorities of operators.)
14
15The library also contains built-in functions and exceptions --- objects that can
16be used by all Python code without the need of an :keyword:`import` statement.
17Some of these are defined by the core language, but many are not essential for
18the core semantics and are only described here.
19
20The bulk of the library, however, consists of a collection of modules. There are
21many ways to dissect this collection.  Some modules are written in C and built
22in to the Python interpreter; others are written in Python and imported in
23source form.  Some modules provide interfaces that are highly specific to
24Python, like printing a stack trace; some provide interfaces that are specific
25to particular operating systems, such as access to specific hardware; others
26provide interfaces that are specific to a particular application domain, like
27the World Wide Web. Some modules are available in all versions and ports of
28Python; others are only available when the underlying system supports or
29requires them; yet others are available only when a particular configuration
30option was chosen at the time when Python was compiled and installed.
31
32This manual is organized "from the inside out:" it first describes the built-in
33functions, data types and exceptions, and finally the modules, grouped in
34chapters of related modules.
35
36This means that if you start reading this manual from the start, and skip to the
37next chapter when you get bored, you will get a reasonable overview of the
38available modules and application areas that are supported by the Python
39library.  Of course, you don't *have* to read it like a novel --- you can also
40browse the table of contents (in front of the manual), or look for a specific
41function, module or term in the index (in the back).  And finally, if you enjoy
42learning about random subjects, you choose a random page number (see module
43:mod:`random`) and read a section or two.  Regardless of the order in which you
44read the sections of this manual, it helps to start with chapter
45:ref:`built-in-funcs`, as the remainder of the manual assumes familiarity with
46this material.
47
48Let the show begin!
49
50
51.. _availability:
52
53Notes on availability
54=====================
55
56* An "Availability: Unix" note means that this function is commonly found on
57  Unix systems.  It does not make any claims about its existence on a specific
58  operating system.
59
60* If not separately noted, all functions that claim "Availability: Unix" are
61  supported on Mac OS X, which builds on a Unix core.
62
63