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.
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.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
Determines platform-specific directories for application data, config, cache, logs, and user media folders across macOS, Windows, Linux, and Android.
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.
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.
yarl provides an immutable URL class for parsing, decomposing, and constructing URLs with automatic percent-encoding and decoding of URL components.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Provides fast cached-property decorators for Python 3.10+, with a C-extension implementation that mirrors functools.cached_property and adds an under_cached_property variant using self._cache storage.
Install it if you need faster cached properties than functools.cached_property or require the under_cached_property variant for specific architectural reasons.
Pyasn1 encodes and decodes ASN.1 data structures using BER, CER, DER, and native Python codecs, allowing you to serialize complex data for network protocols and file formats.
Install it if you need to work with ASN.1-based protocols or formats; it is the standard library for this in Python and has no known vulnerabilities.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
pytz brings the Olson timezone database into Python, enabling accurate timezone calculations and conversions across platforms with support for daylight saving time transitions.
Provides URL parsing and manipulation utilities for Markdown processing, ported from the JavaScript mdurl library.
Install it if you're building Markdown tooling that requires URL parsing aligned with the JavaScript mdurl behavior.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Greenlet provides lightweight coroutines for concurrent programming within a single Python process, allowing you to manage multiple execution contexts without OS-level threading overhead.
Provides a collection of ASN.1 data structures expressed as Python classes, built on the pyasn1 library, for working with ASN.1-based protocols and standards.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Loads and validates application settings from environment variables, dotenv files, and other sources using Pydantic's validation framework.
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.
Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.
Distro provides a reliable, machine-readable API to query the Linux or BSD distribution name, version, codename, and other OS platform details, replacing Python's deprecated `platform.linux_distribution` function.
Install it if you need to detect or report the Linux/BSD distribution your code runs on.
lxml provides Python bindings to libxml2 and libxslt, enabling parsing, validation, and transformation of XML and HTML documents through an ElementTree-compatible API with support for XPath, XSLT, and schema validation.
Install it if you need robust XML/HTML parsing, validation, or transformation; avoid it only if you must stay pure-Python and can accept slower performance.
Parses multipart form data from HTTP requests using a streaming approach, allowing efficient handling of large file uploads without loading entire payloads into memory.
Provides a Python client library for the OpenAI REST API, with synchronous and asynchronous interfaces, type definitions for all request and response fields, and support for modern Python versions.
Install it if you need to call OpenAI's API from Python—it's the standard and recommended choice for this use case.
Tomli parses TOML configuration files and strings into Python dictionaries, with optional support for custom float handling and compatibility with Python's standard library tomllib module.
Install it if you need to read TOML on Python versions before 3.11, or if you want mypyc-compiled performance on any version.
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.
Shellingham detects which shell the current Python process is running in and returns both the shell name and its command path.
Install it if your application needs to detect the surrounding shell; skip it if you can rely on environment variables like SHELL or COMSPEC directly.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Watches file system changes and triggers callbacks or process restarts when files are modified, with both synchronous and asynchronous APIs.
Install it if you need file system monitoring for development or production workflows.
Provides memoizing collections and function decorators for caching with configurable eviction policies like LRU and TTL, similar to the standard library's @lru_cache but with more control.
Install it if you need caching beyond what functools.lru_cache offers—particularly for TTL expiration, custom eviction policies, or fine-grained cache control.
Proto Plus wraps protocol buffers to provide Python classes that behave like native Python types while maintaining protocol buffer serialization and schema validation.
Install it if you're working with protocol buffers in Python and want a more Pythonic interface, or if you're using Google Cloud libraries that depend on it.
OAuthLib implements OAuth 1.0 and OAuth 2.0 request-signing logic as a framework-agnostic library, letting you add OAuth support to any HTTP library or web framework without being locked into a specific implementation.
Install it if you need to add OAuth support to an HTTP library or framework, or if you're building an OAuth provider.
dnspython is a DNS toolkit that handles queries, zone transfers, dynamic updates, TSIG authentication, and EDNS0, with support for nearly all DNS record types and both high-level and low-level API access.
Install it if you need DNS queries, zone operations, or DNSSEC validation in Python; avoid it only if you need simple hostname resolution.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
LangChain provides a framework for building agents and LLM-powered applications by composing language models, tools, and memory through a unified API that abstracts over multiple model providers.
Python SDK for integrating Google's Gemini generative models and the Gemini Enterprise Agent Platform into applications via a unified client interface.
Install it if you need to integrate Gemini models into Python applications; pin the version to < 3.0.0 if you want to avoid breaking changes in the next major release.