Python Documentation contents¶
- Whatâs New in Python
- Whatâs new in Python 3.15
- Summary â Release highlights
- New features
- Other language changes
- New modules
- Improved modules
- argparse
- calendar
- collections
- collections.abc
- concurrent.futures
- dataclasses
- dbm
- difflib
- functools
- hashlib
- http.client
- http.cookies
- inspect
- locale
- math
- mimetypes
- mmap
- os
- os.path
- resource
- shelve
- socket
- sqlite3
- ssl
- sys
- tarfile
- timeit
- tkinter
- types
- unicodedata
- unittest
- venv
- warnings
- xml.parsers.expat
- zlib
- Optimizations
- Upgraded JIT compiler
- Removed
- Deprecated
- C API changes
- Build changes
- Porting to Python 3.15
- Whatâs new in Python 3.14
- Summary â Release highlights
- New features
- PEP 649 & PEP 749: Deferred evaluation of annotations
- PEP 734: Multiple interpreters in the standard library
- PEP 750: Template string literals
- PEP 768: Safe external debugger interface
- A new type of interpreter
- Free-threaded mode improvements
- Improved error messages
- PEP 784: Zstandard support in the standard library
- Asyncio introspection capabilities
- Concurrent safe warnings control
- Other language changes
- New modules
- Improved modules
- argparse
- ast
- asyncio
- calendar
- concurrent.futures
- configparser
- contextvars
- ctypes
- curses
- datetime
- decimal
- difflib
- dis
- errno
- faulthandler
- fnmatch
- fractions
- functools
- getopt
- getpass
- graphlib
- heapq
- hmac
- http
- imaplib
- inspect
- io
- json
- linecache
- logging.handlers
- math
- mimetypes
- multiprocessing
- operator
- os
- os.path
- pathlib
- pdb
- pickle
- platform
- pydoc
- re
- socket
- ssl
- struct
- symtable
- sys
- sys.monitoring
- sysconfig
- tarfile
- threading
- tkinter
- turtle
- types
- typing
- unicodedata
- unittest
- urllib
- uuid
- webbrowser
- zipfile
- Optimizations
- Removed
- Deprecated
- CPython bytecode changes
- C API changes
- Build changes
- Porting to 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
typingmodule 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.futuresmodule - 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-allbuild target - Removal of
make touchbuild 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-packagesDirectory - PEP 371: The
multiprocessingPackage - PEP 3101: Advanced String Formatting
- PEP 3105:
printAs 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.15.0 alpha 3
- Python 3.15.0 alpha 2
- Python 3.15.0 alpha 1
- macOS
- Windows
- Tools/Demos
- Tests
- Security
- Library
- IDLE
- Documentation
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- Library
- Core and Builtins
- C API
- Build
- Python 3.14.0 beta 1
- Python 3.14.0 alpha 7
- Python 3.14.0 alpha 6
- Python 3.14.0 alpha 5
- Python 3.14.0 alpha 4
- 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
- Whatâs new in Python 3.15
- 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.
ifStatements - 4.2.
forStatements - 4.3. The
range()Function - 4.4.
breakandcontinueStatements - 4.5.
elseClauses on Loops - 4.6.
passStatements - 4.7.
matchStatements - 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. Python install manager
- 4.1.1. Installation
- 4.1.2. Basic use
- 4.1.3. Command help
- 4.1.4. Listing runtimes
- 4.1.5. Installing runtimes
- 4.1.6. Offline installs
- 4.1.7. Uninstalling runtimes
- 4.1.8. Configuration
- 4.1.9. Shebang lines
- 4.1.10. Advanced installation
- 4.1.11. Administrative configuration
- 4.1.12. Installing free-threaded binaries
- 4.1.13. Troubleshooting
- 4.2. The embeddable package
- 4.3. The nuget.org packages
- 4.4. Alternative bundles
- 4.5. Supported Windows versions
- 4.6. Removing the MAX_PATH limitation
- 4.7. UTF-8 mode
- 4.8. Finding modules
- 4.9. Additional modules
- 4.10. Compiling Python on Windows
- 4.11. The full installer (deprecated)
- 4.12. Python launcher for Windows (deprecated)
- 4.1. Python install manager
- 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
- 2.1. Line structure
- 2.2. Other tokens
- 2.3. Names (identifiers and keywords)
- 2.4. Literals
- 2.5. String and Bytes literals
- 2.6. Numeric literals
- 2.7. Operators and delimiters
- 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
- 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
assertstatement - 7.4. The
passstatement - 7.5. The
delstatement - 7.6. The
returnstatement - 7.7. The
yieldstatement - 7.8. The
raisestatement - 7.9. The
breakstatement - 7.10. The
continuestatement - 7.11. The
importstatement - 7.12. The
globalstatement - 7.13. The
nonlocalstatement - 7.14. The
typestatement
- 8. Compound statements
- 8.1. The
ifstatement - 8.2. The
whilestatement - 8.3. The
forstatement - 8.4. The
trystatement - 8.5. The
withstatement - 8.6. The
matchstatement - 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
- 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 and Binary Sequence Type Methods Summary
- Text Sequence Type â
str - Binary Sequence Types â
bytes,bytearray,memoryview - Set Types â
set,frozenset - Mapping Types â
dict - Context Manager Types
- Type Annotation Types â Generic Alias, Union
- Other Built-in Types
- Special Attributes
- Integer string conversion length limitation
- Built-in Exceptions
- Text Processing Services
stringâ Common string operationsstring.templatelibâ Support for template string literalsreâ 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 classes
- Data Types
datetimeâ Basic date and time typeszoneinfoâ IANA time zone supportcalendarâ General calendar-related functionscollectionsâ Container datatypescollections.abcâ Abstract Base Classes for Containersheapqâ Heap queue algorithmbisectâ Array bisection algorithmarrayâ Efficient arrays of numeric valuesweakrefâ Weak referencestypesâ Dynamic type creation and names for built-in typescopyâ Shallow and deep copy operationspprintâ Data pretty printerreprlibâ Alternaterepr()implementationenumâ Support for enumerationsgraphlibâ Functionality to operate with graph-like structures
- Numeric and Mathematical Modules
numbersâ Numeric abstract base classesmathâ Mathematical functionsmath.integerâ integer-specific mathematics functionscmathâ Mathematical functions for complex numbersdecimalâ Decimal fixed-point and floating-point arithmeticfractionsâ Rational numbersrandomâ Generate pseudo-random numbersstatisticsâ Mathematical statistics functions
- Functional Programming Modules
- File and Directory Access
pathlibâ Object-oriented filesystem pathsos.pathâ Common pathname manipulationsstatâ Interpretingstat()resultsfilecmpâ File and Directory Comparisonstempfileâ Generate temporary files and directoriesglobâ Unix style pathname pattern expansionfnmatchâ Unix filename pattern matchinglinecacheâ Random access to text linesshutilâ High-level file operations
- Data Persistence
pickleâ Python object serializationcopyregâ Registerpicklesupport functionsshelveâ Python object persistencemarshalâ Internal Python object serializationdbmâ Interfaces to Unix âdatabasesâsqlite3â DB-API 2.0 interface for SQLite databases- Tutorial
- Reference
- 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
- The
compressionpackage compression.zstdâ Compression compatible with the Zstandard formatzlibâ Compression compatible with gzipgzipâ Support for gzip filesbz2â Support for bzip2 compressionlzmaâ Compression using the LZMA algorithmzipfileâ Work with ZIP archivestarfileâ Read and write tar archive files
- The
- File Formats
- Cryptographic Services
- Generic Operating System Services
osâ Miscellaneous operating system interfacesioâ Core tools for working with streamstimeâ Time access and conversionsloggingâ Logging facility for Pythonlogging.configâ Logging configurationlogging.handlersâ Logging handlersplatformâ Access to underlying platformâs identifying dataerrnoâ Standard errno system symbolsctypesâ 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
- Thread safety without the GIL
- Type conversions
- Incomplete Types
- Callback functions
- Accessing values exported from dlls
- Surprises
- Variable-sized data types
- ctypes reference
- ctypes tutorial
- Command-line interface libraries
argparseâ Parser for command-line options, arguments and subcommandsoptparseâ Parser for command line options- Choosing an argument parsing library
- Introduction
- 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
getpassâ Portable password inputfileinputâ Iterate over lines from multiple input streamscursesâ Terminal handling for character-cell displayscurses.textpadâ Text input widget for curses programscurses.asciiâ Utilities for ASCII characterscurses.panelâ A panel stack extension for cursescmdâ Support for line-oriented command interpreters
- Concurrent Execution
threadingâ Thread-based parallelismmultiprocessingâ Process-based parallelism- Introduction
- Reference
- Programming guidelines
- Examples
multiprocessing.shared_memoryâ Shared memory for direct access across processes- The
concurrentpackage concurrent.futuresâ Launching parallel tasksconcurrent.interpretersâ Multiple interpreters in the same processsubprocessâ Subprocess managementschedâ 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
- Call Graph Introspection
- 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
- Event Loop Methods
- Futures
- Transports and Protocols
- Policies
- Platform Support
- Extending
- High-level API Index
- Low-level API Index
- Developing with asyncio
socketâ Low-level networking interfacesslâ TLS/SSL wrapper for socket objectsselectâ Waiting for I/O completionselectorsâ High-level I/O multiplexingsignalâ Set handlers for asynchronous eventsmmapâ Memory-mapped file support
- Internet Data Handling
emailâ An email and MIME handling packageemail.message: Representing an email messageemail.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 thecompat32APIemail.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 Encodingsbinasciiâ Convert between binary and ASCIIquopriâ Encode and decode MIME quoted-printable data
- Structured Markup Processing Tools
htmlâ HyperText Markup Language supporthtml.parserâ Simple HTML and XHTML parserhtml.entitiesâ Definitions of HTML general entities- XML Processing Modules
xml.etree.ElementTreeâ The ElementTree XML APIxml.domâ The Document Object Model APIxml.dom.minidomâ Minimal DOM implementationxml.dom.pulldomâ Support for building partial DOM treesxml.saxâ Support for SAX2 parsersxml.sax.handlerâ Base classes for SAX handlersxml.sax.saxutilsâ SAX Utilitiesxml.sax.xmlreaderâ Interface for XML parsersxml.parsers.expatâ Fast XML parsing using Expat
- Internet Protocols and Support
webbrowserâ Convenient web-browser controllerwsgirefâ WSGI Utilities and Reference 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 classeswsgiref.typesâ WSGI types for static type checking- Examples
urllibâ URL handling modulesurllib.requestâ Extensible library for opening URLs- 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.requestRestrictions
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 clientftplibâ FTP protocol clientpoplibâ POP3 protocol clientimaplibâ IMAP4 protocol clientsmtplibâ SMTP protocol clientuuidâ UUID objects according to RFC 9562socketserverâ A framework for network servershttp.serverâ HTTP servershttp.cookiesâ HTTP state managementhttp.cookiejarâ Cookie handling for HTTP clientsxmlrpcâ XMLRPC server and client modulesxmlrpc.clientâ XML-RPC client accessxmlrpc.serverâ Basic XML-RPC serversipaddressâ IPv4/IPv6 manipulation library
- Multimedia Services
- Internationalization
- Graphical user interfaces with Tk
tkinterâ Python interface to Tcl/Tktkinter.colorchooserâ Color choosing dialogtkinter.fontâ Tkinter font wrapper- Tkinter Dialogs
tkinter.messageboxâ Tkinter message promptstkinter.scrolledtextâ Scrolled Text Widgettkinter.dndâ Drag and drop supporttkinter.ttkâ Tk themed widgets- IDLE â Python editor and shell
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
- 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
Anytype - Nominal vs structural subtyping
- Module contents
- Deprecation Timeline of Major Features
pydocâ Documentation generator and online help system- Python Development Mode
doctestâ Test interactive Python examplesunittestâ Unit testing frameworkunittest.mockâ mock object libraryunittest.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 suitetest.support.socket_helperâ Utilities for socket teststest.support.script_helperâ Utilities for the Python execution teststest.support.bytecode_helperâ Support tools for testing correct bytecode generationtest.support.threading_helperâ Utilities for threading teststest.support.os_helperâ Utilities for os teststest.support.import_helperâ Utilities for import teststest.support.warnings_helperâ Utilities for warnings tests
- Debugging and profiling
- Audit events table
bdbâ Debugger frameworkfaulthandlerâ Dump the Python tracebackpdbâ The Python Debuggerprofilingâ Python profilers- Introduction to profiling
- Choosing a profiler
- Quick start
- Understanding profile output
- Legacy compatibility
pstatsâ Statistics for profilerstimeitâ 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 functionssys.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 contextsabcâ Abstract Base Classesatexitâ Exit handlerstracebackâ Print or retrieve a stack traceback__future__â Future statement definitionsgcâ Garbage Collector interfaceinspectâ Inspect live objectsannotationlibâ 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 ofimportimportlib.resourcesâ Package resource reading, opening and accessimportlib.resources.abcâ Abstract base classes for resourcesimportlib.metadataâ Accessing package metadata- The initialization of the
sys.pathmodule search path
- Python Language Services
astâ Abstract syntax treessymtableâ Access to the compilerâs symbol tablestokenâ Constants used with Python parse treeskeywordâ Testing for Python keywordstokenizeâ Tokenizer for Python sourcetabnannyâ Detection of ambiguous indentationpyclbrâ Python module browser supportpy_compileâ Compile Python source filescompileallâ Byte-compile Python librariesdisâ Disassembler for Python bytecodepickletoolsâ Tools for pickle developers
- MS Windows Specific Services
- Unix-specific services
shlexâ Simple lexical analysisposixâ The most common POSIX system callspwdâ The password databasegrpâ The group databasetermiosâ POSIX style tty controlttyâ Terminal control functionsptyâ Pseudo-terminal utilitiesfcntlâ Thefcntlandioctlsystem callsresourceâ Resource usage informationsyslogâ Unix syslog library routines
- Modules command-line interface (CLI)
- Superseded modules
- Removed Modules
- Security Considerations
- Extending and Embedding the Python Interpreter
- Python/C API Reference Manual
- Introduction
- C API and ABI Stability
- The Very High Level Layer
- Reference Counting
- Exception Handling
- Defining extension modules
- Utilities
- Operating System Utilities
- System Functions
- Process Control
- Importing Modules
- Data marshalling support
- Parsing arguments and building values
- String conversion and formatting
- Character classification and conversion
- PyHash API
- Reflection
- Codec registry and support functions
- PyTime C API
- Support for Perf Maps
- Abstract Objects Layer
- Concrete Objects Layer
- Fundamental Objects
- Numeric Objects
- Sequence Objects
- Container Objects
- Function Objects
- Other Objects
- C API for extension modules
- 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
- Operating System Thread APIs
- Python Initialization Configuration
- Memory Management
- Object Implementation Support
- Allocating Objects on the Heap
- Object Life Cycle
- Common Object Structures
- Type Object Structures
- 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
*.pydfile 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 this documentation
- 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)
- Zstandard bindings
- Profiling module