Python 3 Standard Library
Introduction
Built-in Functions
Built-in Constants
Built-in Types
- Truth Value Testing
- Boolean Operations ---
and
,or
,not
- Comparisons
- Numeric Types ---
int
,float
,complex
- Iterator Types
- Sequence Types ---
list
,tuple
,range
- Text Sequence Type ---
str
- Binary Sequence Types ---
bytes
,bytearray
,memoryview
- Set Types ---
set
,frozenset
- Mapping Types ---
dict
- Context Manager Types
- Type Annotation Types --- Generic Alias, Union
- Other Built-in Types
- Special Attributes
Built-in Exceptions
- Exception context
- Inheriting from built-in exceptions
- Base classes
- Concrete exceptions
- Warnings
- Exception hierarchy
Text Processing Services
string
--- Common string operationsre
--- Regular expression operationsdifflib
--- Helpers for computing deltastextwrap
--- Text wrapping and fillingunicodedata
--- Unicode Databasestringprep
--- Internet String Preparationreadline
--- GNU readline interfacerlcompleter
--- Completion function for GNU readline
Binary Data Services
Data Types
datetime
--- Basic date and time typeszoneinfo
--- IANA time zone supportcalendar
--- General calendar-related functionscollections
--- Container datatypescollections.abc
--- Abstract Base Classes for Containersheapq
--- Heap queue algorithmbisect
--- Array bisection algorithmarray
--- Efficient arrays of numeric valuesweakref
--- Weak referencestypes
--- Dynamic type creation and names for built-in typescopy
--- Shallow and deep copy operationspprint
--- Data pretty printerreprlib
--- Alternaterepr()
implementationenum
--- Support for enumerationsgraphlib
--- Functionality to operate with graph-like structures
Numeric and Mathematical Modules
numbers
--- Numeric abstract base classesmath
--- Mathematical functionscmath
--- Mathematical functions for complex numbersdecimal
--- Decimal fixed point and floating point arithmeticfractions
--- Rational numbersrandom
--- Generate pseudo-random numbersstatistics
--- Mathematical statistics functions
Functional Programming Modules
itertools
--- Functions creating iterators for efficient loopingfunctools
--- Higher-order functions and operations on callable objectsoperator
--- Standard operators as functions
File and Directory Access
pathlib
--- Object-oriented filesystem pathsos.path
--- Common pathname manipulationsfileinput
--- Iterate over lines from multiple input streamsstat
--- Interpretingstat()
resultsfilecmp
--- File and Directory Comparisonstempfile
--- Generate temporary files and directoriesglob
--- Unix style pathname pattern expansionfnmatch
--- Unix filename pattern matchinglinecache
--- Random access to text linesshutil
--- High-level file operations
Data Persistence
pickle
--- Python object serializationcopyreg
--- Registerpickle
support functionsshelve
--- Python object persistencemarshal
--- Internal Python object serializationdbm
--- Interfaces to Unix "databases"sqlite3
--- DB-API 2.0 interface for SQLite databases
Data Compression and Archiving
zlib
--- Compression compatible with gzipgzip
--- Support for gzip filesbz2
--- Support for bzip2 compressionlzma
--- Compression using the LZMA algorithmzipfile
--- Work with ZIP archivestarfile
--- Read and write tar archive files
File Formats
csv
--- CSV File Reading and Writingconfigparser
--- Configuration file parsernetrc
--- netrc file processingplistlib
--- Generate and parse Apple.plist
files
Cryptographic Services
hashlib
--- Secure hashes and message digestshmac
--- Keyed-Hashing for Message Authenticationsecrets
--- Generate secure random numbers for managing secrets
Generic Operating System Services
os
--- Miscellaneous operating system interfacesio
--- Core tools for working with streamstime
--- Time access and conversionsargparse
--- Parser for command-line options, arguments and sub-commandsgetopt
--- C-style parser for command line optionslogging
--- Logging facility for Pythonlogging.config
--- Logging configurationlogging.handlers
--- Logging handlersgetpass
--- Portable password inputcurses
--- Terminal handling for character-cell displayscurses.textpad
--- Text input widget for curses programscurses.ascii
--- Utilities for ASCII characterscurses.panel
--- A panel stack extension for cursesplatform
--- Access to underlying platform's identifying dataerrno
--- Standard errno system symbolsctypes
--- A foreign function library for Python
Concurrent Execution
threading
--- Thread-based parallelismmultiprocessing
--- Process-based parallelismmultiprocessing.shared_memory
--- Shared memory for direct access across processes- The
concurrent
package concurrent.futures
--- Launching parallel taskssubprocess
--- Subprocess managementsched
--- Event schedulerqueue
--- A synchronized queue classcontextvars
--- Context Variables_thread
--- Low-level threading API
Networking and Interprocess Communication
asyncio
--- Asynchronous I/Osocket
--- Low-level networking interfacessl
--- TLS/SSL wrapper for socket objectsselect
--- Waiting for I/O completionselectors
--- High-level I/O multiplexingsignal
--- Set handlers for asynchronous eventsmmap
--- Memory-mapped file support
Internet Data Handling
email
--- An email and MIME handling packagejson
--- JSON encoder and decodermailbox
--- Manipulate mailboxes in various formatsmimetypes
--- Map filenames to MIME typesbase64
--- Base16, Base32, Base64, Base85 Data Encodingsbinhex
--- Encode and decode binhex4 filesbinascii
--- Convert between binary and ASCIIquopri
--- Encode and decode MIME quoted-printable data
Structured Markup Processing Tools
html
--- HyperText Markup Language supporthtml.parser
--- Simple HTML and XHTML parserhtml.entities
--- Definitions of HTML general entities- XML Processing Modules
xml.etree.ElementTree
--- The ElementTree XML APIxml.dom
--- The Document Object Model APIxml.dom.minidom
--- Minimal DOM implementationxml.dom.pulldom
--- Support for building partial DOM treesxml.sax
--- Support for SAX2 parsersxml.sax.handler
--- Base classes for SAX handlersxml.sax.saxutils
--- SAX Utilitiesxml.sax.xmlreader
--- Interface for XML parsersxml.parsers.expat
--- Fast XML parsing using Expat
Internet Protocols and Support
webbrowser
--- Convenient web-browser controllerwsgiref
--- WSGI Utilities and Reference Implementationurllib
--- URL handling modulesurllib.request
--- Extensible library for opening URLsurllib.response
--- Response classes used by urlliburllib.parse
--- Parse URLs into componentsurllib.error
--- Exception classes raised by urllib.requesturllib.robotparser
--- Parser for robots.txthttp
--- HTTP moduleshttp.client
--- HTTP protocol clientftplib
--- FTP protocol clientpoplib
--- POP3 protocol clientimaplib
--- IMAP4 protocol clientsmtplib
--- SMTP protocol clientuuid
--- UUID objects according to RFC 4122socketserver
--- A framework for network servershttp.server
--- HTTP servershttp.cookies
--- HTTP state managementhttp.cookiejar
--- Cookie handling for HTTP clientsxmlrpc
--- XMLRPC server and client modulesxmlrpc.client
--- XML-RPC client accessxmlrpc.server
--- Basic XML-RPC serversipaddress
--- IPv4/IPv6 manipulation library
Multimedia Services
Internationalization
Program Frameworks
turtle
--- Turtle graphicscmd
--- Support for line-oriented command interpretersshlex
--- Simple lexical analysis
Graphical User Interfaces with Tk
tkinter
--- Python interface to Tcl/Tktkinter.colorchooser
--- Color choosing dialogtkinter.font
--- Tkinter font wrapper- Tkinter Dialogs
tkinter.messagebox
--- Tkinter message promptstkinter.scrolledtext
--- Scrolled Text Widgettkinter.dnd
--- Drag and drop supporttkinter.ttk
--- Tk themed widgetstkinter.tix
--- Extension widgets for Tk- IDLE
Development Tools
typing
--- Support for type hintspydoc
--- Documentation generator and online help system- Python Development Mode
- Effects of the Python Development Mode
- ResourceWarning Example
- Bad file descriptor error example
doctest
--- Test interactive Python examplesunittest
--- Unit testing frameworkunittest.mock
--- mock object libraryunittest.mock
--- getting started- 2to3 --- Automated Python 2 to 3 code translation
test
--- Regression tests package for Pythontest.support
--- Utilities for the Python test suitetest.support.socket_helper
--- Utilities for socket teststest.support.script_helper
--- Utilities for the Python execution teststest.support.bytecode_helper
--- Support tools for testing correct bytecode generationtest.support.threading_helper
--- Utilities for threading teststest.support.os_helper
--- Utilities for os teststest.support.import_helper
--- Utilities for import teststest.support.warnings_helper
--- Utilities for warnings tests
Debugging and Profiling
- Audit events table
bdb
--- Debugger frameworkfaulthandler
--- Dump the Python tracebackpdb
--- The Python Debugger- The Python Profilers
timeit
--- Measure execution time of small code snippetstrace
--- Trace or track Python statement executiontracemalloc
--- Trace memory allocations
Software Packaging and Distribution
distutils
--- Building and installing Python modulesensurepip
--- Bootstrapping thepip
installervenv
--- Creation of virtual environmentszipapp
--- Manage executable Python zip archives
Python Runtime Services
sys
--- System-specific parameters and functionssysconfig
--- Provide access to Python's configuration informationbuiltins
--- Built-in objects__main__
--- Top-level code environmentwarnings
--- Warning controldataclasses
--- Data Classescontextlib
--- Utilities forwith
-statement contextsabc
--- Abstract Base Classesatexit
--- Exit handlerstraceback
--- Print or retrieve a stack traceback__future__
--- Future statement definitionsgc
--- Garbage Collector interfaceinspect
--- Inspect live objectssite
--- Site-specific configuration hook
Custom Python Interpreters
Importing Modules
zipimport
--- Import modules from Zip archivespkgutil
--- Package extension utilitymodulefinder
--- Find modules used by a scriptrunpy
--- Locating and executing Python modulesimportlib
--- The implementation ofimport
- Using
importlib.metadata
Python Language Services
ast
--- Abstract Syntax Treessymtable
--- Access to the compiler's symbol tablestoken
--- Constants used with Python parse treeskeyword
--- Testing for Python keywordstokenize
--- Tokenizer for Python sourcetabnanny
--- Detection of ambiguous indentationpyclbr
--- Python module browser supportpy_compile
--- Compile Python source filescompileall
--- Byte-compile Python librariesdis
--- Disassembler for Python bytecodepickletools
--- Tools for pickle developers
MS Windows Specific Services
msvcrt
--- Useful routines from the MS VC++ runtimewinreg
--- Windows registry accesswinsound
--- Sound-playing interface for Windows
Unix Specific Services
posix
--- The most common POSIX system callspwd
--- The password databasegrp
--- The group databasetermios
--- POSIX style tty controltty
--- Terminal control functionspty
--- Pseudo-terminal utilitiesfcntl
--- Thefcntl
andioctl
system callsresource
--- Resource usage informationsyslog
--- Unix syslog library routines
Superseded Modules
aifc
--- Read and write AIFF and AIFC filesasynchat
--- Asynchronous socket command/response handlerasyncore
--- Asynchronous socket handleraudioop
--- Manipulate raw audio datacgi
--- Common Gateway Interface supportcgitb
--- Traceback manager for CGI scriptschunk
--- Read IFF chunked datacrypt
--- Function to check Unix passwordsimghdr
--- Determine the type of an imageimp
--- Access the import internalsmailcap
--- Mailcap file handlingmsilib
--- Read and write Microsoft Installer filesnis
--- Interface to Sun's NIS (Yellow Pages)nntplib
--- NNTP protocol clientoptparse
--- Parser for command line optionsossaudiodev
--- Access to OSS-compatible audio devicespipes
--- Interface to shell pipelinessmtpd
--- SMTP Serversndhdr
--- Determine type of sound filespwd
--- The shadow password databasesunau
--- Read and write Sun AU filestelnetlib
--- Telnet clientuu
--- Encode and decode uuencode filesxdrlib
--- Encode and decode XDR data