inform
print & logging utilities for communicating with user
What it is and what it does
Inform is a print and logging utility that replaces basic print statements with specialized functions that produce formatted, consistent output for user communication. It provides informants—functions like display, warn, error, debug, and others—that work like Python's built-in print but add headers, colors, and logging integration. The package also includes an Inform class for configuration (setting log files, program names, verbosity levels) and an Error exception class that preserves all arguments for later inspection and reporting.
The package includes utility functions for text manipulation (dedent, indent, conjoin, did_you_mean, plural, title_case, format_range) and message assembly (fmt, render, join). It supports custom informants via InformantFactory, allowing you to create conditional output based on verbosity or other criteria. The design keeps error handling and user communication consistent across an application, with the ability to track error counts and control output behavior through a single configuration point.
Use it for:
- Build CLI tools that display warnings and errors with consistent formatting and color coding without manual ANSI escape sequences.
- Centralize application logging and error reporting so all messages go through a single configurable output system.
- Create custom informants for verbosity-controlled debug output that can be toggled on or off at runtime.
- Catch and report exceptions with preserved arguments so error handlers can access the original data for recovery or detailed logging.
- Format and present complex data structures (lists, dicts, sets) to users in readable, Python-interpretable form.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Inform provides specialized print functions for displaying formatted messages to users, with built-in support for logging, colored output (warnings in yellow, errors in red), and custom exception handling.
Yes. Inform is actively maintained, has low install friction, carries no known vulnerabilities, and solves a real problem—replacing ad-hoc print statements with a unified, configurable logging and output system. It's particularly useful for CLI applications and scripts where consistent error presentation and logging matter. The permissive MIT license removes any legal friction.
Install
inform on PyPI
pip
pip install informuv
uv add informpoetry
poetry add informInstalling inform
Before you install
Low install friction with only two runtime dependencies (arrow and six). The package is actively maintained with a recent release on 2026-06-28, and the repository shows ongoing activity.
License in practice
Licensed under MIT (permissive), which allows free use, modification, and distribution with minimal restrictions.
Quickstart
pip install inform
from inform import display, warn, error
display('Display is like print')
warn('warnings get a header that is printed in yellow.')
error('errors get a header that is printed in red.')
Requires Python 3.6 or later.
Verify before relying
- Whether the colored output (yellow warnings, red errors) works consistently across different terminal emulators and operating systems beyond POSIX Linux.
- Performance characteristics when logging high-volume messages or with large file outputs.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — arrow, six |
| Maintenance | actively maintained — 47 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 84,937/month — #13,965 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: inform-1.37-py3-none-any.whl
Keywords: inform, logging, printing
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
simple-colorsAdds colored and styled text output to terminal…
unclear · top 15,000 on PyPI
pastelPastel adds colored text output to terminal…
permissive · top 5,000 on PyPI
colorlogAdds colored output to Python's standard…
permissive · top 1,000 on PyPI
termcolorAdds ANSI color and text formatting (bold,…
permissive · top 1,000 on PyPI
crayonsCrayons provides colored text output for…
permissive · top 15,000 on PyPI
colorclassProvides ANSI color text output for console…
permissive · top 5,000 on PyPI
ascii-colorsUnified terminal UI library providing colored…
permissive · top 15,000 on PyPI
click-help-colorsAdds color customization to Click command-line…
permissive · top 5,000 on PyPI
traceriteFormats Python exceptions and tracebacks into…
permissive · top 5,000 on PyPI
coloredColored provides ANSI/VT100 escape sequences…
permissive · top 5,000 on PyPI