Flash cards
Review the key moves
1/3
Core idea
What is the main idea behind Python Python Built-in Modules?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
1Quick choice
Which statement best captures the main point of this lesson?
2Order
Put the learning moves in the order that makes the concept easiest to apply.
These modules are available without extra installation (some are platform-dependent).
This page lists the built-in modules that ship with the Python 3.
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 |
|---|---|---|
| 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 |