Packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
iniconfig parses INI configuration files while preserving section and entry order, supporting multi-line values, comments, and raising errors with line numbers.
Matches file paths against gitignore-style patterns, supporting both standard gitignore semantics and Git's actual behavior including edge cases like including files from excluded directories.
Install it if you need to match files against gitignore patterns.
Reads key-value pairs from a .env file and sets them as environment variables, supporting variable expansion and multiple configuration patterns for 12-factor applications.
Install it if your application reads configuration from environment variables.
PyJWT encodes and decodes JSON Web Tokens (JWT) according to RFC 7519, enabling token-based authentication and secure data transmission in Python applications.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Tenacity is a retry library that adds automatic retry behavior to functions and code blocks, with configurable stop conditions, wait strategies, and exception handling.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
Editables is a library for building wheels that expose local package source directories on sys.path in editable mode, so changes to source code are reflected without reinstalling.
Install it if you are building a wheel builder or setuptools plugin that needs to generate editable installations; otherwise, you likely don't need it directly—it is…
Provides a unified command-line interface to interact with Amazon Web Services, enabling developers and system administrators to manage AWS resources from the terminal.
However, AWS has announced maintenance mode beginning July 15, 2026, and explicitly recommends migration to AWS CLI v2 for new projects.
Discovers Python interpreters installed on your system across multiple sources (system packages, pyenv, mise, asdf, uv, Windows registry) and returns detailed metadata about matches to version requirements.
Install it if your tool or workflow needs to programmatically discover or verify Python interpreters.
Provides utilities for writing function decorators that preserve the original function's signature, plus multiple dispatch and other decorator-related utilities.
Install it if you write decorators or need multiple dispatch; skip it only if you never use decorators or are willing to use functools.wraps manually.
A pytest plugin that measures code coverage during test runs, automatically combining coverage data and supporting distributed testing with pytest-xdist.
Install it if you want coverage reports as part of your normal test workflow.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
Resolves JSON Pointers according to RFC 6901, allowing you to identify and access specific nodes within a JSON document using pointer syntax.
Install it if you need RFC 6901 JSON Pointer support; the small footprint and active maintenance make it a safe, straightforward choice.
A Python library that lets you programmatically control Docker—run containers, manage images, orchestrate Swarms, and perform any operation the docker command-line tool can do, all from within Python code.
Install it if you need to control Docker from Python code; it is the standard binding for that task.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Provides function decorators to automatically retry code on exceptions or when a predicate condition is met, with configurable backoff strategies like exponential, fibonacci, or constant intervals.
However, the repository is archived and abandoned as of May 2024, so there will be no bug fixes or new features.
Applies JSON Patches according to RFC 6902, allowing you to describe and apply structured changes to JSON documents programmatically.
Jedi provides static analysis, autocompletion, and refactoring for Python code, typically integrated into editors and IDEs through a simple API.
Gunicorn is a WSGI and ASGI HTTP server for Unix that runs Python web applications with a pre-fork worker model, supporting frameworks like Django, Flask, FastAPI, and Starlette.
Install it if you are deploying a WSGI or ASGI application to production on Unix.
Parso is a Python parser that recovers from syntax errors and parses code across multiple Python versions, returning an analyzable syntax tree and reporting multiple errors in a single pass.
Install it if you need to parse Python code programmatically, especially when error recovery or multi-version support matters.
Automatically extracts and manages Python package versions from git or Mercurial metadata instead of hardcoding them, and includes SCM-tracked files in source distributions.
isort sorts Python imports alphabetically and automatically separates them into sections by type, available as a command-line tool or Python library.
Install it if your team cares about import ordering or you want to automate this aspect of code review.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
Provides a Python interface to the Kubernetes API, enabling programmatic management and monitoring of Kubernetes clusters through synchronous and asynchronous client methods.
Install it if you need to manage or query Kubernetes clusters from Python—it is the standard choice for this task.
Watchdog monitors file system events across Linux, macOS, Windows, and BSD, providing a Python API and command-line utilities to detect file and directory changes in real time.
Install it if you need to monitor file system events; the medium install friction is a one-time cost for reliable, platform-native behavior.
Provides Python bindings to the Brotli compression library, enabling lossless compression and decompression using a modern LZ77 variant with Huffman coding and context modeling.
Install it if you need Brotli compression in Python; the API is straightforward and the library is battle-tested.
Sphinx generates professional documentation from reStructuredText source files, producing HTML, PDF, EPUB, and other formats with automatic cross-references, code highlighting, and hierarchical navigation.
Converts HTML to Markdown, with fine-grained control over which tags to convert, how headings and lists are formatted, and how special elements like code blocks and images are handled.
Install it if you need reliable HTML-to-Markdown conversion.
Faker generates realistic fake data—names, addresses, emails, phone numbers, and more—for testing, database bootstrapping, and data anonymization across multiple locales.
Install it if you need realistic fake data for tests, prototyping, or anonymization; skip it only if you have no use for generated test data.
Validates whether a string conforms to the RFC3339 timestamp format, returning True or False for each input.
A pytest plugin that automatically reruns failed tests to eliminate intermittent failures, with support for delays, exponential backoff, exception filtering, and hard crash recovery when used with pytest-xdist.
Install it if your test suite has intermittent failures you want to suppress without rewriting tests.