Packages
Caches the results of expensive computations to disk, automatically detecting when source files change and invalidating stale cached data based on file modification time or content hash.
However, expect no active bug fixes or compatibility updates; evaluate whether your project's stability requirements align with that trade-off.
Converts between ISO 3166-1 country codes (two-letter, three-letter, and numeric) and country names, with lookup by any code format or iteration over all defined countries.
Detects secrets (API keys, tokens, credentials) in code repositories by scanning diffs and files against heuristic patterns, with support for baseline management to prevent new secrets from entering the codebase.
Parse, validate, create, and convert SPDX software license documents in multiple formats (Tag/Value, RDF, JSON, YAML, XML) with full support for SPDX v2.2 and v2.3 specifications.
Install it if you need to work with SPDX documents—parsing, validation, or creation.
ansible-lint checks Ansible playbooks and roles for practices that could be improved, flagging issues before deployment.
Install it if you use Ansible and want automated quality checks on your playbooks.
PyMsgBox provides JavaScript-like message box functions (alert, confirm, prompt, password) that work cross-platform in pure Python, displaying native dialog boxes for user interaction.
Provides Python abstractions and utilities for Controller Area Network (CAN) communication, supporting multiple hardware backends and message logging formats.
Install it if you need to communicate with CAN buses from Python.
Merges JSON objects according to RFC 7386 and generates minimal patches to transform one JSON structure into another.
The aging maintenance status is not a concern for a small, feature-complete library—install it if you need RFC 7386 merge semantics.
Generates or retrieves a unique device identifier for a system based on the DevDeviceId specification, returning a string that can be used to identify individual machines.
However, the Alpha status and lack of recent updates mean you should test thoroughly in your target environment before relying on it in production.
Sparklines renders compact Unicode bar charts (▃▁▄▁▅█▂▅) in your terminal or Python code to visualize sequences of numbers, supporting mixed positive/negative data and missing values.
Install it if you need quick visual feedback on time-series data in shell scripts, monitoring tools, or Python notebooks without the overhead of a graphing library.
Opens your system's default text editor (or a specified one) to edit a file or temporary buffer, blocks until editing is complete, and returns the edited content.
Install it if you need interactive text editing in a Python application; skip it if your use case is purely programmatic file manipulation.
Tablib converts tabular data between multiple formats (Excel, JSON, YAML, CSV, HTML, LaTeX, TSV, ODS, DBF, SQL, Jira, and Pandas DataFrames) without requiring format-specific code.
Install it if you need to work with tabular data across multiple output formats or move data between systems without writing format-specific code.
Formats Python objects for readable output using the Wadler–Lindig pretty-printing algorithm, which breaks lines more intelligently than the built-in pprint to consume less horizontal space.
Install it if you need better-formatted object output than pprint in error messages, debug logs, or custom repr implementations.
Parses PostgreSQL SQL statements into an abstract syntax tree and provides tools to inspect and prettify the parsed structure.
Provides a Python set of known disposable email domains for validation and filtering purposes.
Install it if you need to filter disposable email domains; skip it only if your application has no email validation requirements.
Provides a base class for Django apps to define and manage configuration settings with sensible defaults that can be overridden in Django's global settings.
A pytest plugin that automatically identifies and runs only the tests affected by recent code changes, using dependency tracking to avoid re-running unrelated tests.
However, the aging maintenance status (256 days since last release) means you should verify reliability in your codebase before relying on it in critical CI…
pytube downloads YouTube videos and playlists to local files via Python API or command-line interface, with support for multiple stream formats and quality levels.
Provides function decorators for retrying operations with configurable backoff strategies when exceptions occur or predicates are met, supporting both synchronous and asynchronous code.
Install it if you need to add resilience to functions that interact with unreliable external resources.
Generates shell tab completion scripts for Python CLI applications built with argparse, supporting bash, zsh, fish, and tcsh without runtime overhead.
Install it if you build Python command-line tools and want to offer your users fast, reliable shell completion.
Appier is a lightweight Python web framework for building HTTP applications with minimal boilerplate, using decorators and class-based routing.
Not recommended if you need built-in templating, ORM, or middleware—reach for a larger framework instead.
Gcovr processes GCC code coverage data and generates human-readable or machine-parseable coverage reports in multiple formats including HTML, JSON, CSV, XML (Cobertura, Clover, JaCoCo, LCOV, SonarQube), Markdown, and Coveralls.
Install it if you need to measure or report code coverage for GCC-compiled C/C++ projects, especially in CI/CD contexts where structured output formats are required.
Provides fixed-width integer classes that preserve their bit width across arithmetic operations, with both mutable and immutable variants for emulating machine integers.
However, do not use it if you require active bug fixes or Python version support beyond what was tested at the last release in 2022.
Provides a Python wrapper for interacting with Google APIs, abstracting authentication and request handling through the appier framework.
Retryhttp wraps HTTP client calls to automatically retry transient failures like rate limits, server errors, network issues, and timeouts, using sensible defaults but fully customizable retry and wait strategies.
Install it if you make HTTP calls that might fail transiently and want to avoid writing retry boilerplate.
Converts HTML and CSS to PDF documents using Python, enabling developers with web skills to generate PDF templates without learning specialized PDF libraries.
However, the aging maintenance status (last release 537 days ago) warrants caution in production: verify that its rendering quality and feature set meet your specific…
Transforms argparse scripts into structured, typed command-line interfaces using dataclasses, with support for nesting, inheritance, and automatic help generation from docstrings.
EasyDict wraps Python dictionaries to allow attribute-style access (dot notation) to dictionary values, including nested structures, while remaining a standard dict.
However, note that it is dormant (last release 893 days ago); if you need active maintenance or modern Python version guarantees, verify compatibility with your…
Provides Python CFFI bindings to the Brotli compression library, enabling Brotli compression and decompression from Python code with an API compatible with the C bindings.
nanobind exposes C++ types in Python and vice versa, enabling efficient C++/Python bindings with faster compilation, smaller binaries, and lower runtime overhead than comparable tools.
PyMuPDFb provides the compiled MuPDF C engine binaries that power PyMuPDF's PDF processing—text extraction, rendering, annotation, and document conversion without mandatory external dependencies.
Converts nested dictionaries into flat key-value pairs and back, with customizable key-joining strategies like tuples, paths, underscores, or dots.
Install it if you regularly work with nested dictionaries or need flexible dict flattening/unflattening.
Provides Unicode normalization (NFC, NFD, NFKC, NFKD) using Unicode Standard version 17.0 data, independent of the host Python environment's built-in Unicode version.
Install it if your application requires consistent normalization across different systems or if you need to target a specific Unicode Standard version.
A pytest plugin that allows tests to continue running and collect multiple assertion failures per test, rather than stopping at the first failed assert.
Creates interactive command-line menus where users select options using arrow keys, vim motions, or keyboard shortcuts, with built-in search and multi-select support.
Programmatic control of Vagrant virtual machines through Python, wrapping the vagrant command-line tool to start, stop, query status, and manage VMs from code.
semchunk splits text into semantically meaningful chunks while preserving local context, supporting custom tokenizers, chunk overlapping, offsets, and optional AI-powered chunking via the Isaacus API.
Install it if you need to chunk text for RAG, embeddings, or language model workflows.
PyScaffold generates a complete Python project template with packaging, testing, documentation, and CI/CD scaffolding, ready to publish to PyPI.
Decli wraps argparse to let you define command-line interfaces declaratively as Python dictionaries, supporting arguments, subcommands, and argument groups without repeated boilerplate.
However, note that maintenance is aging (last release 439 days ago), so do not expect active development or rapid fixes for edge cases.
Measures execution time and throughput of code blocks, generators, and callables, rendering results in human-readable formats like milliseconds, SI-prefixed counts, and operations per second.