Python Documentation contents¶
- What’s New in Python
- What’s new in Python 3.14
- What’s New In Python 3.13
- Summary – Release Highlights
- New Features
- Other Language Changes
- New Modules
- Improved Modules
- argparse
- array
- ast
- asyncio
- base64
- compileall
- concurrent.futures
- configparser
- copy
- ctypes
- dbm
- dis
- doctest
- enum
- fractions
- glob
- importlib
- io
- ipaddress
- itertools
- marshal
- math
- mimetypes
- mmap
- multiprocessing
- os
- os.path
- pathlib
- pdb
- queue
- random
- re
- shutil
- site
- sqlite3
- ssl
- statistics
- subprocess
- sys
- tempfile
- time
- tkinter
- traceback
- types
- typing
- unicodedata
- venv
- warnings
- xml
- zipimport
- Optimizations
- Removed Modules And APIs
- New Deprecations
- CPython Bytecode Changes
- C API Changes
- Build Changes
- Porting to Python 3.13
- Regression Test Changes
- What’s New In Python 3.12
- What’s New In Python 3.11
- Summary – Release highlights
- New Features
- New Features Related to Type Hints
- Other Language Changes
- Other CPython Implementation Changes
- New Modules
- Improved Modules
- Optimizations
- Faster CPython
- CPython bytecode changes
- Deprecated
- Pending Removal in Python 3.12
- Removed
- Porting to Python 3.11
- Build Changes
- C API Changes
- Notable changes in 3.11.4
- Notable changes in 3.11.5
- What’s New In Python 3.10
- Summary – Release highlights
- New Features
- New Features Related to Type Hints
- Other Language Changes
- New Modules
- Improved Modules
- asyncio
- argparse
- array
- asynchat, asyncore, smtpd
- base64
- bdb
- bisect
- codecs
- collections.abc
- contextlib
- curses
- dataclasses
- distutils
- doctest
- encodings
- enum
- fileinput
- faulthandler
- gc
- glob
- hashlib
- hmac
- IDLE and idlelib
- importlib.metadata
- inspect
- itertools
- linecache
- os
- os.path
- pathlib
- platform
- pprint
- py_compile
- pyclbr
- shelve
- statistics
- site
- socket
- ssl
- sqlite3
- sys
- _thread
- threading
- traceback
- types
- typing
- unittest
- urllib.parse
- xml
- zipimport
- Optimizations
- Deprecated
- Removed
- Porting to Python 3.10
- CPython bytecode changes
- Build Changes
- C API Changes
- Notable security feature in 3.10.7
- Notable security feature in 3.10.8
- Notable changes in 3.10.12
- What’s New In Python 3.9
- Summary – Release highlights
- You should check for DeprecationWarning in your code
- New Features
- Other Language Changes
- New Modules
- Improved Modules
- Optimizations
- Deprecated
- Removed
- Porting to Python 3.9
- Build Changes
- C API Changes
- Notable changes in Python 3.9.1
- Notable changes in Python 3.9.2
- Notable changes in Python 3.9.3
- Notable changes in Python 3.9.5
- Notable security feature in 3.9.14
- Notable changes in 3.9.17
- What’s New In Python 3.8
- Summary – Release highlights
- New Features
- Assignment expressions
- Positional-only parameters
- Parallel filesystem cache for compiled bytecode files
- Debug build uses the same ABI as release build
- f-strings support
=
for self-documenting expressions and debugging - PEP 578: Python Runtime Audit Hooks
- PEP 587: Python Initialization Configuration
- PEP 590: Vectorcall: a fast calling protocol for CPython
- Pickle protocol 5 with out-of-band data buffers
- Other Language Changes
- New Modules
- Improved Modules
- ast
- asyncio
- builtins
- collections
- cProfile
- csv
- curses
- ctypes
- datetime
- functools
- gc
- gettext
- gzip
- IDLE and idlelib
- inspect
- io
- itertools
- json.tool
- logging
- math
- mmap
- multiprocessing
- os
- os.path
- pathlib
- pickle
- plistlib
- pprint
- py_compile
- shlex
- shutil
- socket
- ssl
- statistics
- sys
- tarfile
- threading
- tokenize
- tkinter
- time
- typing
- unicodedata
- unittest
- venv
- weakref
- xml
- xmlrpc
- Optimizations
- Build and C API Changes
- Deprecated
- API and Feature Removals
- Porting to Python 3.8
- Notable changes in Python 3.8.1
- Notable changes in Python 3.8.2
- Notable changes in Python 3.8.3
- Notable changes in Python 3.8.8
- Notable changes in Python 3.8.9
- Notable changes in Python 3.8.10
- Notable changes in Python 3.8.10
- Notable changes in Python 3.8.12
- Notable security feature in 3.8.14
- Notable changes in 3.8.17
- What’s New In Python 3.7
- Summary – Release Highlights
- New Features
- PEP 563: Postponed Evaluation of Annotations
- PEP 538: Legacy C Locale Coercion
- PEP 540: Forced UTF-8 Runtime Mode
- PEP 553: Built-in
breakpoint()
- PEP 539: New C API for Thread-Local Storage
- PEP 562: Customization of Access to Module Attributes
- PEP 564: New Time Functions With Nanosecond Resolution
- PEP 565: Show DeprecationWarning in
__main__
- PEP 560: Core Support for
typing
module and Generic Types - PEP 552: Hash-based .pyc Files
- PEP 545: Python Documentation Translations
- Python Development Mode (-X dev)
- Other Language Changes
- New Modules
- Improved Modules
- argparse
- asyncio
- binascii
- calendar
- collections
- compileall
- concurrent.futures
- contextlib
- cProfile
- crypt
- datetime
- dbm
- decimal
- dis
- distutils
- enum
- functools
- gc
- hmac
- http.client
- http.server
- idlelib and IDLE
- importlib
- io
- ipaddress
- itertools
- locale
- logging
- math
- mimetypes
- msilib
- multiprocessing
- os
- pathlib
- pdb
- py_compile
- pydoc
- queue
- re
- signal
- socket
- socketserver
- sqlite3
- ssl
- string
- subprocess
- sys
- time
- tkinter
- tracemalloc
- types
- unicodedata
- unittest
- unittest.mock
- urllib.parse
- uu
- uuid
- warnings
- xml
- xml.etree
- xmlrpc.server
- zipapp
- zipfile
- C API Changes
- Build Changes
- Optimizations
- Other CPython Implementation Changes
- Deprecated Python Behavior
- Deprecated Python modules, functions and methods
- Deprecated functions and types of the C API
- Platform Support Removals
- API and Feature Removals
- Module Removals
- Windows-only Changes
- Porting to Python 3.7
- Notable changes in Python 3.7.1
- Notable changes in Python 3.7.2
- Notable changes in Python 3.7.6
- Notable changes in Python 3.7.10
- Notable changes in Python 3.7.11
- Notable security feature in 3.7.14
- What’s New In Python 3.6
- Summary – Release highlights
- New Features
- PEP 498: Formatted string literals
- PEP 526: Syntax for variable annotations
- PEP 515: Underscores in Numeric Literals
- PEP 525: Asynchronous Generators
- PEP 530: Asynchronous Comprehensions
- PEP 487: Simpler customization of class creation
- PEP 487: Descriptor Protocol Enhancements
- PEP 519: Adding a file system path protocol
- PEP 495: Local Time Disambiguation
- PEP 529: Change Windows filesystem encoding to UTF-8
- PEP 528: Change Windows console encoding to UTF-8
- PEP 520: Preserving Class Attribute Definition Order
- PEP 468: Preserving Keyword Argument Order
- New dict implementation
- PEP 523: Adding a frame evaluation API to CPython
- PYTHONMALLOC environment variable
- DTrace and SystemTap probing support
- Other Language Changes
- New Modules
- Improved Modules
- array
- ast
- asyncio
- binascii
- cmath
- collections
- concurrent.futures
- contextlib
- datetime
- decimal
- distutils
- encodings
- enum
- faulthandler
- fileinput
- hashlib
- http.client
- idlelib and IDLE
- importlib
- inspect
- json
- logging
- math
- multiprocessing
- os
- pathlib
- pdb
- pickle
- pickletools
- pydoc
- random
- re
- readline
- rlcompleter
- shlex
- site
- sqlite3
- socket
- socketserver
- ssl
- statistics
- struct
- subprocess
- sys
- telnetlib
- time
- timeit
- tkinter
- traceback
- tracemalloc
- typing
- unicodedata
- unittest.mock
- urllib.request
- urllib.robotparser
- venv
- warnings
- winreg
- winsound
- xmlrpc.client
- zipfile
- zlib
- Optimizations
- Build and C API Changes
- Other Improvements
- Deprecated
- Removed
- Porting to Python 3.6
- Notable changes in Python 3.6.2
- Notable changes in Python 3.6.4
- Notable changes in Python 3.6.5
- Notable changes in Python 3.6.7
- Notable changes in Python 3.6.10
- Notable changes in Python 3.6.13
- Notable changes in Python 3.6.14
- What’s New In Python 3.5
- Summary – Release highlights
- New Features
- PEP 492 - Coroutines with async and await syntax
- PEP 465 - A dedicated infix operator for matrix multiplication
- PEP 448 - Additional Unpacking Generalizations
- PEP 461 - percent formatting support for bytes and bytearray
- PEP 484 - Type Hints
- PEP 471 - os.scandir() function – a better and faster directory iterator
- PEP 475: Retry system calls failing with EINTR
- PEP 479: Change StopIteration handling inside generators
- PEP 485: A function for testing approximate equality
- PEP 486: Make the Python Launcher aware of virtual environments
- PEP 488: Elimination of PYO files
- PEP 489: Multi-phase extension module initialization
- Other Language Changes
- New Modules
- Improved Modules
- argparse
- asyncio
- bz2
- cgi
- cmath
- code
- collections
- collections.abc
- compileall
- concurrent.futures
- configparser
- contextlib
- csv
- curses
- dbm
- difflib
- distutils
- doctest
- enum
- faulthandler
- functools
- glob
- gzip
- heapq
- http
- http.client
- idlelib and IDLE
- imaplib
- imghdr
- importlib
- inspect
- io
- ipaddress
- json
- linecache
- locale
- logging
- lzma
- math
- multiprocessing
- operator
- os
- pathlib
- pickle
- poplib
- re
- readline
- selectors
- shutil
- signal
- smtpd
- smtplib
- sndhdr
- socket
- ssl
- sqlite3
- subprocess
- sys
- sysconfig
- tarfile
- threading
- time
- timeit
- tkinter
- traceback
- types
- unicodedata
- unittest
- unittest.mock
- urllib
- wsgiref
- xmlrpc
- xml.sax
- zipfile
- Other module-level changes
- Optimizations
- Build and C API Changes
- Deprecated
- Removed
- Porting to Python 3.5
- Notable changes in Python 3.5.4
- What’s New In Python 3.4
- Summary – Release Highlights
- New Features
- New Modules
- Improved Modules
- abc
- aifc
- argparse
- audioop
- base64
- collections
- colorsys
- contextlib
- dbm
- dis
- doctest
- filecmp
- functools
- gc
- glob
- hashlib
- hmac
- html
- http
- idlelib and IDLE
- importlib
- inspect
- ipaddress
- logging
- marshal
- mmap
- multiprocessing
- operator
- os
- pdb
- pickle
- plistlib
- poplib
- pprint
- pty
- pydoc
- re
- resource
- select
- shelve
- shutil
- smtpd
- smtplib
- socket
- sqlite3
- ssl
- stat
- struct
- subprocess
- sunau
- sys
- tarfile
- textwrap
- threading
- traceback
- types
- urllib
- unittest
- venv
- wave
- weakref
- xml.etree
- zipfile
- CPython Implementation Changes
- Deprecated
- Removed
- Porting to Python 3.4
- Changed in 3.4.3
- What’s New In Python 3.3
- Summary – Release highlights
- PEP 405: Virtual Environments
- PEP 420: Implicit Namespace Packages
- PEP 3118: New memoryview implementation and buffer protocol documentation
- PEP 393: Flexible String Representation
- PEP 397: Python Launcher for Windows
- PEP 3151: Reworking the OS and IO exception hierarchy
- PEP 380: Syntax for Delegating to a Subgenerator
- PEP 409: Suppressing exception context
- PEP 414: Explicit Unicode literals
- PEP 3155: Qualified name for classes and functions
- PEP 412: Key-Sharing Dictionary
- PEP 362: Function Signature Object
- PEP 421: Adding sys.implementation
- Using importlib as the Implementation of Import
- Other Language Changes
- A Finer-Grained Import Lock
- Builtin functions and types
- New Modules
- Improved Modules
- abc
- array
- base64
- binascii
- bz2
- codecs
- collections
- contextlib
- crypt
- curses
- datetime
- decimal
- ftplib
- functools
- gc
- hmac
- http
- html
- imaplib
- inspect
- io
- itertools
- logging
- math
- mmap
- multiprocessing
- nntplib
- os
- pdb
- pickle
- pydoc
- re
- sched
- select
- shlex
- shutil
- signal
- smtpd
- smtplib
- socket
- socketserver
- sqlite3
- ssl
- stat
- struct
- subprocess
- sys
- tarfile
- tempfile
- textwrap
- threading
- time
- types
- unittest
- urllib
- webbrowser
- xml.etree.ElementTree
- zlib
- Optimizations
- Build and C API Changes
- Deprecated
- Porting to Python 3.3
- What’s New In Python 3.2
- PEP 384: Defining a Stable ABI
- PEP 389: Argparse Command Line Parsing Module
- PEP 391: Dictionary Based Configuration for Logging
- PEP 3148: The
concurrent.futures
module - PEP 3147: PYC Repository Directories
- PEP 3149: ABI Version Tagged .so Files
- PEP 3333: Python Web Server Gateway Interface v1.0.1
- Other Language Changes
- New, Improved, and Deprecated Modules
- elementtree
- functools
- itertools
- collections
- threading
- datetime and time
- math
- abc
- io
- reprlib
- logging
- csv
- contextlib
- decimal and fractions
- ftp
- popen
- select
- gzip and zipfile
- tarfile
- hashlib
- ast
- os
- shutil
- sqlite3
- html
- socket
- ssl
- nntp
- certificates
- imaplib
- http.client
- unittest
- random
- poplib
- asyncore
- tempfile
- inspect
- pydoc
- dis
- dbm
- ctypes
- site
- sysconfig
- pdb
- configparser
- urllib.parse
- mailbox
- turtledemo
- Multi-threading
- Optimizations
- Unicode
- Codecs
- Documentation
- IDLE
- Code Repository
- Build and C API Changes
- Porting to Python 3.2
- What’s New In Python 3.1
- What’s New In Python 3.0
- What’s New in Python 2.7
- The Future for Python 2.x
- Changes to the Handling of Deprecation Warnings
- Python 3.1 Features
- PEP 372: Adding an Ordered Dictionary to collections
- PEP 378: Format Specifier for Thousands Separator
- PEP 389: The argparse Module for Parsing Command Lines
- PEP 391: Dictionary-Based Configuration For Logging
- PEP 3106: Dictionary Views
- PEP 3137: The memoryview Object
- Other Language Changes
- New and Improved Modules
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.7
- New Features Added to Python 2.7 Maintenance Releases
- Two new environment variables for debug mode
- PEP 434: IDLE Enhancement Exception for All Branches
- PEP 466: Network Security Enhancements for Python 2.7
- PEP 477: Backport ensurepip (PEP 453) to Python 2.7
- PEP 476: Enabling certificate verification by default for stdlib http clients
- PEP 493: HTTPS verification migration tools for Python 2.7
- New
make regen-all
build target - Removal of
make touch
build target
- Acknowledgements
- What’s New in Python 2.6
- Python 3.0
- Changes to the Development Process
- PEP 343: The ‘with’ statement
- PEP 366: Explicit Relative Imports From a Main Module
- PEP 370: Per-user
site-packages
Directory - PEP 371: The
multiprocessing
Package - PEP 3101: Advanced String Formatting
- PEP 3105:
print
As a Function - PEP 3110: Exception-Handling Changes
- PEP 3112: Byte Literals
- PEP 3116: New I/O Library
- PEP 3118: Revised Buffer Protocol
- PEP 3119: Abstract Base Classes
- PEP 3127: Integer Literal Support and Syntax
- PEP 3129: Class Decorators
- PEP 3141: A Type Hierarchy for Numbers
- Other Language Changes
- New and Improved Modules
- Deprecations and Removals
- Build and C API Changes
- Porting to Python 2.6
- Acknowledgements
- What’s New in Python 2.5
- PEP 308: Conditional Expressions
- PEP 309: Partial Function Application
- PEP 314: Metadata for Python Software Packages v1.1
- PEP 328: Absolute and Relative Imports
- PEP 338: Executing Modules as Scripts
- PEP 341: Unified try/except/finally
- PEP 342: New Generator Features
- PEP 343: The ‘with’ statement
- PEP 352: Exceptions as New-Style Classes
- PEP 353: Using ssize_t as the index type
- PEP 357: The ‘__index__’ method
- Other Language Changes
- New, Improved, and Removed Modules
- Build and C API Changes
- Porting to Python 2.5
- Acknowledgements
- What’s New in Python 2.4
- PEP 218: Built-In Set Objects
- PEP 237: Unifying Long Integers and Integers
- PEP 289: Generator Expressions
- PEP 292: Simpler String Substitutions
- PEP 318: Decorators for Functions and Methods
- PEP 322: Reverse Iteration
- PEP 324: New subprocess Module
- PEP 327: Decimal Data Type
- PEP 328: Multi-line Imports
- PEP 331: Locale-Independent Float/String Conversions
- Other Language Changes
- New, Improved, and Deprecated Modules
- Build and C API Changes
- Porting to Python 2.4
- Acknowledgements
- What’s New in Python 2.3
- PEP 218: A Standard Set Datatype
- PEP 255: Simple Generators
- PEP 263: Source Code Encodings
- PEP 273: Importing Modules from ZIP Archives
- PEP 277: Unicode file name support for Windows NT
- PEP 278: Universal Newline Support
- PEP 279: enumerate()
- PEP 282: The logging Package
- PEP 285: A Boolean Type
- PEP 293: Codec Error Handling Callbacks
- PEP 301: Package Index and Metadata for Distutils
- PEP 302: New Import Hooks
- PEP 305: Comma-separated Files
- PEP 307: Pickle Enhancements
- Extended Slices
- Other Language Changes
- New, Improved, and Deprecated Modules
- Pymalloc: A Specialized Object Allocator
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.3
- Acknowledgements
- What’s New in Python 2.2
- Introduction
- PEPs 252 and 253: Type and Class Changes
- PEP 234: Iterators
- PEP 255: Simple Generators
- PEP 237: Unifying Long Integers and Integers
- PEP 238: Changing the Division Operator
- Unicode Changes
- PEP 227: Nested Scopes
- New and Improved Modules
- Interpreter Changes and Fixes
- Other Changes and Fixes
- Acknowledgements
- What’s New in Python 2.1
- Introduction
- PEP 227: Nested Scopes
- PEP 236: __future__ Directives
- PEP 207: Rich Comparisons
- PEP 230: Warning Framework
- PEP 229: New Build System
- PEP 205: Weak References
- PEP 232: Function Attributes
- PEP 235: Importing Modules on Case-Insensitive Platforms
- PEP 217: Interactive Display Hook
- PEP 208: New Coercion Model
- PEP 241: Metadata in Python Packages
- New and Improved Modules
- Other Changes and Fixes
- Acknowledgements
- What’s New in Python 2.0
- Introduction
- What About Python 1.6?
- New Development Process
- Unicode
- List Comprehensions
- Augmented Assignment
- String Methods
- Garbage Collection of Cycles
- Other Core Changes
- Porting to 2.0
- Extending/Embedding Changes
- Distutils: Making Modules Easy to Install
- XML Modules
- Module changes
- New modules
- IDLE Improvements
- Deleted and Deprecated Modules
- Acknowledgements
- Changelog
- Python next
- Python 3.14.0 alpha 3
- Python 3.14.0 alpha 2
- Python 3.14.0 alpha 1
- Python 3.13.0 beta 1
- Python 3.13.0 alpha 6
- Python 3.13.0 alpha 5
- Python 3.13.0 alpha 4
- Python 3.13.0 alpha 3
- Python 3.13.0 alpha 2
- Python 3.13.0 alpha 1
- Python 3.12.0 beta 1
- Python 3.12.0 alpha 7
- Python 3.12.0 alpha 6
- Python 3.12.0 alpha 5
- Python 3.12.0 alpha 4
- Python 3.12.0 alpha 3
- Python 3.12.0 alpha 2
- Python 3.12.0 alpha 1
- Python 3.11.0 beta 1
- Python 3.11.0 alpha 7
- Python 3.11.0 alpha 6
- Python 3.11.0 alpha 5
- Python 3.11.0 alpha 4
- Python 3.11.0 alpha 3
- Python 3.11.0 alpha 2
- Python 3.11.0 alpha 1
- Python 3.10.0 beta 1
- Python 3.10.0 alpha 7
- Python 3.10.0 alpha 6
- Python 3.10.0 alpha 5
- Python 3.10.0 alpha 4
- Python 3.10.0 alpha 3
- Python 3.10.0 alpha 2
- Python 3.10.0 alpha 1
- Python 3.9.0 beta 1
- Python 3.9.0 alpha 6
- Python 3.9.0 alpha 5
- Python 3.9.0 alpha 4
- Python 3.9.0 alpha 3
- Python 3.9.0 alpha 2
- Python 3.9.0 alpha 1
- Python 3.8.0 beta 1
- Python 3.8.0 alpha 4
- Python 3.8.0 alpha 3
- Python 3.8.0 alpha 2
- Python 3.8.0 alpha 1
- Python 3.7.0 final
- Python 3.7.0 release candidate 1
- Python 3.7.0 beta 5
- Python 3.7.0 beta 4
- Python 3.7.0 beta 3
- Python 3.7.0 beta 2
- Python 3.7.0 beta 1
- Python 3.7.0 alpha 4
- Python 3.7.0 alpha 3
- Python 3.7.0 alpha 2
- Python 3.7.0 alpha 1
- Python 3.6.6 final
- Python 3.6.6 release candidate 1
- Python 3.6.5 final
- Python 3.6.5 release candidate 1
- Python 3.6.4 final
- Python 3.6.4 release candidate 1
- Python 3.6.3 final
- Python 3.6.3 release candidate 1
- Python 3.6.2 final
- Python 3.6.2 release candidate 2
- Python 3.6.2 release candidate 1
- Python 3.6.1 final
- Python 3.6.1 release candidate 1
- Python 3.6.0 final
- Python 3.6.0 release candidate 2
- Python 3.6.0 release candidate 1
- Python 3.6.0 beta 4
- Python 3.6.0 beta 3
- Python 3.6.0 beta 2
- Python 3.6.0 beta 1
- Python 3.6.0 alpha 4
- Python 3.6.0 alpha 3
- Python 3.6.0 alpha 2
- Python 3.6.0 alpha 1
- Python 3.5.5 final
- Python 3.5.5 release candidate 1
- Python 3.5.4 final
- Python 3.5.4 release candidate 1
- Python 3.5.3 final
- Python 3.5.3 release candidate 1
- Python 3.5.2 final
- Python 3.5.2 release candidate 1
- Python 3.5.1 final
- Python 3.5.1 release candidate 1
- Python 3.5.0 final
- Python 3.5.0 release candidate 4
- Python 3.5.0 release candidate 3
- Python 3.5.0 release candidate 2
- Python 3.5.0 release candidate 1
- Python 3.5.0 beta 4
- Python 3.5.0 beta 3
- Python 3.5.0 beta 2
- Python 3.5.0 beta 1
- Python 3.5.0 alpha 4
- Python 3.5.0 alpha 3
- Python 3.5.0 alpha 2
- Python 3.5.0 alpha 1
- The Python Tutorial
- 1. Whetting Your Appetite
- 2. Using the Python Interpreter
- 3. An Informal Introduction to Python
- 4. More Control Flow Tools
- 4.1.
if
Statements - 4.2.
for
Statements - 4.3. The
range()
Function - 4.4.
break
andcontinue
Statements - 4.5.
else
Clauses on Loops - 4.6.
pass
Statements - 4.7.
match
Statements - 4.8. Defining Functions
- 4.9. More on Defining Functions
- 4.10. Intermezzo: Coding Style
- 4.1.
- 5. Data Structures
- 6. Modules
- 7. Input and Output
- 8. Errors and Exceptions
- 9. Classes
- 10. Brief Tour of the Standard Library
- 10.1. Operating System Interface
- 10.2. File Wildcards
- 10.3. Command Line Arguments
- 10.4. Error Output Redirection and Program Termination
- 10.5. String Pattern Matching
- 10.6. Mathematics
- 10.7. Internet Access
- 10.8. Dates and Times
- 10.9. Data Compression
- 10.10. Performance Measurement
- 10.11. Quality Control
- 10.12. Batteries Included
- 11. Brief Tour of the Standard Library — Part II
- 12. Virtual Environments and Packages
- 13. What Now?
- 14. Interactive Input Editing and History Substitution
- 15. Floating-Point Arithmetic: Issues and Limitations
- 16. Appendix
- Python Setup and Usage
- 1. Command line and environment
- 2. Using Python on Unix platforms
- 3. Configure Python
- 3.1. Build Requirements
- 3.2. Generated files
- 3.3. Configure Options
- 3.3.1. General Options
- 3.3.2. C compiler options
- 3.3.3. Linker options
- 3.3.4. Options for third-party dependencies
- 3.3.5. WebAssembly Options
- 3.3.6. Install Options
- 3.3.7. Performance options
- 3.3.8. Python Debug Build
- 3.3.9. Debug options
- 3.3.10. Linker options
- 3.3.11. Libraries options
- 3.3.12. Security Options
- 3.3.13. macOS Options
- 3.3.14. iOS Options
- 3.3.15. Cross Compiling Options
- 3.4. Python Build System
- 3.5. Compiler and linker flags
- 4. Using Python on Windows
- 4.1. The full installer
- 4.2. The Microsoft Store package
- 4.3. The nuget.org packages
- 4.4. The embeddable package
- 4.5. Alternative bundles
- 4.6. Configuring Python
- 4.7. UTF-8 mode
- 4.8. Python Launcher for Windows
- 4.9. Finding modules
- 4.10. Additional modules
- 4.11. Compiling Python on Windows
- 4.12. Other Platforms
- 5. Using Python on macOS
- 6. Using Python on Android
- 7. Using Python on iOS
- 8. Editors and IDEs
- The Python Language Reference
- 1. Introduction
- 2. Lexical analysis
- 3. Data model
- 3.1. Objects, values and types
- 3.2. The standard type hierarchy
- 3.2.1. None
- 3.2.2. NotImplemented
- 3.2.3. Ellipsis
- 3.2.4.
numbers.Number
- 3.2.5. Sequences
- 3.2.6. Set types
- 3.2.7. Mappings
- 3.2.8. Callable types
- 3.2.9. Modules
- 3.2.10. Custom classes
- 3.2.11. Class instances
- 3.2.12. I/O objects (also known as file objects)
- 3.2.13. Internal types
- 3.3. Special method names
- 3.3.1. Basic customization
- 3.3.2. Customizing attribute access
- 3.3.3. Customizing class creation
- 3.3.4. Customizing instance and subclass checks
- 3.3.5. Emulating generic types
- 3.3.6. Emulating callable objects
- 3.3.7. Emulating container types
- 3.3.8. Emulating numeric types
__add__()
__sub__()
__mul__()
__matmul__()
__truediv__()
__floordiv__()
__mod__()
__divmod__()
__pow__()
__lshift__()
__rshift__()
__and__()
__xor__()
__or__()
__radd__()
__rsub__()
__rmul__()
__rmatmul__()
__rtruediv__()
__rfloordiv__()
__rmod__()
__rdivmod__()
__rpow__()
__rlshift__()
__rrshift__()
__rand__()
__rxor__()
__ror__()
__iadd__()
__isub__()
__imul__()
__imatmul__()
__itruediv__()
__ifloordiv__()
__imod__()
__ipow__()
__ilshift__()
__irshift__()
__iand__()
__ixor__()
__ior__()
__neg__()
__pos__()
__abs__()
__invert__()
__complex__()
__int__()
__float__()
__index__()
__round__()
__trunc__()
__floor__()
__ceil__()
- 3.3.9. With Statement Context Managers
- 3.3.10. Customizing positional arguments in class pattern matching
- 3.3.11. Emulating buffer types
- 3.3.12. Annotations
- 3.3.13. Special method lookup
- 3.4. Coroutines
- 4. Execution model
- 5. The import system
- 6. Expressions
- 6.1. Arithmetic conversions
- 6.2. Atoms
- 6.3. Primaries
- 6.4. Await expression
- 6.5. The power operator
- 6.6. Unary arithmetic and bitwise operations
- 6.7. Binary arithmetic operations
- 6.8. Shifting operations
- 6.9. Binary bitwise operations
- 6.10. Comparisons
- 6.11. Boolean operations
- 6.12. Assignment expressions
- 6.13. Conditional expressions
- 6.14. Lambdas
- 6.15. Expression lists
- 6.16. Evaluation order
- 6.17. Operator precedence
- 7. Simple statements
- 7.1. Expression statements
- 7.2. Assignment statements
- 7.3. The
assert
statement - 7.4. The
pass
statement - 7.5. The
del
statement - 7.6. The
return
statement - 7.7. The
yield
statement - 7.8. The
raise
statement - 7.9. The
break
statement - 7.10. The
continue
statement - 7.11. The
import
statement - 7.12. The
global
statement - 7.13. The
nonlocal
statement - 7.14. The
type
statement
- 8. Compound statements
- 8.1. The
if
statement - 8.2. The
while
statement - 8.3. The
for
statement - 8.4. The
try
statement - 8.5. The
with
statement - 8.6. The
match
statement - 8.7. Function definitions
- 8.8. Class definitions
- 8.9. Coroutines
- 8.10. Type parameter lists
- 8.11. Annotations
- 8.1. The
- 9. Top-level components
- 10. Full Grammar specification
- The Python Standard Library
- Introduction
- Built-in Functions
abs()
aiter()
all()
anext()
any()
ascii()
bin()
bool
breakpoint()
callable()
chr()
classmethod()
compile()
complex
delattr()
dir()
divmod()
enumerate()
eval()
exec()
filter()
float
format()
getattr()
globals()
hasattr()
hash()
help()
hex()
id()
input()
int
isinstance()
issubclass()
iter()
len()
locals()
map()
max()
min()
next()
object
oct()
open()
ord()
pow()
print()
property
repr()
reversed()
round()
setattr()
slice
sorted()
staticmethod()
sum()
super
type
vars()
zip()
__import__()
- Built-in Constants
- Built-in Types
- Truth Value Testing
- Boolean Operations —
and
,or
,not
- Comparisons
- Numeric Types —
int
,float
,complex
- Boolean Type -
bool
- Iterator Types
- Sequence Types —
list
,tuple
,range
- Text Sequence Type —
str
str
- String Methods
capitalize()
casefold()
center()
count()
encode()
endswith()
expandtabs()
find()
format()
format_map()
index()
isalnum()
isalpha()
isascii()
isdecimal()
isdigit()
isidentifier()
islower()
isnumeric()
isprintable()
isspace()
istitle()
isupper()
join()
ljust()
lower()
lstrip()
maketrans()
partition()
removeprefix()
removesuffix()
replace()
rfind()
rindex()
rjust()
rpartition()
rsplit()
rstrip()
split()
splitlines()
startswith()
strip()
swapcase()
title()
translate()
upper()
zfill()
printf
-style String Formatting
- Binary Sequence Types —
bytes
,bytearray
,memoryview
- Bytes Objects
- Bytearray Objects
- Bytes and Bytearray Operations
count()
count()
removeprefix()
removeprefix()
removesuffix()
removesuffix()
decode()
decode()
endswith()
endswith()
find()
find()
index()
index()
join()
join()
maketrans()
maketrans()
partition()
partition()
replace()
replace()
rfind()
rfind()
rindex()
rindex()
rpartition()
rpartition()
startswith()
startswith()
translate()
translate()
center()
center()
ljust()
ljust()
lstrip()
lstrip()
rjust()
rjust()
rsplit()
rsplit()
rstrip()
rstrip()
split()
split()
strip()
strip()
capitalize()
capitalize()
expandtabs()
expandtabs()
isalnum()
isalnum()
isalpha()
isalpha()
isascii()
isascii()
isdigit()
isdigit()
islower()
islower()
isspace()
isspace()
istitle()
istitle()
isupper()
isupper()
lower()
lower()
splitlines()
splitlines()
swapcase()
swapcase()
title()
title()
upper()
upper()
zfill()
zfill()
printf
-style Bytes Formatting- Memory Views
- Set Types —
set
,frozenset
- Mapping Types —
dict
- Context Manager Types
- Type Annotation Types — Generic Alias, Union
- Other Built-in Types
- Special Attributes
- Integer string conversion length limitation
- Built-in Exceptions
- Exception context
- Inheriting from built-in exceptions
- Base classes
- Concrete exceptions
AssertionError
AttributeError
EOFError
FloatingPointError
GeneratorExit
ImportError
ModuleNotFoundError
IndexError
KeyError
KeyboardInterrupt
MemoryError
NameError
NotImplementedError
OSError
OverflowError
PythonFinalizationError
RecursionError
ReferenceError
RuntimeError
StopIteration
StopAsyncIteration
SyntaxError
IndentationError
TabError
SystemError
SystemExit
TypeError
UnboundLocalError
UnicodeError
UnicodeEncodeError
UnicodeDecodeError
UnicodeTranslateError
ValueError
ZeroDivisionError
EnvironmentError
IOError
WindowsError
- OS exceptions
- Warnings
- Exception groups
- 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
struct
— Interpret bytes as packed binary datacodecs
— Codec registry and base classesencode()
decode()
lookup()
CodecInfo
getencoder()
getdecoder()
getincrementalencoder()
getincrementaldecoder()
getreader()
getwriter()
register()
unregister()
open()
EncodedFile()
iterencode()
iterdecode()
BOM
BOM_BE
BOM_LE
BOM_UTF8
BOM_UTF16
BOM_UTF16_BE
BOM_UTF16_LE
BOM_UTF32
BOM_UTF32_BE
BOM_UTF32_LE
- Codec Base Classes
- Encodings and Unicode
- Standard Encodings
- Python Specific Encodings
encodings.idna
— Internationalized Domain Names in Applicationsencodings.mbcs
— Windows ANSI codepageencodings.utf_8_sig
— UTF-8 codec with BOM signature
- Data Types
datetime
— Basic date and time types- Aware and Naive Objects
- Constants
- Available Types
timedelta
Objectsdate
Objectsdatetime
Objectsdatetime
today()
now()
utcnow()
fromtimestamp()
utcfromtimestamp()
fromordinal()
combine()
fromisoformat()
fromisocalendar()
strptime()
min
max
resolution
year
month
day
hour
minute
second
microsecond
tzinfo
fold
date()
time()
timetz()
replace()
astimezone()
utcoffset()
dst()
tzname()
timetuple()
utctimetuple()
toordinal()
timestamp()
weekday()
isoweekday()
isocalendar()
isoformat()
__str__()
ctime()
strftime()
__format__()
- Examples of Usage:
datetime
time
Objectstzinfo
Objectstimezone
Objectsstrftime()
andstrptime()
Behavior
zoneinfo
— IANA time zone supportcalendar
— General calendar-related functionsCalendar
TextCalendar
HTMLCalendar
LocaleTextCalendar
LocaleHTMLCalendar
setfirstweekday()
firstweekday()
isleap()
leapdays()
weekday()
weekheader()
monthrange()
monthcalendar()
prmonth()
month()
prcal()
calendar()
timegm()
day_name
day_abbr
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
Day
month_name
month_abbr
JANUARY
FEBRUARY
MARCH
APRIL
MAY
JUNE
JULY
AUGUST
SEPTEMBER
OCTOBER
NOVEMBER
DECEMBER
Month
IllegalMonthError
IllegalWeekdayError
- Command-Line Usage
collections
— 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 types- Dynamic Type Creation
- Standard Interpreter Types
NoneType
FunctionType
LambdaType
GeneratorType
CoroutineType
AsyncGeneratorType
CodeType
CellType
MethodType
BuiltinFunctionType
BuiltinMethodType
WrapperDescriptorType
MethodWrapperType
NotImplementedType
MethodDescriptorType
ClassMethodDescriptorType
ModuleType
EllipsisType
GenericAlias
UnionType
TracebackType
FrameType
GetSetDescriptorType
MemberDescriptorType
MappingProxyType
CapsuleType
- Additional Utility Classes and Functions
- Coroutine Utility Functions
copy
— 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 arithmetic- Quick-start Tutorial
- Decimal objects
Decimal
adjusted()
as_integer_ratio()
as_tuple()
canonical()
compare()
compare_signal()
compare_total()
compare_total_mag()
conjugate()
copy_abs()
copy_negate()
copy_sign()
exp()
from_float()
from_number()
fma()
is_canonical()
is_finite()
is_infinite()
is_nan()
is_normal()
is_qnan()
is_signed()
is_snan()
is_subnormal()
is_zero()
ln()
log10()
logb()
logical_and()
logical_invert()
logical_or()
logical_xor()
max()
max_mag()
min()
min_mag()
next_minus()
next_plus()
next_toward()
normalize()
number_class()
quantize()
radix()
remainder_near()
rotate()
same_quantum()
scaleb()
shift()
sqrt()
to_eng_string()
to_integral()
to_integral_exact()
to_integral_value()
- Logical operands
- Context objects
getcontext()
setcontext()
localcontext()
BasicContext
ExtendedContext
DefaultContext
Context
clear_flags()
clear_traps()
copy()
copy_decimal()
create_decimal()
create_decimal_from_float()
Etiny()
Etop()
abs()
add()
canonical()
compare()
compare_signal()
compare_total()
compare_total_mag()
copy_abs()
copy_negate()
copy_sign()
divide()
divide_int()
divmod()
exp()
fma()
is_canonical()
is_finite()
is_infinite()
is_nan()
is_normal()
is_qnan()
is_signed()
is_snan()
is_subnormal()
is_zero()
ln()
log10()
logb()
logical_and()
logical_invert()
logical_or()
logical_xor()
max()
max_mag()
min()
min_mag()
minus()
multiply()
next_minus()
next_plus()
next_toward()
normalize()
number_class()
plus()
power()
quantize()
radix()
remainder()
remainder_near()
rotate()
same_quantum()
scaleb()
shift()
sqrt()
subtract()
to_eng_string()
to_integral_exact()
to_sci_string()
- Constants
- Rounding modes
- Signals
- Floating-Point Notes
- Working with threads
- Recipes
- Decimal FAQ
fractions
— 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 functionslt()
le()
eq()
ne()
ge()
gt()
__lt__()
__le__()
__eq__()
__ne__()
__ge__()
__gt__()
not_()
__not__()
truth()
is_()
is_not()
is_none()
is_not_none()
abs()
__abs__()
add()
__add__()
and_()
__and__()
floordiv()
__floordiv__()
index()
__index__()
inv()
invert()
__inv__()
__invert__()
lshift()
__lshift__()
mod()
__mod__()
mul()
__mul__()
matmul()
__matmul__()
neg()
__neg__()
or_()
__or__()
pos()
__pos__()
pow()
__pow__()
rshift()
__rshift__()
sub()
__sub__()
truediv()
__truediv__()
xor()
__xor__()
concat()
__concat__()
contains()
__contains__()
countOf()
delitem()
__delitem__()
getitem()
__getitem__()
indexOf()
setitem()
__setitem__()
length_hint()
call()
__call__()
attrgetter()
itemgetter()
methodcaller()
- Mapping Operators to Functions
- In-place Operators
- File and Directory Access
pathlib
— Object-oriented filesystem paths- Basic use
- Exceptions
- Pure paths
- Concrete paths
- Pattern language
- Comparison to the
glob
module - Comparison to the
os
andos.path
modules
os.path
— Common pathname manipulationsabspath()
basename()
commonpath()
commonprefix()
dirname()
exists()
lexists()
expanduser()
expandvars()
getatime()
getmtime()
getctime()
getsize()
isabs()
isfile()
isdir()
isjunction()
islink()
ismount()
isdevdrive()
isreserved()
join()
normcase()
normpath()
realpath()
relpath()
samefile()
sameopenfile()
samestat()
split()
splitdrive()
splitroot()
splitext()
supports_unicode_filenames
fileinput
— Iterate over lines from multiple input streamsstat
— Interpretingstat()
resultsS_ISDIR()
S_ISCHR()
S_ISBLK()
S_ISREG()
S_ISFIFO()
S_ISLNK()
S_ISSOCK()
S_ISDOOR()
S_ISPORT()
S_ISWHT()
S_IMODE()
S_IFMT()
filemode()
ST_MODE
ST_INO
ST_DEV
ST_NLINK
ST_UID
ST_GID
ST_SIZE
ST_ATIME
ST_MTIME
ST_CTIME
S_IFSOCK
S_IFLNK
S_IFREG
S_IFBLK
S_IFDIR
S_IFCHR
S_IFIFO
S_IFDOOR
S_IFPORT
S_IFWHT
S_ISUID
S_ISGID
S_ISVTX
S_IRWXU
S_IRUSR
S_IWUSR
S_IXUSR
S_IRWXG
S_IRGRP
S_IWGRP
S_IXGRP
S_IRWXO
S_IROTH
S_IWOTH
S_IXOTH
S_ENFMT
S_IREAD
S_IWRITE
S_IEXEC
UF_SETTABLE
UF_NODUMP
UF_IMMUTABLE
UF_APPEND
UF_OPAQUE
UF_NOUNLINK
UF_COMPRESSED
UF_TRACKED
UF_DATAVAULT
UF_HIDDEN
SF_SETTABLE
SF_SUPPORTED
SF_SYNTHETIC
SF_ARCHIVED
SF_IMMUTABLE
SF_APPEND
SF_RESTRICTED
SF_NOUNLINK
SF_SNAPSHOT
SF_FIRMLINK
SF_DATALESS
FILE_ATTRIBUTE_ARCHIVE
FILE_ATTRIBUTE_COMPRESSED
FILE_ATTRIBUTE_DEVICE
FILE_ATTRIBUTE_DIRECTORY
FILE_ATTRIBUTE_ENCRYPTED
FILE_ATTRIBUTE_HIDDEN
FILE_ATTRIBUTE_INTEGRITY_STREAM
FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
FILE_ATTRIBUTE_NO_SCRUB_DATA
FILE_ATTRIBUTE_OFFLINE
FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_REPARSE_POINT
FILE_ATTRIBUTE_SPARSE_FILE
FILE_ATTRIBUTE_SYSTEM
FILE_ATTRIBUTE_TEMPORARY
FILE_ATTRIBUTE_VIRTUAL
IO_REPARSE_TAG_SYMLINK
IO_REPARSE_TAG_MOUNT_POINT
IO_REPARSE_TAG_APPEXECLINK
filecmp
— 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- Tutorial
- Reference
- Module functions
- Module constants
LEGACY_TRANSACTION_CONTROL
PARSE_COLNAMES
PARSE_DECLTYPES
SQLITE_OK
SQLITE_DENY
SQLITE_IGNORE
apilevel
paramstyle
sqlite_version
sqlite_version_info
threadsafety
SQLITE_DBCONFIG_DEFENSIVE
SQLITE_DBCONFIG_DQS_DDL
SQLITE_DBCONFIG_DQS_DML
SQLITE_DBCONFIG_ENABLE_FKEY
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION
SQLITE_DBCONFIG_ENABLE_QPSG
SQLITE_DBCONFIG_ENABLE_TRIGGER
SQLITE_DBCONFIG_ENABLE_VIEW
SQLITE_DBCONFIG_LEGACY_ALTER_TABLE
SQLITE_DBCONFIG_LEGACY_FILE_FORMAT
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
SQLITE_DBCONFIG_RESET_DATABASE
SQLITE_DBCONFIG_TRIGGER_EQP
SQLITE_DBCONFIG_TRUSTED_SCHEMA
SQLITE_DBCONFIG_WRITABLE_SCHEMA
- Connection objects
Connection
cursor()
blobopen()
commit()
rollback()
close()
execute()
executemany()
executescript()
create_function()
create_aggregate()
create_window_function()
create_collation()
interrupt()
set_authorizer()
set_progress_handler()
set_trace_callback()
enable_load_extension()
load_extension()
iterdump()
backup()
getlimit()
setlimit()
getconfig()
setconfig()
serialize()
deserialize()
autocommit
in_transaction
isolation_level
row_factory
text_factory
total_changes
- Cursor objects
- Row objects
- Blob objects
- PrepareProtocol objects
- Exceptions
- SQLite and Python types
- Default adapters and converters (deprecated)
- Command-line interface
- How-to guides
- How to use placeholders to bind values in SQL queries
- How to adapt custom Python types to SQLite values
- How to convert SQLite values to custom Python types
- Adapter and converter recipes
- How to use connection shortcut methods
- How to use the connection context manager
- How to work with SQLite URIs
- How to create and use row factories
- How to handle non-UTF-8 text encodings
- Explanation
- 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 filesopen()
is_tarfile()
TarError
ReadError
CompressionError
StreamError
ExtractError
HeaderError
FilterError
AbsolutePathError
OutsideDestinationError
SpecialFileError
AbsoluteLinkError
LinkOutsideDestinationError
ENCODING
REGTYPE
AREGTYPE
LNKTYPE
SYMTYPE
CHRTYPE
BLKTYPE
DIRTYPE
FIFOTYPE
CONTTYPE
GNUTYPE_LONGNAME
GNUTYPE_LONGLINK
GNUTYPE_SPARSE
USTAR_FORMAT
GNU_FORMAT
PAX_FORMAT
DEFAULT_FORMAT
- TarFile Objects
- TarInfo Objects
- Extraction filters
- Command-Line Interface
- Examples
- Supported tar formats
- Unicode issues
- File Formats
csv
— CSV File Reading and Writingconfigparser
— Configuration file parsertomllib
— Parse TOML filesnetrc
— netrc file processingplistlib
— Generate and parse Apple.plist
files
- Cryptographic Services
- Generic Operating System Services
os
— Miscellaneous operating system interfaceserror
name
- File Names, Command Line Arguments, and Environment Variables
- Python UTF-8 Mode
- Process Parameters
ctermid()
environ
environb
reload_environ()
fsencode()
fsdecode()
fspath()
PathLike
getenv()
getenvb()
get_exec_path()
getegid()
geteuid()
getgid()
getgrouplist()
getgroups()
getlogin()
getpgid()
getpgrp()
getpid()
getppid()
getpriority()
PRIO_PROCESS
PRIO_PGRP
PRIO_USER
PRIO_DARWIN_THREAD
PRIO_DARWIN_PROCESS
PRIO_DARWIN_BG
PRIO_DARWIN_NONUI
getresuid()
getresgid()
getuid()
initgroups()
putenv()
setegid()
seteuid()
setgid()
setgroups()
setns()
setpgrp()
setpgid()
setpriority()
setregid()
setresgid()
setresuid()
setreuid()
getsid()
setsid()
setuid()
strerror()
supports_bytes_environ
umask()
uname()
unsetenv()
unshare()
CLONE_FILES
CLONE_FS
CLONE_NEWCGROUP
CLONE_NEWIPC
CLONE_NEWNET
CLONE_NEWNS
CLONE_NEWPID
CLONE_NEWTIME
CLONE_NEWUSER
CLONE_NEWUTS
CLONE_SIGHAND
CLONE_SYSVSEM
CLONE_THREAD
CLONE_VM
- File Object Creation
- File Descriptor Operations
close()
closerange()
copy_file_range()
device_encoding()
dup()
dup2()
fchmod()
fchown()
fdatasync()
fpathconf()
fstat()
fstatvfs()
fsync()
ftruncate()
get_blocking()
grantpt()
isatty()
lockf()
F_LOCK
F_TLOCK
F_ULOCK
F_TEST
login_tty()
lseek()
SEEK_SET
SEEK_CUR
SEEK_END
SEEK_HOLE
SEEK_DATA
open()
O_RDONLY
O_WRONLY
O_RDWR
O_APPEND
O_CREAT
O_EXCL
O_TRUNC
O_DSYNC
O_RSYNC
O_SYNC
O_NDELAY
O_NONBLOCK
O_NOCTTY
O_CLOEXEC
O_BINARY
O_NOINHERIT
O_SHORT_LIVED
O_TEMPORARY
O_RANDOM
O_SEQUENTIAL
O_TEXT
O_EVTONLY
O_FSYNC
O_SYMLINK
O_NOFOLLOW_ANY
O_ASYNC
O_DIRECT
O_DIRECTORY
O_NOFOLLOW
O_NOATIME
O_PATH
O_TMPFILE
O_SHLOCK
O_EXLOCK
openpty()
pipe()
pipe2()
posix_fallocate()
posix_fadvise()
POSIX_FADV_NORMAL
POSIX_FADV_SEQUENTIAL
POSIX_FADV_RANDOM
POSIX_FADV_NOREUSE
POSIX_FADV_WILLNEED
POSIX_FADV_DONTNEED
pread()
posix_openpt()
preadv()
RWF_NOWAIT
RWF_HIPRI
ptsname()
pwrite()
pwritev()
RWF_DSYNC
RWF_SYNC
RWF_APPEND
read()
sendfile()
SF_NODISKIO
SF_MNOWAIT
SF_SYNC
SF_NOCACHE
set_blocking()
splice()
SPLICE_F_MOVE
SPLICE_F_NONBLOCK
SPLICE_F_MORE
readv()
tcgetpgrp()
tcsetpgrp()
ttyname()
unlockpt()
write()
writev()
- Querying the size of a terminal
- Inheritance of File Descriptors
- Files and Directories
access()
F_OK
R_OK
W_OK
X_OK
chdir()
chflags()
chmod()
chown()
chroot()
fchdir()
getcwd()
getcwdb()
lchflags()
lchmod()
lchown()
link()
listdir()
listdrives()
listmounts()
listvolumes()
lstat()
mkdir()
makedirs()
mkfifo()
mknod()
major()
minor()
makedev()
pathconf()
pathconf_names
readlink()
remove()
removedirs()
rename()
renames()
replace()
rmdir()
scandir()
DirEntry
stat()
stat_result
statvfs()
supports_dir_fd
supports_effective_ids
supports_fd
supports_follow_symlinks
symlink()
sync()
truncate()
unlink()
utime()
walk()
fwalk()
memfd_create()
MFD_CLOEXEC
MFD_ALLOW_SEALING
MFD_HUGETLB
MFD_HUGE_SHIFT
MFD_HUGE_MASK
MFD_HUGE_64KB
MFD_HUGE_512KB
MFD_HUGE_1MB
MFD_HUGE_2MB
MFD_HUGE_8MB
MFD_HUGE_16MB
MFD_HUGE_32MB
MFD_HUGE_256MB
MFD_HUGE_512MB
MFD_HUGE_1GB
MFD_HUGE_2GB
MFD_HUGE_16GB
eventfd()
eventfd_read()
eventfd_write()
EFD_CLOEXEC
EFD_NONBLOCK
EFD_SEMAPHORE
- Timer File Descriptors
- Linux extended attributes
- Process Management
abort()
add_dll_directory()
execl()
execle()
execlp()
execlpe()
execv()
execve()
execvp()
execvpe()
_exit()
EX_OK
EX_USAGE
EX_DATAERR
EX_NOINPUT
EX_NOUSER
EX_NOHOST
EX_UNAVAILABLE
EX_SOFTWARE
EX_OSERR
EX_OSFILE
EX_CANTCREAT
EX_IOERR
EX_TEMPFAIL
EX_PROTOCOL
EX_NOPERM
EX_CONFIG
EX_NOTFOUND
fork()
forkpty()
kill()
killpg()
nice()
pidfd_open()
plock()
popen()
posix_spawn()
posix_spawnp()
register_at_fork()
spawnl()
spawnle()
spawnlp()
spawnlpe()
spawnv()
spawnve()
spawnvp()
spawnvpe()
P_NOWAIT
P_NOWAITO
P_WAIT
P_DETACH
P_OVERLAY
startfile()
system()
times()
wait()
waitid()
waitpid()
wait3()
wait4()
P_PID
P_PGID
P_ALL
P_PIDFD
WCONTINUED
WEXITED
WSTOPPED
WUNTRACED
WNOHANG
WNOWAIT
CLD_EXITED
CLD_KILLED
CLD_DUMPED
CLD_TRAPPED
CLD_STOPPED
CLD_CONTINUED
waitstatus_to_exitcode()
WCOREDUMP()
WIFCONTINUED()
WIFSTOPPED()
WIFSIGNALED()
WIFEXITED()
WEXITSTATUS()
WSTOPSIG()
WTERMSIG()
- Interface to the scheduler
SCHED_OTHER
SCHED_BATCH
SCHED_DEADLINE
SCHED_IDLE
SCHED_NORMAL
SCHED_SPORADIC
SCHED_FIFO
SCHED_RR
SCHED_RESET_ON_FORK
sched_param
sched_get_priority_min()
sched_get_priority_max()
sched_setscheduler()
sched_getscheduler()
sched_setparam()
sched_getparam()
sched_rr_get_interval()
sched_yield()
sched_setaffinity()
sched_getaffinity()
- Miscellaneous System Information
- Random numbers
io
— Core tools for working with streamstime
— Time access and conversions- Functions
asctime()
pthread_getcpuclockid()
clock_getres()
clock_gettime()
clock_gettime_ns()
clock_settime()
clock_settime_ns()
ctime()
get_clock_info()
gmtime()
localtime()
mktime()
monotonic()
monotonic_ns()
perf_counter()
perf_counter_ns()
process_time()
process_time_ns()
sleep()
strftime()
strptime()
struct_time
time()
time_ns()
thread_time()
thread_time_ns()
tzset()
- Clock ID Constants
- Timezone Constants
- Functions
argparse
— Parser for command-line options, arguments and subcommands- ArgumentParser objects
- The add_argument() method
- The parse_args() method
- Other utilities
- Exceptions
logging
— Logging facility for Pythonlogging.config
— Logging configurationlogging.handlers
— Logging handlersgetpass
— Portable password inputcurses
— Terminal handling for character-cell displays- Functions
error
baudrate()
beep()
can_change_color()
cbreak()
color_content()
color_pair()
curs_set()
def_prog_mode()
def_shell_mode()
delay_output()
doupdate()
echo()
endwin()
erasechar()
filter()
flash()
flushinp()
getmouse()
getsyx()
getwin()
has_colors()
has_extended_color_support()
has_ic()
has_il()
has_key()
halfdelay()
init_color()
init_pair()
initscr()
is_term_resized()
isendwin()
keyname()
killchar()
longname()
meta()
mouseinterval()
mousemask()
napms()
newpad()
newwin()
nl()
nocbreak()
noecho()
nonl()
noqiflush()
noraw()
pair_content()
pair_number()
putp()
qiflush()
raw()
reset_prog_mode()
reset_shell_mode()
resetty()
resize_term()
resizeterm()
savetty()
get_escdelay()
set_escdelay()
get_tabsize()
set_tabsize()
setsyx()
setupterm()
start_color()
termattrs()
termname()
tigetflag()
tigetnum()
tigetstr()
tparm()
typeahead()
unctrl()
ungetch()
update_lines_cols()
unget_wch()
ungetmouse()
use_env()
use_default_colors()
wrapper()
- Window Objects
addch()
addnstr()
addstr()
attroff()
attron()
attrset()
bkgd()
bkgdset()
border()
box()
chgat()
clear()
clearok()
clrtobot()
clrtoeol()
cursyncup()
delch()
deleteln()
derwin()
echochar()
enclose()
encoding
erase()
getbegyx()
getbkgd()
getch()
get_wch()
getkey()
getmaxyx()
getparyx()
getstr()
getyx()
hline()
idcok()
idlok()
immedok()
inch()
insch()
insdelln()
insertln()
insnstr()
insstr()
instr()
is_linetouched()
is_wintouched()
keypad()
leaveok()
move()
mvderwin()
mvwin()
nodelay()
notimeout()
noutrefresh()
overlay()
overwrite()
putwin()
redrawln()
redrawwin()
refresh()
resize()
scroll()
scrollok()
setscrreg()
standend()
standout()
subpad()
subwin()
syncdown()
syncok()
syncup()
timeout()
touchline()
touchwin()
untouchwin()
vline()
- Constants
ERR
OK
version
__version__
ncurses_version
COLORS
COLOR_PAIRS
COLS
LINES
A_ALTCHARSET
A_BLINK
A_BOLD
A_DIM
A_INVIS
A_ITALIC
A_NORMAL
A_PROTECT
A_REVERSE
A_STANDOUT
A_UNDERLINE
A_HORIZONTAL
A_LEFT
A_LOW
A_RIGHT
A_TOP
A_VERTICAL
A_ATTRIBUTES
A_CHARTEXT
A_COLOR
KEY_MIN
KEY_BREAK
KEY_DOWN
KEY_UP
KEY_LEFT
KEY_RIGHT
KEY_HOME
KEY_BACKSPACE
KEY_F0
KEY_Fn
KEY_DL
KEY_IL
KEY_DC
KEY_IC
KEY_EIC
KEY_CLEAR
KEY_EOS
KEY_EOL
KEY_SF
KEY_SR
KEY_NPAGE
KEY_PPAGE
KEY_STAB
KEY_CTAB
KEY_CATAB
KEY_ENTER
KEY_SRESET
KEY_RESET
KEY_PRINT
KEY_LL
KEY_A1
KEY_A3
KEY_B2
KEY_C1
KEY_C3
KEY_BTAB
KEY_BEG
KEY_CANCEL
KEY_CLOSE
KEY_COMMAND
KEY_COPY
KEY_CREATE
KEY_END
KEY_EXIT
KEY_FIND
KEY_HELP
KEY_MARK
KEY_MESSAGE
KEY_MOVE
KEY_NEXT
KEY_OPEN
KEY_OPTIONS
KEY_PREVIOUS
KEY_REDO
KEY_REFERENCE
KEY_REFRESH
KEY_REPLACE
KEY_RESTART
KEY_RESUME
KEY_SAVE
KEY_SBEG
KEY_SCANCEL
KEY_SCOMMAND
KEY_SCOPY
KEY_SCREATE
KEY_SDC
KEY_SDL
KEY_SELECT
KEY_SEND
KEY_SEOL
KEY_SEXIT
KEY_SFIND
KEY_SHELP
KEY_SHOME
KEY_SIC
KEY_SLEFT
KEY_SMESSAGE
KEY_SMOVE
KEY_SNEXT
KEY_SOPTIONS
KEY_SPREVIOUS
KEY_SPRINT
KEY_SREDO
KEY_SREPLACE
KEY_SRIGHT
KEY_SRSUME
KEY_SSAVE
KEY_SSUSPEND
KEY_SUNDO
KEY_SUSPEND
KEY_UNDO
KEY_MOUSE
KEY_RESIZE
KEY_MAX
ACS_BBSS
ACS_BLOCK
ACS_BOARD
ACS_BSBS
ACS_BSSB
ACS_BSSS
ACS_BTEE
ACS_BULLET
ACS_CKBOARD
ACS_DARROW
ACS_DEGREE
ACS_DIAMOND
ACS_GEQUAL
ACS_HLINE
ACS_LANTERN
ACS_LARROW
ACS_LEQUAL
ACS_LLCORNER
ACS_LRCORNER
ACS_LTEE
ACS_NEQUAL
ACS_PI
ACS_PLMINUS
ACS_PLUS
ACS_RARROW
ACS_RTEE
ACS_S1
ACS_S3
ACS_S7
ACS_S9
ACS_SBBS
ACS_SBSB
ACS_SBSS
ACS_SSBB
ACS_SSBS
ACS_SSSB
ACS_SSSS
ACS_STERLING
ACS_TTEE
ACS_UARROW
ACS_ULCORNER
ACS_URCORNER
ACS_VLINE
BUTTONn_PRESSED
BUTTONn_RELEASED
BUTTONn_CLICKED
BUTTONn_DOUBLE_CLICKED
BUTTONn_TRIPLE_CLICKED
BUTTON_SHIFT
BUTTON_CTRL
BUTTON_ALT
COLOR_BLACK
COLOR_BLUE
COLOR_CYAN
COLOR_GREEN
COLOR_MAGENTA
COLOR_RED
COLOR_WHITE
COLOR_YELLOW
- Functions
curses.textpad
— Text input widget for curses programscurses.ascii
— Utilities for ASCII charactersNUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
TAB
HT
LF
NL
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
SP
DEL
isalnum()
isalpha()
isascii()
isblank()
iscntrl()
isdigit()
isgraph()
islower()
isprint()
ispunct()
isspace()
isupper()
isxdigit()
isctrl()
ismeta()
ascii()
ctrl()
alt()
unctrl()
controlnames
curses.panel
— A panel stack extension for cursesplatform
— Access to underlying platform’s identifying dataerrno
— Standard errno system symbolserrorcode
EPERM
ENOENT
ESRCH
EINTR
EIO
ENXIO
E2BIG
ENOEXEC
EBADF
ECHILD
EAGAIN
ENOMEM
EACCES
EFAULT
ENOTBLK
EBUSY
EEXIST
EXDEV
ENODEV
ENOTDIR
EISDIR
EINVAL
ENFILE
EMFILE
ENOTTY
ETXTBSY
EFBIG
ENOSPC
ESPIPE
EROFS
EMLINK
EPIPE
EDOM
ERANGE
EDEADLK
ENAMETOOLONG
ENOLCK
ENOSYS
ENOTEMPTY
ELOOP
EWOULDBLOCK
ENOMSG
EIDRM
ECHRNG
EL2NSYNC
EL3HLT
EL3RST
ELNRNG
EUNATCH
ENOCSI
EL2HLT
EBADE
EBADR
EXFULL
ENOANO
EBADRQC
EBADSLT
EDEADLOCK
EBFONT
ENOSTR
ENODATA
ETIME
ENOSR
ENONET
ENOPKG
EREMOTE
ENOLINK
EADV
ESRMNT
ECOMM
EPROTO
EMULTIHOP
EDOTDOT
EBADMSG
EOVERFLOW
ENOTUNIQ
EBADFD
EREMCHG
ELIBACC
ELIBBAD
ELIBSCN
ELIBMAX
ELIBEXEC
EILSEQ
ERESTART
ESTRPIPE
EUSERS
ENOTSOCK
EDESTADDRREQ
EMSGSIZE
EPROTOTYPE
ENOPROTOOPT
EPROTONOSUPPORT
ESOCKTNOSUPPORT
EOPNOTSUPP
ENOTSUP
EPFNOSUPPORT
EAFNOSUPPORT
EADDRINUSE
EADDRNOTAVAIL
ENETDOWN
ENETUNREACH
ENETRESET
ECONNABORTED
ECONNRESET
ENOBUFS
EISCONN
ENOTCONN
ESHUTDOWN
ETOOMANYREFS
ETIMEDOUT
ECONNREFUSED
EHOSTDOWN
EHOSTUNREACH
EHWPOISON
EALREADY
EINPROGRESS
ESTALE
EUCLEAN
ENOTNAM
ENAVAIL
EISNAM
EREMOTEIO
EDQUOT
EQFULL
ENOTCAPABLE
ECANCELED
EOWNERDEAD
ENOTRECOVERABLE
ctypes
— A foreign function library for Python- ctypes tutorial
- Loading dynamic link libraries
- Accessing functions from loaded dlls
- Calling functions
- Fundamental data types
- Calling functions, continued
- Calling variadic functions
- Calling functions with your own custom data types
- Specifying the required argument types (function prototypes)
- Return types
- Passing pointers (or: passing parameters by reference)
- Structures and unions
- Structure/union layout, alignment and byte order
- Bit fields in structures and unions
- Arrays
- Pointers
- Type conversions
- Incomplete Types
- Callback functions
- Accessing values exported from dlls
- Surprises
- Variable-sized data types
- ctypes reference
- Finding shared libraries
- Loading shared libraries
- Foreign functions
- Function prototypes
- Utility functions
addressof()
alignment()
byref()
CopyComPointer()
cast()
create_string_buffer()
create_unicode_buffer()
DllCanUnloadNow()
DllGetClassObject()
find_library()
find_msvcrt()
FormatError()
GetLastError()
get_errno()
get_last_error()
memmove()
memset()
POINTER()
pointer()
resize()
set_errno()
set_last_error()
sizeof()
string_at()
WinError()
wstring_at()
- Data types
- Fundamental data types
_SimpleCData
c_byte
c_char
c_char_p
c_double
c_longdouble
c_float
c_double_complex
c_float_complex
c_longdouble_complex
c_int
c_int8
c_int16
c_int32
c_int64
c_long
c_longlong
c_short
c_size_t
c_ssize_t
c_time_t
c_ubyte
c_uint
c_uint8
c_uint16
c_uint32
c_uint64
c_ulong
c_ulonglong
c_ushort
c_void_p
c_wchar
c_wchar_p
c_bool
HRESULT
py_object
- Structured data types
- Arrays and pointers
- Exceptions
- ctypes tutorial
- Concurrent Execution
threading
— Thread-based parallelismactive_count()
current_thread()
excepthook()
__excepthook__
get_ident()
get_native_id()
enumerate()
main_thread()
settrace()
settrace_all_threads()
gettrace()
setprofile()
setprofile_all_threads()
getprofile()
stack_size()
TIMEOUT_MAX
- Thread-Local Data
- Thread Objects
- Lock Objects
- RLock Objects
- Condition Objects
- Semaphore Objects
- Event Objects
- Timer Objects
- Barrier Objects
- Using locks, conditions, and semaphores in the
with
statement
multiprocessing
— Process-based parallelismmultiprocessing.shared_memory
— Shared memory for direct access across processes- The
concurrent
package concurrent.futures
— Launching parallel taskssubprocess
— Subprocess management- Using the
subprocess
Module - Security Considerations
- Popen Objects
- Windows Popen Helpers
STARTUPINFO
- Windows Constants
STD_INPUT_HANDLE
STD_OUTPUT_HANDLE
STD_ERROR_HANDLE
SW_HIDE
STARTF_USESTDHANDLES
STARTF_USESHOWWINDOW
STARTF_FORCEONFEEDBACK
STARTF_FORCEOFFFEEDBACK
CREATE_NEW_CONSOLE
CREATE_NEW_PROCESS_GROUP
ABOVE_NORMAL_PRIORITY_CLASS
BELOW_NORMAL_PRIORITY_CLASS
HIGH_PRIORITY_CLASS
IDLE_PRIORITY_CLASS
NORMAL_PRIORITY_CLASS
REALTIME_PRIORITY_CLASS
CREATE_NO_WINDOW
DETACHED_PROCESS
CREATE_DEFAULT_ERROR_MODE
CREATE_BREAKAWAY_FROM_JOB
- Older high-level API
- Replacing Older Functions with the
subprocess
Module - Legacy Shell Invocation Functions
- Notes
- Using the
sched
— Event schedulerqueue
— A synchronized queue classcontextvars
— Context Variables_thread
— Low-level threading API
- Networking and Interprocess Communication
asyncio
— Asynchronous I/O- Runners
- Coroutines and Tasks
- Streams
- Synchronization Primitives
- Subprocesses
- Queues
- Exceptions
- Event Loop
get_running_loop()
get_event_loop()
set_event_loop()
new_event_loop()
- Event Loop Methods
- Running and stopping the loop
- Scheduling callbacks
- Scheduling delayed callbacks
- Creating Futures and Tasks
- Opening network connections
- Creating network servers
- Transferring files
- TLS Upgrade
- Watching file descriptors
- Working with socket objects directly
- DNS
- Working with pipes
- Unix signals
- Executing code in thread or process pools
- Error Handling API
- Enabling debug mode
- Running Subprocesses
- Callback Handles
- Server Objects
- Event Loop Implementations
- Examples
- Futures
- Transports and Protocols
- Policies
- Platform Support
- Extending
- High-level API Index
- Low-level API Index
- Developing with asyncio
socket
— Low-level networking interface- Socket families
- Module contents
- Exceptions
- Constants
AF_UNIX
AF_INET
AF_INET6
AF_UNSPEC
SOCK_STREAM
SOCK_DGRAM
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
SOCK_CLOEXEC
SOCK_NONBLOCK
SOMAXCONN
AF_CAN
PF_CAN
CAN_BCM
CAN_RAW_FD_FRAMES
CAN_RAW_JOIN_FILTERS
CAN_ISOTP
CAN_J1939
AF_DIVERT
PF_DIVERT
AF_PACKET
PF_PACKET
ETH_P_ALL
AF_RDS
PF_RDS
SOL_RDS
SIO_RCVALL
SIO_KEEPALIVE_VALS
SIO_LOOPBACK_FAST_PATH
AF_ALG
SOL_ALG
AF_VSOCK
IOCTL_VM_SOCKETS_GET_LOCAL_CID
AF_LINK
has_ipv6
BDADDR_ANY
BDADDR_LOCAL
HCI_FILTER
HCI_TIME_STAMP
HCI_DATA_DIR
AF_QIPCRTR
SCM_CREDS2
LOCAL_CREDS
LOCAL_CREDS_PERSISTENT
SO_INCOMING_CPU
AF_HYPERV
HV_PROTOCOL_RAW
HVSOCKET_CONNECT_TIMEOUT
HVSOCKET_CONNECT_TIMEOUT_MAX
HVSOCKET_CONNECTED_SUSPEND
HVSOCKET_ADDRESS_FLAG_PASSTHRU
HV_GUID_ZERO
HV_GUID_WILDCARD
HV_GUID_BROADCAST
HV_GUID_CHILDREN
HV_GUID_LOOPBACK
HV_GUID_PARENT
ETHERTYPE_ARP
ETHERTYPE_IP
ETHERTYPE_IPV6
ETHERTYPE_VLAN
SHUT_RD
SHUT_WR
SHUT_RDWR
- Functions
- Creating sockets
- Other functions
close()
getaddrinfo()
getfqdn()
gethostbyname()
gethostbyname_ex()
gethostname()
gethostbyaddr()
getnameinfo()
getprotobyname()
getservbyname()
getservbyport()
ntohl()
ntohs()
htonl()
htons()
inet_aton()
inet_ntoa()
inet_pton()
inet_ntop()
CMSG_LEN()
CMSG_SPACE()
getdefaulttimeout()
setdefaulttimeout()
sethostname()
if_nameindex()
if_nametoindex()
if_indextoname()
send_fds()
recv_fds()
- Socket Objects
accept()
bind()
close()
connect()
connect_ex()
detach()
dup()
fileno()
get_inheritable()
getpeername()
getsockname()
getsockopt()
getblocking()
gettimeout()
ioctl()
listen()
makefile()
recv()
recvfrom()
recvmsg()
recvmsg_into()
recvfrom_into()
recv_into()
send()
sendall()
sendto()
sendmsg()
sendmsg_afalg()
sendfile()
set_inheritable()
setblocking()
settimeout()
setsockopt()
shutdown()
share()
family
type
proto
- Notes on socket timeouts
- Example
ssl
— TLS/SSL wrapper for socket objects- Functions, Constants, and Exceptions
- Socket creation
- Context creation
- Exceptions
- Random generation
- Certificate handling
- Constants
CERT_NONE
CERT_OPTIONAL
CERT_REQUIRED
VerifyMode
VERIFY_DEFAULT
VERIFY_CRL_CHECK_LEAF
VERIFY_CRL_CHECK_CHAIN
VERIFY_X509_STRICT
VERIFY_ALLOW_PROXY_CERTS
VERIFY_X509_TRUSTED_FIRST
VERIFY_X509_PARTIAL_CHAIN
VerifyFlags
PROTOCOL_TLS
PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVER
PROTOCOL_SSLv23
PROTOCOL_SSLv3
PROTOCOL_TLSv1
PROTOCOL_TLSv1_1
PROTOCOL_TLSv1_2
OP_ALL
OP_NO_SSLv2
OP_NO_SSLv3
OP_NO_TLSv1
OP_NO_TLSv1_1
OP_NO_TLSv1_2
OP_NO_TLSv1_3
OP_NO_RENEGOTIATION
OP_CIPHER_SERVER_PREFERENCE
OP_SINGLE_DH_USE
OP_SINGLE_ECDH_USE
OP_ENABLE_MIDDLEBOX_COMPAT
OP_NO_COMPRESSION
Options
OP_NO_TICKET
OP_IGNORE_UNEXPECTED_EOF
OP_ENABLE_KTLS
OP_LEGACY_SERVER_CONNECT
HAS_ALPN
HAS_NEVER_CHECK_COMMON_NAME
HAS_ECDH
HAS_SNI
HAS_NPN
HAS_SSLv2
HAS_SSLv3
HAS_TLSv1
HAS_TLSv1_1
HAS_TLSv1_2
HAS_TLSv1_3
HAS_PSK
CHANNEL_BINDING_TYPES
OPENSSL_VERSION
OPENSSL_VERSION_INFO
OPENSSL_VERSION_NUMBER
ALERT_DESCRIPTION_HANDSHAKE_FAILURE
ALERT_DESCRIPTION_INTERNAL_ERROR
AlertDescription
SERVER_AUTH
CLIENT_AUTH
SSLErrorNumber
TLSVersion
MINIMUM_SUPPORTED
MAXIMUM_SUPPORTED
SSLv3
TLSv1
TLSv1_1
TLSv1_2
TLSv1_3
- SSL Sockets
SSLSocket
read()
write()
do_handshake()
getpeercert()
get_verified_chain()
get_unverified_chain()
cipher()
shared_ciphers()
compression()
get_channel_binding()
selected_alpn_protocol()
selected_npn_protocol()
unwrap()
verify_client_post_handshake()
version()
pending()
context
server_side
server_hostname
session
session_reused
- SSL Contexts
SSLContext
cert_store_stats()
load_cert_chain()
load_default_certs()
load_verify_locations()
get_ca_certs()
get_ciphers()
set_default_verify_paths()
set_ciphers()
set_alpn_protocols()
set_npn_protocols()
sni_callback
set_servername_callback
load_dh_params()
set_ecdh_curve()
wrap_socket()
sslsocket_class
wrap_bio()
sslobject_class
session_stats()
check_hostname
keylog_filename
maximum_version
minimum_version
num_tickets
options
post_handshake_auth
protocol
hostname_checks_common_name
security_level
verify_flags
verify_mode
set_psk_client_callback()
set_psk_server_callback()
- Certificates
- Examples
- Notes on non-blocking sockets
- Memory BIO Support
- SSL session
- Security considerations
- TLS 1.3
- Functions, Constants, and Exceptions
select
— Waiting for I/O completionselectors
— High-level I/O multiplexingsignal
— Set handlers for asynchronous events- General rules
- Module contents
Signals
Handlers
Sigmasks
SIG_DFL
SIG_IGN
SIGABRT
SIGALRM
SIGBREAK
SIGBUS
SIGCHLD
SIGCLD
SIGCONT
SIGFPE
SIGHUP
SIGILL
SIGINT
SIGKILL
SIGPIPE
SIGSEGV
SIGSTKFLT
SIGTERM
SIGUSR1
SIGUSR2
SIGWINCH
CTRL_C_EVENT
CTRL_BREAK_EVENT
NSIG
ITIMER_REAL
ITIMER_VIRTUAL
ITIMER_PROF
SIG_BLOCK
SIG_UNBLOCK
SIG_SETMASK
ItimerError
alarm()
getsignal()
strsignal()
valid_signals()
pause()
raise_signal()
pidfd_send_signal()
pthread_kill()
pthread_sigmask()
setitimer()
getitimer()
set_wakeup_fd()
siginterrupt()
signal()
sigpending()
sigwait()
sigwaitinfo()
sigtimedwait()
- Examples
- Note on SIGPIPE
- Note on Signal Handlers and Exceptions
mmap
— Memory-mapped file supportmmap
close()
closed
find()
flush()
madvise()
move()
read()
read_byte()
readline()
resize()
rfind()
seek()
seekable()
size()
tell()
write()
write_byte()
- MADV_* Constants
MADV_NORMAL
MADV_RANDOM
MADV_SEQUENTIAL
MADV_WILLNEED
MADV_DONTNEED
MADV_REMOVE
MADV_DONTFORK
MADV_DOFORK
MADV_HWPOISON
MADV_MERGEABLE
MADV_UNMERGEABLE
MADV_SOFT_OFFLINE
MADV_HUGEPAGE
MADV_NOHUGEPAGE
MADV_DONTDUMP
MADV_DODUMP
MADV_FREE
MADV_NOSYNC
MADV_AUTOSYNC
MADV_NOCORE
MADV_CORE
MADV_PROTECT
MADV_FREE_REUSABLE
MADV_FREE_REUSE
- MAP_* Constants
- Internet Data Handling
email
— An email and MIME handling packageemail.message
: Representing an email messageEmailMessage
as_string()
__str__()
as_bytes()
__bytes__()
is_multipart()
set_unixfrom()
get_unixfrom()
__len__()
__contains__()
__getitem__()
__setitem__()
__delitem__()
keys()
values()
items()
get()
get_all()
add_header()
replace_header()
get_content_type()
get_content_maintype()
get_content_subtype()
get_default_type()
set_default_type()
set_param()
del_param()
get_filename()
get_boundary()
set_boundary()
get_content_charset()
get_charsets()
is_attachment()
get_content_disposition()
walk()
get_body()
iter_attachments()
iter_parts()
get_content()
set_content()
make_related()
make_alternative()
make_mixed()
add_related()
add_alternative()
add_attachment()
clear()
clear_content()
preamble
epilogue
defects
MIMEPart
email.parser
: Parsing email messagesemail.generator
: Generating MIME documentsemail.policy
: Policy Objectsemail.errors
: Exception and Defect classesemail.headerregistry
: Custom Header Objectsemail.contentmanager
: Managing MIME Contentemail
: Examplesemail.message.Message
: Representing an email message using thecompat32
APIMessage
as_string()
__str__()
as_bytes()
__bytes__()
is_multipart()
set_unixfrom()
get_unixfrom()
attach()
get_payload()
set_payload()
set_charset()
get_charset()
__len__()
__contains__()
__getitem__()
__setitem__()
__delitem__()
keys()
values()
items()
get()
get_all()
add_header()
replace_header()
get_content_type()
get_content_maintype()
get_content_subtype()
get_default_type()
set_default_type()
get_params()
get_param()
set_param()
del_param()
set_type()
get_filename()
get_boundary()
set_boundary()
get_content_charset()
get_charsets()
get_content_disposition()
walk()
preamble
epilogue
defects
email.mime
: Creating email and MIME objects from scratchemail.header
: Internationalized headersemail.charset
: Representing character setsemail.encoders
: Encodersemail.utils
: Miscellaneous utilitiesemail.iterators
: Iterators
json
— JSON encoder and decodermailbox
— Manipulate mailboxes in various formatsmimetypes
— Map filenames to MIME typesbase64
— Base16, Base32, Base64, Base85 Data Encodingsb64encode()
b64decode()
standard_b64encode()
standard_b64decode()
urlsafe_b64encode()
urlsafe_b64decode()
b32encode()
b32decode()
b32hexencode()
b32hexdecode()
b16encode()
b16decode()
a85encode()
a85decode()
b85encode()
b85decode()
z85encode()
z85decode()
decode()
decodebytes()
encode()
encodebytes()
- Security Considerations
binascii
— 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 handlersContentHandler
DTDHandler
EntityResolver
ErrorHandler
LexicalHandler
feature_namespaces
feature_namespace_prefixes
feature_string_interning
feature_validation
feature_external_ges
feature_external_pes
all_features
property_lexical_handler
property_declaration_handler
property_dom_node
property_xml_string
all_properties
- ContentHandler Objects
- DTDHandler Objects
- EntityResolver Objects
- ErrorHandler Objects
- LexicalHandler Objects
xml.sax.saxutils
— SAX Utilitiesxml.sax.xmlreader
— Interface for XML parsersxml.parsers.expat
— Fast XML parsing using ExpatExpatError
error
XMLParserType
ErrorString()
ParserCreate()
- XMLParser Objects
Parse()
ParseFile()
SetBase()
GetBase()
GetInputContext()
ExternalEntityParserCreate()
SetParamEntityParsing()
UseForeignDTD()
SetReparseDeferralEnabled()
GetReparseDeferralEnabled()
buffer_size
buffer_text
buffer_used
ordered_attributes
specified_attributes
ErrorByteIndex
ErrorCode
ErrorColumnNumber
ErrorLineNumber
CurrentByteIndex
CurrentColumnNumber
CurrentLineNumber
XmlDeclHandler()
StartDoctypeDeclHandler()
EndDoctypeDeclHandler()
ElementDeclHandler()
AttlistDeclHandler()
StartElementHandler()
EndElementHandler()
ProcessingInstructionHandler()
CharacterDataHandler()
UnparsedEntityDeclHandler()
EntityDeclHandler()
NotationDeclHandler()
StartNamespaceDeclHandler()
EndNamespaceDeclHandler()
CommentHandler()
StartCdataSectionHandler()
EndCdataSectionHandler()
DefaultHandler()
DefaultHandlerExpand()
NotStandaloneHandler()
ExternalEntityRefHandler()
- ExpatError Exceptions
- Example
- Content Model Descriptions
- Expat error constants
codes
messages
XML_ERROR_ASYNC_ENTITY
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
XML_ERROR_BAD_CHAR_REF
XML_ERROR_BINARY_ENTITY_REF
XML_ERROR_DUPLICATE_ATTRIBUTE
XML_ERROR_INCORRECT_ENCODING
XML_ERROR_INVALID_TOKEN
XML_ERROR_JUNK_AFTER_DOC_ELEMENT
XML_ERROR_MISPLACED_XML_PI
XML_ERROR_NO_ELEMENTS
XML_ERROR_NO_MEMORY
XML_ERROR_PARAM_ENTITY_REF
XML_ERROR_PARTIAL_CHAR
XML_ERROR_RECURSIVE_ENTITY_REF
XML_ERROR_SYNTAX
XML_ERROR_TAG_MISMATCH
XML_ERROR_UNCLOSED_TOKEN
XML_ERROR_UNDEFINED_ENTITY
XML_ERROR_UNKNOWN_ENCODING
XML_ERROR_UNCLOSED_CDATA_SECTION
XML_ERROR_EXTERNAL_ENTITY_HANDLING
XML_ERROR_NOT_STANDALONE
XML_ERROR_UNEXPECTED_STATE
XML_ERROR_ENTITY_DECLARED_IN_PE
XML_ERROR_FEATURE_REQUIRES_XML_DTD
XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING
XML_ERROR_UNBOUND_PREFIX
XML_ERROR_UNDECLARING_PREFIX
XML_ERROR_INCOMPLETE_PE
XML_ERROR_XML_DECL
XML_ERROR_TEXT_DECL
XML_ERROR_PUBLICID
XML_ERROR_SUSPENDED
XML_ERROR_NOT_SUSPENDED
XML_ERROR_ABORTED
XML_ERROR_FINISHED
XML_ERROR_SUSPEND_PE
XML_ERROR_RESERVED_PREFIX_XML
XML_ERROR_RESERVED_PREFIX_XMLNS
XML_ERROR_RESERVED_NAMESPACE_URI
XML_ERROR_INVALID_ARGUMENT
XML_ERROR_NO_BUFFER
XML_ERROR_AMPLIFICATION_LIMIT_BREACH
- Internet Protocols and Support
webbrowser
— Convenient web-browser controllerwsgiref
— WSGI Utilities and Reference Implementationwsgiref.util
– WSGI environment utilitieswsgiref.headers
– WSGI response header toolswsgiref.simple_server
– a simple WSGI HTTP serverwsgiref.validate
— WSGI conformance checkerwsgiref.handlers
– server/gateway base classesCGIHandler
IISCGIHandler
BaseCGIHandler
SimpleHandler
BaseHandler
run()
_write()
_flush()
get_stdin()
get_stderr()
add_cgi_vars()
wsgi_multithread
wsgi_multiprocess
wsgi_run_once
os_environ
server_software
get_scheme()
setup_environ()
log_exception()
traceback_limit
error_output()
error_status
error_headers
error_body
wsgi_file_wrapper
sendfile()
origin_server
http_version
read_environ()
wsgiref.types
– WSGI types for static type checking- Examples
urllib
— URL handling modulesurllib.request
— Extensible library for opening URLsurlopen()
install_opener()
build_opener()
pathname2url()
url2pathname()
getproxies()
Request
OpenerDirector
BaseHandler
HTTPDefaultErrorHandler
HTTPRedirectHandler
HTTPCookieProcessor
ProxyHandler
HTTPPasswordMgr
HTTPPasswordMgrWithDefaultRealm
HTTPPasswordMgrWithPriorAuth
AbstractBasicAuthHandler
HTTPBasicAuthHandler
ProxyBasicAuthHandler
AbstractDigestAuthHandler
HTTPDigestAuthHandler
ProxyDigestAuthHandler
HTTPHandler
HTTPSHandler
FileHandler
DataHandler
FTPHandler
CacheFTPHandler
UnknownHandler
HTTPErrorProcessor
- Request Objects
- OpenerDirector Objects
- BaseHandler Objects
- HTTPRedirectHandler Objects
- HTTPCookieProcessor Objects
- ProxyHandler Objects
- HTTPPasswordMgr Objects
- HTTPPasswordMgrWithPriorAuth Objects
- AbstractBasicAuthHandler Objects
- HTTPBasicAuthHandler Objects
- ProxyBasicAuthHandler Objects
- AbstractDigestAuthHandler Objects
- HTTPDigestAuthHandler Objects
- ProxyDigestAuthHandler Objects
- HTTPHandler Objects
- HTTPSHandler Objects
- FileHandler Objects
- DataHandler Objects
- FTPHandler Objects
- CacheFTPHandler Objects
- UnknownHandler Objects
- HTTPErrorProcessor Objects
- Examples
- Legacy interface
urllib.request
Restrictions
urllib.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 clientHTTPConnection
HTTPSConnection
HTTPResponse
parse_headers()
HTTPException
NotConnected
InvalidURL
UnknownProtocol
UnknownTransferEncoding
UnimplementedFileMode
IncompleteRead
ImproperConnectionState
CannotSendRequest
CannotSendHeader
ResponseNotReady
BadStatusLine
LineTooLong
RemoteDisconnected
HTTP_PORT
HTTPS_PORT
responses
- HTTPConnection Objects
- HTTPResponse Objects
- Examples
- HTTPMessage Objects
ftplib
— FTP protocol clientpoplib
— POP3 protocol clientimaplib
— IMAP4 protocol clientIMAP4
error
abort
readonly
IMAP4_SSL
IMAP4_stream
Internaldate2tuple()
Int2AP()
ParseFlags()
Time2Internaldate()
- IMAP4 Objects
append()
authenticate()
check()
close()
copy()
create()
delete()
deleteacl()
enable()
expunge()
fetch()
getacl()
getannotation()
getquota()
getquotaroot()
list()
login()
login_cram_md5()
logout()
lsub()
myrights()
namespace()
noop()
open()
partial()
proxyauth()
read()
readline()
recent()
rename()
response()
search()
select()
send()
setacl()
setannotation()
setquota()
shutdown()
socket()
sort()
starttls()
status()
store()
subscribe()
thread()
uid()
unsubscribe()
unselect()
xatom()
PROTOCOL_VERSION
debug
utf8_enabled
- IMAP4 Example
smtplib
— SMTP protocol clientuuid
— UUID objects according to RFC 9562SafeUUID
UUID
bytes
bytes_le
fields
time_low
time_mid
time_hi_version
clock_seq_hi_variant
clock_seq_low
node
time
clock_seq
hex
int
urn
variant
version
is_safe
getnode()
uuid1()
uuid3()
uuid4()
uuid5()
uuid8()
NAMESPACE_DNS
NAMESPACE_URL
NAMESPACE_OID
NAMESPACE_X500
RESERVED_NCS
RFC_4122
RESERVED_MICROSOFT
RESERVED_FUTURE
- Command-Line Usage
- Example
- Command-Line Example
socketserver
— A framework for network serversTCPServer
UDPServer
UnixStreamServer
UnixDatagramServer
- Server Creation Notes
- Server Objects
BaseServer
fileno()
handle_request()
serve_forever()
service_actions()
shutdown()
server_close()
address_family
RequestHandlerClass
server_address
socket
allow_reuse_address
request_queue_size
socket_type
timeout
finish_request()
get_request()
handle_error()
handle_timeout()
process_request()
server_activate()
server_bind()
verify_request()
- Request Handler Objects
- Examples
http.server
— HTTP serversHTTPServer
ThreadingHTTPServer
BaseHTTPRequestHandler
client_address
server
close_connection
requestline
command
path
request_version
headers
rfile
wfile
server_version
sys_version
error_message_format
error_content_type
protocol_version
MessageClass
responses
handle()
handle_one_request()
handle_expect_100()
send_error()
send_response()
send_header()
send_response_only()
end_headers()
flush_headers()
log_request()
log_error()
log_message()
version_string()
date_time_string()
log_date_time_string()
address_string()
SimpleHTTPRequestHandler
CGIHTTPRequestHandler
- Security Considerations
http.cookies
— HTTP state managementhttp.cookiejar
— Cookie handling for HTTP clientsLoadError
CookieJar
FileCookieJar
CookiePolicy
DefaultCookiePolicy
Cookie
- CookieJar and FileCookieJar Objects
- FileCookieJar subclasses and co-operation with web browsers
- CookiePolicy Objects
- DefaultCookiePolicy Objects
blocked_domains()
set_blocked_domains()
is_blocked()
allowed_domains()
set_allowed_domains()
is_not_allowed()
rfc2109_as_netscape
strict_domain
strict_rfc2965_unverifiable
strict_ns_unverifiable
strict_ns_domain
strict_ns_set_initial_dollar
strict_ns_set_path
DomainStrictNoDots
DomainStrictNonDomain
DomainRFC2965Match
DomainLiberal
DomainStrict
- Cookie Objects
- Examples
xmlrpc
— XMLRPC server and client modulesxmlrpc.client
— XML-RPC client accessxmlrpc.server
— Basic XML-RPC serversipaddress
— IPv4/IPv6 manipulation library- Convenience factory functions
- IP Addresses
- IP Network definitions
- Prefix, net mask and host mask
- Network objects
IPv4Network
version
max_prefixlen
is_multicast
is_private
is_unspecified
is_reserved
is_loopback
is_link_local
network_address
broadcast_address
hostmask
netmask
with_prefixlen
compressed
exploded
with_netmask
with_hostmask
num_addresses
prefixlen
hosts()
overlaps()
address_exclude()
subnets()
supernet()
subnet_of()
supernet_of()
compare_networks()
IPv6Network
version
max_prefixlen
is_multicast
is_private
is_unspecified
is_reserved
is_loopback
is_link_local
network_address
broadcast_address
hostmask
netmask
with_prefixlen
compressed
exploded
with_netmask
with_hostmask
num_addresses
prefixlen
hosts()
overlaps()
address_exclude()
subnets()
supernet()
subnet_of()
supernet_of()
compare_networks()
is_site_local
- Operators
- Interface objects
- Other Module Level Functions
- Custom Exceptions
- Multimedia Services
- Internationalization
gettext
— Multilingual internationalization serviceslocale
— Internationalization servicesError
setlocale()
localeconv()
nl_langinfo()
CODESET
D_T_FMT
D_FMT
T_FMT
T_FMT_AMPM
DAY_1
DAY_2
DAY_3
DAY_4
DAY_5
DAY_6
DAY_7
ABDAY_1
ABDAY_2
ABDAY_3
ABDAY_4
ABDAY_5
ABDAY_6
ABDAY_7
MON_1
MON_2
MON_3
MON_4
MON_5
MON_6
MON_7
MON_8
MON_9
MON_10
MON_11
MON_12
ABMON_1
ABMON_2
ABMON_3
ABMON_4
ABMON_5
ABMON_6
ABMON_7
ABMON_8
ABMON_9
ABMON_10
ABMON_11
ABMON_12
RADIXCHAR
THOUSEP
YESEXPR
NOEXPR
CRNCYSTR
ERA
ERA_D_T_FMT
ERA_D_FMT
ERA_T_FMT
ALT_DIGITS
getdefaultlocale()
getlocale()
getpreferredencoding()
getencoding()
normalize()
strcoll()
strxfrm()
format_string()
currency()
str()
delocalize()
localize()
atof()
atoi()
LC_CTYPE
LC_COLLATE
LC_TIME
LC_MONETARY
LC_MESSAGES
LC_NUMERIC
LC_ALL
CHAR_MAX
- Background, details, hints, tips and caveats
- For extension writers and programs that embed Python
- Access to message catalogs
- Program Frameworks
turtle
— Turtle graphics- Introduction
- Get started
- Tutorial
- How to…
- Turtle graphics reference
- Methods of RawTurtle/Turtle and corresponding functions
- Methods of TurtleScreen/Screen and corresponding functions
- Public classes
- Explanation
- Help and configuration
turtledemo
— Demo scripts- Changes since Python 2.6
- Changes since Python 3.0
cmd
— 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.simpledialog
— Standard Tkinter input dialogstkinter.filedialog
— File selection dialogstkinter.commondialog
— Dialog window templates
tkinter.messagebox
— Tkinter message promptstkinter.scrolledtext
— Scrolled Text Widgettkinter.dnd
— Drag and drop supporttkinter.ttk
— Tk themed widgets- Using Ttk
- Ttk Widgets
- Widget
- Combobox
- Spinbox
- Notebook
- Progressbar
- Separator
- Sizegrip
- Treeview
- Options
- Item Options
- Tag Options
- Column Identifiers
- Virtual Events
- ttk.Treeview
Treeview
bbox()
get_children()
set_children()
column()
delete()
detach()
exists()
focus()
heading()
identify()
identify_row()
identify_column()
identify_region()
identify_element()
index()
insert()
item()
move()
next()
parent()
prev()
reattach()
see()
selection()
selection_set()
selection_add()
selection_remove()
selection_toggle()
set()
tag_bind()
tag_configure()
tag_has()
xview()
yview()
- Ttk Styling
- IDLE
- Development Tools
typing
— Support for type hints- Specification for the Python Type System
- Type aliases
- NewType
- Annotating callable objects
- Generics
- Annotating tuples
- The type of class objects
- Annotating generators and coroutines
- User-defined generic types
- The
Any
type - Nominal vs structural subtyping
- Module contents
- Special typing primitives
- Protocols
- ABCs for working with IO
- Functions and decorators
- Introspection helpers
- Constant
- Deprecated aliases
- Deprecation Timeline of Major Features
pydoc
— Documentation generator and online help system- Python Development Mode
doctest
— Test interactive Python examples- Simple Usage: Checking Examples in Docstrings
- Simple Usage: Checking Examples in a Text File
- How It Works
- Basic API
- Unittest API
- Advanced API
- Debugging
- Soapbox
unittest
— Unit testing framework- Basic example
- Command-Line Interface
- Test Discovery
- Organizing test code
- Re-using old test code
- Skipping tests and expected failures
- Distinguishing test iterations using subtests
- Classes and functions
- Test cases
TestCase
setUp()
tearDown()
setUpClass()
tearDownClass()
run()
skipTest()
subTest()
debug()
assertEqual()
assertNotEqual()
assertTrue()
assertFalse()
assertIs()
assertIsNot()
assertIsNone()
assertIsNotNone()
assertIn()
assertNotIn()
assertIsInstance()
assertNotIsInstance()
assertRaises()
assertRaisesRegex()
assertWarns()
assertWarnsRegex()
assertLogs()
assertNoLogs()
assertAlmostEqual()
assertNotAlmostEqual()
assertGreater()
assertGreaterEqual()
assertLess()
assertLessEqual()
assertRegex()
assertNotRegex()
assertCountEqual()
addTypeEqualityFunc()
assertMultiLineEqual()
assertSequenceEqual()
assertListEqual()
assertTupleEqual()
assertSetEqual()
assertDictEqual()
fail()
failureException
longMessage
maxDiff
countTestCases()
defaultTestResult()
id()
shortDescription()
addCleanup()
enterContext()
doCleanups()
addClassCleanup()
enterClassContext()
doClassCleanups()
IsolatedAsyncioTestCase
FunctionTestCase
- Grouping tests
- Loading and running tests
TestLoader
TestResult
errors
failures
skipped
expectedFailures
unexpectedSuccesses
collectedDurations
shouldStop
testsRun
buffer
failfast
tb_locals
wasSuccessful()
stop()
startTest()
stopTest()
startTestRun()
stopTestRun()
addError()
addFailure()
addSuccess()
addSkip()
addExpectedFailure()
addUnexpectedSuccess()
addSubTest()
addDuration()
TextTestResult
defaultTestLoader
TextTestRunner
main()
- load_tests Protocol
- Test cases
- Class and Module Fixtures
- Signal Handling
unittest.mock
— mock object library- Quick Guide
- The Mock Class
Mock
assert_called()
assert_called_once()
assert_called_with()
assert_called_once_with()
assert_any_call()
assert_has_calls()
assert_not_called()
reset_mock()
mock_add_spec()
attach_mock()
configure_mock()
__dir__()
_get_child_mock()
called
call_count
return_value
side_effect
call_args
call_args_list
method_calls
mock_calls
__class__
NonCallableMock
PropertyMock
AsyncMock
ThreadingMock
- Calling
- Deleting Attributes
- Mock names and the name attribute
- Attaching Mocks as Attributes
- The patchers
- MagicMock and magic method support
- Helpers
- Order of precedence of
side_effect
,return_value
and wraps
unittest.mock
— getting started- Using Mock
- Mock Patching Methods
- Mock for Method Calls on an Object
- Mocking Classes
- Naming your mocks
- Tracking all Calls
- Setting Return Values and Attributes
- Raising exceptions with mocks
- Side effect functions and iterables
- Mocking asynchronous iterators
- Mocking asynchronous context manager
- Creating a Mock from an Existing Object
- Using side_effect to return per file content
- Patch Decorators
- Further Examples
- Mocking chained calls
- Partial mocking
- Mocking a Generator Method
- Applying the same patch to every test method
- Mocking Unbound Methods
- Checking multiple calls with mock
- Coping with mutable arguments
- Nesting Patches
- Mocking a dictionary with MagicMock
- Mock subclasses and their attributes
- Mocking imports with patch.dict
- Tracking order of calls and less verbose call assertions
- More complex argument matching
- Using Mock
test
— Regression tests package for Pythontest.support
— Utilities for the Python test suiteTestFailed
ResourceDenied
verbose
is_jython
is_android
unix_shell
LOOPBACK_TIMEOUT
INTERNET_TIMEOUT
SHORT_TIMEOUT
LONG_TIMEOUT
PGO
PIPE_MAX_SIZE
Py_DEBUG
SOCK_MAX_SIZE
TEST_SUPPORT_DIR
TEST_HOME_DIR
TEST_DATA_DIR
MAX_Py_ssize_t
max_memuse
real_max_memuse
MISSING_C_DOCSTRINGS
HAVE_DOCSTRINGS
TEST_HTTP_URL
ALWAYS_EQ
NEVER_EQ
LARGEST
SMALLEST
busy_retry()
sleeping_retry()
is_resource_enabled()
python_is_optimized()
with_pymalloc()
requires()
sortdict()
findfile()
get_pagesize()
setswitchinterval()
check_impl_detail()
set_memlimit()
record_original_stdout()
get_original_stdout()
args_from_interpreter_flags()
optim_args_from_interpreter_flags()
captured_stdin()
captured_stdout()
captured_stderr()
disable_faulthandler()
gc_collect()
disable_gc()
swap_attr()
swap_item()
flush_std_streams()
print_warning()
wait_process()
calcobjsize()
calcvobjsize()
checksizeof()
anticipate_failure()
system_must_validate_cert()
run_with_locale()
run_with_tz()
requires_freebsd_version()
requires_linux_version()
requires_mac_version()
requires_gil_enabled()
requires_IEEE_754()
requires_zlib()
requires_gzip()
requires_bz2()
requires_lzma()
requires_resource()
requires_docstrings()
requires_limited_api()
cpython_only()
impl_detail()
no_tracing()
refcount_test()
bigmemtest()
bigaddrspacetest()
check_syntax_error()
open_urlresource()
reap_children()
get_attribute()
catch_unraisable_exception()
load_package_tests()
detect_api_mismatch()
patch()
run_in_subinterp()
check_free_after_iterating()
missing_compiler_executable()
check__all__()
skip_if_broken_multiprocessing_synchronize()
check_disallow_instantiation()
adjust_int_max_str_digits()
SuppressCrashReport
SaveSignals
Matcher
test.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 testsFS_NONASCII
SAVEDCWD
TESTFN
TESTFN_NONASCII
TESTFN_UNENCODABLE
TESTFN_UNDECODABLE
TESTFN_UNICODE
EnvironmentVarGuard
FakePath
set()
unset()
can_symlink()
can_xattr()
change_cwd()
create_empty_file()
fd_count()
fs_is_case_insensitive()
make_bad_fd()
rmdir()
rmtree()
skip_unless_symlink()
skip_unless_xattr()
temp_cwd()
temp_dir()
temp_umask()
unlink()
test.support.import_helper
— Utilities for import teststest.support.warnings_helper
— Utilities for warnings tests
- Debugging and Profiling
- Audit events table
bdb
— Debugger frameworkBdbQuit
Breakpoint
Bdb
canonic()
reset()
trace_dispatch()
dispatch_line()
dispatch_call()
dispatch_return()
dispatch_exception()
is_skipped_line()
stop_here()
break_here()
break_anywhere()
user_call()
user_line()
user_return()
user_exception()
do_clear()
set_step()
set_next()
set_return()
set_until()
set_trace()
set_continue()
set_quit()
set_break()
clear_break()
clear_bpbynumber()
clear_all_file_breaks()
clear_all_breaks()
get_bpbynumber()
get_break()
get_breaks()
get_file_breaks()
get_all_breaks()
get_stack()
format_stack_entry()
run()
runeval()
runctx()
runcall()
checkfuncname()
effective()
set_trace()
faulthandler
— 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
- Python Runtime Services
sys
— System-specific parameters and functionsabiflags
addaudithook()
argv
audit()
base_exec_prefix
base_prefix
byteorder
builtin_module_names
call_tracing()
copyright
_clear_type_cache()
_clear_internal_caches()
_current_frames()
_current_exceptions()
breakpointhook()
_debugmallocstats()
dllhandle
displayhook()
dont_write_bytecode
_emscripten_info
pycache_prefix
excepthook()
__breakpointhook__
__displayhook__
__excepthook__
__unraisablehook__
exception()
exc_info()
exec_prefix
executable
exit()
flags
float_info
float_repr_style
getallocatedblocks()
getunicodeinternedsize()
getandroidapilevel()
getdefaultencoding()
getdlopenflags()
getfilesystemencoding()
getfilesystemencodeerrors()
get_int_max_str_digits()
getrefcount()
getrecursionlimit()
getsizeof()
getswitchinterval()
_getframe()
_getframemodulename()
getobjects()
getprofile()
gettrace()
getwindowsversion()
get_asyncgen_hooks()
get_coroutine_origin_tracking_depth()
hash_info
hexversion
implementation
int_info
__interactivehook__
intern()
_is_gil_enabled()
is_finalizing()
last_exc
_is_interned()
last_type
last_value
last_traceback
maxsize
maxunicode
meta_path
modules
orig_argv
path
path_hooks
path_importer_cache
platform
platlibdir
prefix
ps1
ps2
setdlopenflags()
set_int_max_str_digits()
setprofile()
setrecursionlimit()
setswitchinterval()
settrace()
set_asyncgen_hooks()
set_coroutine_origin_tracking_depth()
activate_stack_trampoline()
deactivate_stack_trampoline()
is_stack_trampoline_active()
_enablelegacywindowsfsencoding()
stdin
stdout
stderr
__stdin__
__stdout__
__stderr__
stdlib_module_names
thread_info
tracebacklimit
unraisablehook()
version
api_version
version_info
warnoptions
winver
_xoptions
sys.monitoring
— Execution event monitoringsysconfig
— Provide access to Python’s configuration informationbuiltins
— Built-in objects__main__
— Top-level code environmentwarnings
— Warning controldataclasses
— Data Classescontextlib
— Utilities forwith
-statement contexts- Utilities
- Examples and Recipes
- Single use, reusable and reentrant context managers
abc
— Abstract Base Classesatexit
— Exit handlerstraceback
— Print or retrieve a stack traceback__future__
— Future statement definitionsgc
— Garbage Collector interfaceenable()
disable()
isenabled()
collect()
set_debug()
get_debug()
get_objects()
get_stats()
set_threshold()
get_count()
get_threshold()
get_referrers()
get_referents()
is_tracked()
is_finalized()
freeze()
unfreeze()
get_freeze_count()
garbage
callbacks
DEBUG_STATS
DEBUG_COLLECTABLE
DEBUG_UNCOLLECTABLE
DEBUG_SAVEALL
DEBUG_LEAK
inspect
— Inspect live objects- Types and members
getmembers()
getmembers_static()
getmodulename()
ismodule()
isclass()
ismethod()
ispackage()
isfunction()
isgeneratorfunction()
isgenerator()
iscoroutinefunction()
markcoroutinefunction()
iscoroutine()
isawaitable()
isasyncgenfunction()
isasyncgen()
istraceback()
isframe()
iscode()
isbuiltin()
ismethodwrapper()
isroutine()
isabstract()
ismethoddescriptor()
isdatadescriptor()
isgetsetdescriptor()
ismemberdescriptor()
- Retrieving source code
- Introspecting callables with the Signature object
- Classes and functions
- The interpreter stack
- Fetching attributes statically
- Current State of Generators, Coroutines, and Asynchronous Generators
- Code Objects Bit Flags
- Buffer flags
- Command Line Interface
- Types and members
annotationlib
— Functionality for introspecting annotationssite
— 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
- Introduction
- Functions
importlib.abc
– Abstract base classes related to importimportlib.machinery
– Importers and path hooksSOURCE_SUFFIXES
DEBUG_BYTECODE_SUFFIXES
OPTIMIZED_BYTECODE_SUFFIXES
BYTECODE_SUFFIXES
EXTENSION_SUFFIXES
all_suffixes()
BuiltinImporter
FrozenImporter
WindowsRegistryFinder
PathFinder
FileFinder
SourceFileLoader
SourcelessFileLoader
ExtensionFileLoader
NamespaceLoader
ModuleSpec
AppleFrameworkLoader
importlib.util
– Utility code for importers- Examples
importlib.resources
– Package resource reading, opening and accessimportlib.resources.abc
– Abstract base classes for resourcesimportlib.metadata
– Accessing package metadata- The initialization of the
sys.path
module search path
- Python Language Services
ast
— Abstract Syntax Trees- Abstract Grammar
- Node classes
AST
- Root nodes
- Literals
- Variables
- Expressions
- Statements
- Control flow
- Pattern matching
- Type parameters
- Function and class definitions
- Async and await
ast
Helpers- Compiler Flags
- Command-Line Usage
symtable
— Access to the compiler’s symbol tablestoken
— Constants used with Python parse treestok_name
ISTERMINAL()
ISNONTERMINAL()
ISEOF()
ENDMARKER
NAME
NUMBER
STRING
NEWLINE
INDENT
DEDENT
LPAR
RPAR
LSQB
RSQB
COLON
COMMA
SEMI
PLUS
MINUS
STAR
SLASH
VBAR
AMPER
LESS
GREATER
EQUAL
DOT
PERCENT
LBRACE
RBRACE
EQEQUAL
NOTEQUAL
LESSEQUAL
GREATEREQUAL
TILDE
CIRCUMFLEX
LEFTSHIFT
RIGHTSHIFT
DOUBLESTAR
PLUSEQUAL
MINEQUAL
STAREQUAL
SLASHEQUAL
PERCENTEQUAL
AMPEREQUAL
VBAREQUAL
CIRCUMFLEXEQUAL
LEFTSHIFTEQUAL
RIGHTSHIFTEQUAL
DOUBLESTAREQUAL
DOUBLESLASH
DOUBLESLASHEQUAL
AT
ATEQUAL
RARROW
ELLIPSIS
COLONEQUAL
EXCLAMATION
OP
TYPE_IGNORE
TYPE_COMMENT
SOFT_KEYWORD
FSTRING_START
FSTRING_MIDDLE
FSTRING_END
COMMENT
NL
ERRORTOKEN
N_TOKENS
NT_OFFSET
ENCODING
EXACT_TOKEN_TYPES
keyword
— 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++ runtime- File Operations
- Console I/O
- Other Functions
heapmin()
set_error_mode()
OUT_TO_DEFAULT
OUT_TO_STDERR
OUT_TO_MSGBOX
REPORT_ERRMODE
CrtSetReportMode()
CrtSetReportFile()
CRT_WARN
CRT_ERROR
CRT_ASSERT
CRTDBG_MODE_DEBUG
CRTDBG_MODE_FILE
CRTDBG_MODE_WNDW
CRTDBG_REPORT_MODE
CRT_ASSEMBLY_VERSION
VC_ASSEMBLY_PUBLICKEYTOKEN
LIBRARIES_ASSEMBLY_NAME_PREFIX
winreg
— Windows registry access- Functions
CloseKey()
ConnectRegistry()
CreateKey()
CreateKeyEx()
DeleteKey()
DeleteKeyEx()
DeleteValue()
EnumKey()
EnumValue()
ExpandEnvironmentStrings()
FlushKey()
LoadKey()
OpenKey()
OpenKeyEx()
QueryInfoKey()
QueryValue()
QueryValueEx()
SaveKey()
SetValue()
SetValueEx()
DisableReflectionKey()
EnableReflectionKey()
QueryReflectionKey()
- Constants
- Registry Handle Objects
- Functions
winsound
— 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 informationerror
- Resource Limits
RLIM_INFINITY
getrlimit()
setrlimit()
prlimit()
RLIMIT_CORE
RLIMIT_CPU
RLIMIT_FSIZE
RLIMIT_DATA
RLIMIT_STACK
RLIMIT_RSS
RLIMIT_NPROC
RLIMIT_NOFILE
RLIMIT_OFILE
RLIMIT_MEMLOCK
RLIMIT_VMEM
RLIMIT_AS
RLIMIT_MSGQUEUE
RLIMIT_NICE
RLIMIT_RTPRIO
RLIMIT_RTTIME
RLIMIT_SIGPENDING
RLIMIT_SBSIZE
RLIMIT_SWAP
RLIMIT_NPTS
RLIMIT_KQUEUES
- Resource Usage
syslog
— Unix syslog library routinessyslog()
openlog()
closelog()
setlogmask()
LOG_EMERG
LOG_ALERT
LOG_CRIT
LOG_ERR
LOG_WARNING
LOG_NOTICE
LOG_INFO
LOG_DEBUG
LOG_AUTH
LOG_AUTHPRIV
LOG_CRON
LOG_DAEMON
LOG_FTP
LOG_INSTALL
LOG_KERN
LOG_LAUNCHD
LOG_LPR
LOG_MAIL
LOG_NETINFO
LOG_NEWS
LOG_RAS
LOG_REMOTEAUTH
LOG_SYSLOG
LOG_USER
LOG_UUCP
LOG_LOCAL0
LOG_LOCAL1
LOG_LOCAL2
LOG_LOCAL3
LOG_LOCAL4
LOG_LOCAL5
LOG_LOCAL6
LOG_LOCAL7
LOG_PID
LOG_CONS
LOG_NDELAY
LOG_ODELAY
LOG_NOWAIT
LOG_PERROR
- Examples
- Modules command-line interface (CLI)
- Superseded Modules
getopt
— C-style parser for command line optionsoptparse
— Parser for command line options- Background
- Tutorial
- Reference Guide
- Option Callbacks
- Defining a callback option
- How callbacks are called
- Raising errors in a callback
- Callback example 1: trivial callback
- Callback example 2: check option order
- Callback example 3: check option order (generalized)
- Callback example 4: check arbitrary condition
- Callback example 5: fixed arguments
- Callback example 6: variable arguments
- Extending
optparse
- Exceptions
- Removed Modules
- Security Considerations
- Extending and Embedding the Python Interpreter
- Recommended third party tools
- Creating extensions without third party tools
- 1. Extending Python with C or C++
- 1.1. A Simple Example
- 1.2. Intermezzo: Errors and Exceptions
- 1.3. Back to the Example
- 1.4. The Module’s Method Table and Initialization Function
- 1.5. Compilation and Linkage
- 1.6. Calling Python Functions from C
- 1.7. Extracting Parameters in Extension Functions
- 1.8. Keyword Parameters for Extension Functions
- 1.9. Building Arbitrary Values
- 1.10. Reference Counts
- 1.11. Writing Extensions in C++
- 1.12. Providing a C API for an Extension Module
- 2. Defining Extension Types: Tutorial
- 3. Defining Extension Types: Assorted Topics
- 4. Building C and C++ Extensions
- 5. Building C and C++ Extensions on Windows
- 1. Extending Python with C or C++
- Embedding the CPython runtime in a larger application
- Python/C API Reference Manual
- Introduction
- C API Stability
- The Very High Level Layer
- Reference Counting
- Exception Handling
- Utilities
- Abstract Objects Layer
- Concrete Objects Layer
- Fundamental Objects
- Numeric Objects
- Sequence Objects
- Container Objects
- Function Objects
- Other Objects
- Initialization, Finalization, and Threads
- Before Python Initialization
- Global configuration variables
- Initializing and finalizing the interpreter
- Process-wide parameters
- Thread State and the Global Interpreter Lock
- Sub-interpreter support
- Asynchronous Notifications
- Profiling and Tracing
- Reference tracing
- Advanced Debugger Support
- Thread Local Storage Support
- Synchronization Primitives
- Python Initialization Configuration
- Memory Management
- Object Implementation Support
- Allocating Objects on the Heap
- Common Object Structures
- Type Objects
- Supporting Cyclic Garbage Collection
- API and ABI Versioning
- Monitoring C API
- Generating Execution Events
- Installing Python Modules
- Python HOWTOs
- Python Frequently Asked Questions
- General Python FAQ
- Programming FAQ
- Design and History FAQ
- Why does Python use indentation for grouping of statements?
- Why am I getting strange results with simple arithmetic operations?
- Why are floating-point calculations so inaccurate?
- Why are Python strings immutable?
- Why must ‘self’ be used explicitly in method definitions and calls?
- Why can’t I use an assignment in an expression?
- Why does Python use methods for some functionality (e.g. list.index()) but functions for other (e.g. len(list))?
- Why is join() a string method instead of a list or tuple method?
- How fast are exceptions?
- Why isn’t there a switch or case statement in Python?
- Can’t you emulate threads in the interpreter instead of relying on an OS-specific thread implementation?
- Why can’t lambda expressions contain statements?
- Can Python be compiled to machine code, C or some other language?
- How does Python manage memory?
- Why doesn’t CPython use a more traditional garbage collection scheme?
- Why isn’t all memory freed when CPython exits?
- Why are there separate tuple and list data types?
- How are lists implemented in CPython?
- How are dictionaries implemented in CPython?
- Why must dictionary keys be immutable?
- Why doesn’t list.sort() return the sorted list?
- How do you specify and enforce an interface spec in Python?
- Why is there no goto?
- Why can’t raw strings (r-strings) end with a backslash?
- Why doesn’t Python have a “with” statement for attribute assignments?
- Why don’t generators support the with statement?
- Why are colons required for the if/while/def/class statements?
- Why does Python allow commas at the end of lists and tuples?
- Library and Extension FAQ
- Extending/Embedding FAQ
- Can I create my own functions in C?
- Can I create my own functions in C++?
- Writing C is hard; are there any alternatives?
- How can I execute arbitrary Python statements from C?
- How can I evaluate an arbitrary Python expression from C?
- How do I extract C values from a Python object?
- How do I use Py_BuildValue() to create a tuple of arbitrary length?
- How do I call an object’s method from C?
- How do I catch the output from PyErr_Print() (or anything that prints to stdout/stderr)?
- How do I access a module written in Python from C?
- How do I interface to C++ objects from Python?
- I added a module using the Setup file and the make fails; why?
- How do I debug an extension?
- I want to compile a Python module on my Linux system, but some files are missing. Why?
- How do I tell “incomplete input” from “invalid input”?
- How do I find undefined g++ symbols __builtin_new or __pure_virtual?
- Can I create an object class with some methods implemented in C and others in Python (e.g. through inheritance)?
- Python on Windows FAQ
- How do I run a Python program under Windows?
- How do I make Python scripts executable?
- Why does Python sometimes take so long to start?
- How do I make an executable from a Python script?
- Is a
*.pyd
file the same as a DLL? - How can I embed Python into a Windows application?
- How do I keep editors from inserting tabs into my Python source?
- How do I check for a keypress without blocking?
- How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error?
- Graphic User Interface FAQ
- “Why is Python Installed on my Computer?” FAQ
- Deprecations
- Glossary
- About these documents
- Dealing with Bugs
- Copyright
- History and License
- History of the software
- Terms and conditions for accessing or otherwise using Python
- Licenses and Acknowledgements for Incorporated Software
- Mersenne Twister
- Sockets
- Asynchronous socket services
- Cookie management
- Execution tracing
- UUencode and UUdecode functions
- XML Remote Procedure Calls
- test_epoll
- Select kqueue
- SipHash24
- strtod and dtoa
- OpenSSL
- expat
- libffi
- zlib
- cfuhash
- libmpdec
- W3C C14N test suite
- mimalloc
- asyncio
- Global Unbounded Sequences (GUS)