Python Python Built-in Modules
This page lists the built-in modules that ship with the Python 3.13 Standard Library.
These modules are available without extra installation (some are platform-dependent).
A
Module |
Description |
Introduced |
abc | Tools for defining Abstract Base Classes (interfaces for Python classes). | 2.6 |
aifc | Read and write AIFF/AIFF-C audio files. | 1.5.2 |
argparse | Parse command line arguments and create user-friendly CLIs. | 2.7 |
array | Efficient arrays of basic numeric types (compact alternative to lists). | 1.0 |
ast | Work with Python code as an Abstract Syntax Tree (analyze or transform code). | 2.6 |
asyncio | Write concurrent code using the async/await syntax (event loop, tasks, IO). | 3.4 |
atexit | Register functions to run automatically when the program exits. | 2.0 |
B
Module |
Description |
Introduced |
base64 | Encode and decode data using Base16, Base32, Base64, etc. | 2.0 |
bdb | Debugger framework used by pdb (implements the core debugging logic). | — |
binascii | Convert between binary and ASCII (hex, base64 helpers at C speed). | 2.0 |
bisect | Maintain sorted lists; insert and search with binary search. | 2.0 |
builtins | Access Python’s built-in objects like len, range, and exceptions. | 3.0 |
bz2 | Read and write bzip2-compressed files and streams. | 2.3 |
C
Module |
Description |
Introduced |
calendar | Work with dates as calendars; print text calendars and compute month info. | 2.0 |
cgi | Helpers for Common Gateway Interface (legacy web server scripts). | 2.0 |
cgitb | Pretty tracebacks for CGI scripts (HTML formatted error reports). | — |
cmd | Build simple line-oriented command interpreters (REPL-like shells). | 2.0 |
code | Run an interactive interpreter or embed one in your program. | 2.0 |
codecs | Text encodings and decoding/encoding helpers. | 2.0 |
codeop | Compile Python code objects conditionally (used by code editors and shells). | 2.0 |
collections | High-performance container datatypes like deque, Counter, namedtuple. | 2.4 |
colorsys | Convert between color systems: RGB, YIQ, HLS, HSV. | 2.0 |
concurrent | Concurrency framework (futures) for running callables asynchronously. | 3.2 |
configparser | Read and write INI-style configuration files. | 3.0 |
contextlib | Utilities for context managers and the with-statement. | 2.5 |
contextvars | Context-local storage for async code (like thread-local, but for tasks). | 3.7 |
copy | Shallow and deep copy operations for Python objects. | 2.0 |
copyreg | Register custom pickling functions for complex objects. | 3.0 |
csv | Read and write CSV files (comma-separated values) with ease. | 2.3 |
ctypes | Call C libraries and work with C-compatible data types. | 2.5 |
curses | Terminal handling for character-cell UIs (Unix-like systems only). | 2.0 |
D
Module |
Description |
Introduced |
dataclasses | Decorator and helpers for classes that store data (auto-generate init, repr, etc.). | 3.7 |
datetime | Dates, times, time zones, and timedeltas made simple and precise. | 2.3 |
dbm | Family of simple on-disk key/value databases (backed by platform libs). | 2.0 |
decimal | Fixed-point and floating decimal arithmetic for money and exact math. | 2.4 |
difflib | Compare sequences and create human-readable diffs. | 2.1 |
dis | Disassemble Python bytecode for inspection and debugging. | 2.0 |
doctest | Test examples embedded in docstrings (keeps docs and code in sync). | 2.1 |
E
Module |
Description |
Introduced |
email | Parse, build, and send email messages (headers, MIME, attachments). | 2.2 |
encodings | Implementation of text encodings used by Python’s codec system. | 2.0 |
ensurepip | Bootstraps pip into a Python installation. | 3.4 |
enum | Define enumerations (named constants) with nice semantics. | 3.4 |
errno | Standard error number constants from the OS. | 2.0 |
F
Module |
Description |
Introduced |
faulthandler | Dump Python tracebacks on a crash or on demand (helps debug hard faults). | 3.3 |
filecmp | Compare files and directories to see what changed. | 2.0 |
fileinput | Loop over lines from stdin or a list of files as a single stream. | 2.0 |
fnmatch | Match filenames using shell-style wildcards. | 2.0 |
fractions | Rational numbers (Fractions) for exact arithmetic. | 2.6 |
ftplib | FTP client library for transferring files. | 2.0 |
functools | Higher-order functions and utilities (lru_cache, partial, wraps, etc.). | 2.5 |
G
Module |
Description |
Introduced |
gc | Control the garbage collector and inspect tracked objects. | 2.0 |
getopt | Parse command-line options (POSIX-style). | 1.5.2 |
getpass | Prompt for a password without echoing it to the console. | 2.0 |
gettext | Internationalization (i18n) support for translating messages. | 2.3 |
glob | Find pathnames matching a pattern like *.py. | 2.0 |
graphlib | Topological sorting utilities for dependency graphs. | 3.9 |
gzip | Read and write gzip-compressed files and streams. | 2.0 |
H
Module |
Description |
Introduced |
hashlib | Secure hashes and message digests (SHA, MD5, BLAKE2, etc.). | 2.5 |
heapq | Heap queue (priority queue) algorithms on plain lists. | 2.3 |
hmac | Keyed-hash message authentication codes (HMAC). | 2.2 |
html | HTML helpers (escape/unescape text). | 3.2 |
http | HTTP modules package (client, server, cookies). | 3.0 |
I
Module |
Description |
Introduced |
idlelib | Support for the IDLE interactive Python environment. | — |
imaplib | IMAP4 client library for accessing email servers. | 2.0 |
imghdr | Determine the type of an image file. | 2.0 |
imp | Access the import internals (deprecated; use importlib). | — |
importlib | Programmatic interface to Python’s import mechanism. | 3.1 |
inspect | Inspect live objects such as modules, classes, and functions. | — |
io | Input/Output streams and buffering (text and binary). | 2.6 |
J
Module |
Description |
Introduced |
json | Encode and decode JSON data (JavaScript Object Notation). | 2.6 |
K
Module |
Description |
Introduced |
keyword | Test for Python keywords; list all keywords. | — |
L
Module |
Description |
Introduced |
linecache | Read text lines from files with random access. | 2.0 |
locale | Internationalization (i18n) support for formatting numbers and dates. | 2.0 |
logging | Flexible event logging system with various handlers. | 2.3 |
lzma | Compression using the LZMA algorithm (xz format). | 3.3 |
M
Module |
Description |
Introduced |
mailbox | Work with various mailbox formats (mbox, Maildir, etc.). | 2.3 |
mailcap | Read mailcap files (MIME handlers configuration). | 2.0 |
marshal | Read and write Python values in a binary format (for .pyc internals). | — |
math | Fast math functions: trigonometry, logarithms, constants, etc. | — |
mimetypes | Guess a file’s type based on its filename or URL. | 2.0 |
mmap | Memory-map files for efficient random access. | 2.0 |
modulefinder | Find modules used by a script (dependency scanning). | — |
msilib | Create and read Microsoft Installer (.msi) files (Windows only). | — |
msvcrt | Access to Microsoft C runtime routines (Windows only). | — |
multiprocessing | Run code in parallel using processes (bypass the GIL). | 2.6 |
N
Module |
Description |
Introduced |
netrc | Parse .netrc files for machine login credentials. | 2.0 |
nntplib | Client for NNTP (Usenet) news servers. | 2.0 |
numbers | Abstract base classes for numeric types. | 2.6 |
nis | Interface to Sun’s NIS (Yellow Pages) service (Unix platforms). | — |
ntpath | Windows path operations (used by os.path on Windows). | 2.0 |
O
Module |
Description |
Introduced |
operator | Functional interface to operators (add, mul, itemgetter, attrgetter). | 1.5.2 |
optparse | Deprecated parser for command line options (use argparse). | 2.3 |
os | Operating system interfaces: files, environment, processes. | — |
P
Module |
Description |
Introduced |
pathlib | Object-oriented filesystem paths. | 3.4 |
pdb | Interactive debugger for Python programs. | 2.0 |
pickle | Serialize and deserialize Python objects (not secure against untrusted data). | 2.0 |
pickletools | Tools for analyzing pickled data. | 2.3 |
pipes | Pipe shell commands together (Unix). | 2.0 |
pkgutil | Utilities for packages: walk packages, find loaders, etc. | 2.3 |
platform | Access to underlying platform information. | 2.3 |
plistlib | Read and write Apple .plist files. | 2.6 |
poplib | POP3 email client. | 2.0 |
posix | POSIX APIs (Unix-only, low-level). | 2.0 |
pprint | Pretty-print Python data structures. | 2.0 |
profile | Deterministic profiling of Python programs. | 2.0 |
pstats | Work with profiling results produced by profile/cProfile. | 2.0 |
pty | Pseudo-terminal utilities (Unix). | 2.0 |
pyclbr | Read module to get class browser information without importing it. | 2.0 |
pydoc | Generate and view Python documentation. | 2.1 |
py_compile | Compile Python source files to bytecode. | 2.0 |
Q
Module |
Description |
Introduced |
queue | Thread-safe FIFO/LIFO/priority queues. | 2.6 |
quopri | Encode/decode MIME quoted-printable data. | 2.0 |
R
Module |
Description |
Introduced |
random | Generate pseudo-random numbers for various distributions. | 2.0 |
re | Regular expression operations for pattern matching in strings. | 2.0 |
reprlib | Safe string representations for large or recursive structures. | 3.0 |
resource | Control and query system resource limits (Unix). | 2.0 |
rlcompleter | Tab-completion support for the interactive interpreter. | 2.0 |
runpy | Run modules as scripts (like python -m). | 2.5 |
S
Module |
Description |
Introduced |
sched | Event scheduler for running functions at specific times. | 2.0 |
secrets | Generate cryptographically strong random numbers and tokens. | 3.6 |
select | Low-level I/O multiplexing (select, poll, epoll, kqueue). | 2.0 |
selectors | High-level I/O multiplexing built on select module. | 3.4 |
shelve | Simple persistent storage for Python objects (dict-like API). | 2.0 |
shlex | Parse shell-like syntaxes into tokens. | 2.0 |
shutil | High-level file operations: copy, move, archive, disk usage. | 2.0 |
signal | Set handlers for asynchronous signals. | 2.0 |
site | Site-specific configuration hook that runs at startup. | 2.0 |
smtplib | Send emails using the SMTP protocol. | 2.0 |
socket | Low-level networking interface. | 2.0 |
socketserver | Framework for network servers (TCP/UDP). | 3.0 |
sqlite3 | Built-in lightweight SQL database (SQLite). | 2.5 |
ssl | TLS/SSL wrapper for secure network connections. | 2.6 |
stat | Constants and helpers for interpreting os.stat() results. | 2.0 |
statistics | Basic statistics (mean, median, stdev). | 3.4 |
string | Common string constants and helpers. | 2.0 |
stringprep | String preparation for internet protocols (IDNA). | 2.3 |
struct | Convert between Python values and C structs packed as bytes. | 2.0 |
subprocess | Spawn new processes and connect to their input/output/error pipes. | 2.4 |
sunau | Read and write Sun AU audio files. | 2.0 |
symtable | Access the compiler's internal symbol tables. | 2.6 |
sys | Access to interpreter variables and functions. | — |
sysconfig | Access Python's configuration information. | 3.2 |
T
Module |
Description |
Introduced |
tabnanny | Detect ambiguous indentation in Python source files. | 2.0 |
tarfile | Read and write tar archives, including gzip/bz2/xz. | 2.3 |
telnetlib | Telnet client implementation. | 2.0 |
tempfile | Create temporary files and directories safely. | 2.0 |
termios | POSIX terminal control (Unix). | 2.0 |
test | Regression tests package for the Python standard library. | 2.0 |
textwrap | Wrap and fill text paragraphs. | 2.3 |
threading | Higher-level threading interface (locks, events, threads). | 2.0 |
time | Time access and conversions. | — |
timeit | Measure execution time of small code snippets. | 2.3 |
tkinter | Standard GUI toolkit (Tk interface) package. | 3.0 |
token | Token constants used by the Python tokenizer. | 2.0 |
tokenize | Turn Python source into tokens (lexical scanner). | 2.0 |
tomllib | Read TOML files into Python data structures. | 3.11 |
trace | Trace program execution and produce coverage reports. | 2.0 |
traceback | Print or retrieve stack traces. | 2.0 |
tracemalloc | Track memory allocations to find leaks and hotspots. | 3.4 |
tty | Terminal control functions (Unix). | 2.0 |
turtle | Simple graphics library for teaching and fun. | 2.5 |
types | Names for built-in types and helper factories. | 2.0 |
typing | Type hints and typing helpers for static analysis and tooling. | 3.5 |
U
Module |
Description |
Introduced |
unicodedata | Access the Unicode Character Database (properties, normalization). | 2.0 |
unittest | Unit testing framework (xUnit style) for Python. | 2.1 |
urllib | Package for working with URLs (requests, parsing, robots). | 2.0 |
uuid | Generate universally unique identifiers (UUIDs). | 2.5 |
V
Module |
Description |
Introduced |
venv | Create lightweight isolated Python environments. | 3.3 |
W
Module |
Description |
Introduced |
warnings | Issue and control warning messages. | 2.0 |
wave | Read and write WAV audio files. | 2.0 |
weakref | Weak references to objects (avoid reference cycles). | 2.0 |
webbrowser | Open URLs in a web browser. | 2.0 |
wsgiref | WSGI utilities and simple reference server for web apps. | 2.3 |
X
Module |
Description |
Introduced |
xdrlib | Pack and unpack XDR data (External Data Representation). | 2.0 |
xml | XML processing package. | 2.0 |
xmlrpc | XML-RPC client and server package. | 2.2 |
Z
Module |
Description |
Introduced |
zipapp | Create executable Python zip applications. | 3.5 |
zipfile | Read and write ZIP archives. | 2.0 |
zipimport | Import modules from ZIP archives. | 2.3 |
zlib | Compress and decompress data using zlib. | 2.0 |
zoneinfo | IANA time zone support for datetime. | 3.9 |
Note: This page lists Python 3.13 Standard Library modules. Some modules are platform-specific (Unix/Windows) or optional at build time.