{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/3"}],"enrichment":{"capability":"IceCream provides a drop-in replacement for print() debugging that automatically displays variable names, expressions, and their values with syntax highlighting and optional execution context.","skillfed_tags":["debugging","development-tools","repl-friendly"],"use_cases":["Quickly inspect variable values during development without typing verbose print statements with labels","Trace execution flow by inserting ic() calls to see which code paths run and in what order","Debug complex expressions by wrapping them in ic() to see both the code and result with syntax highlighting","Integrate debugging output with logging systems using ic.configureOutput() and ic.format()","Temporarily disable all debug output with ic.disable() and ic.enable() without removing ic() calls","Inspect nested data structures with automatic pretty-printing instead of manually formatting them"],"what_it_does":"IceCream is a debugging utility that replaces manual print() statements with a smarter ic() function. When called with arguments, ic() prints both the expression and its evaluated value; when called without arguments, it prints the filename, line number, and parent function name. The output is automatically syntax highlighted and pretty-printed, making it faster and clearer than writing print(\"var:\", var) by hand.\n\nThe package depends on colorama for cross-platform terminal colors, pygments for syntax highlighting, executing to introspect the calling code, and asttokens to map AST nodes back to source text. It supports Python 3 and PyPy3, integrates into builtins for global availability, and can be configured to redirect output to logging systems or custom handlers. The function returns its arguments, so ic() can be inserted into existing expressions without breaking them.","worth_installing":"Yes. IceCream is actively maintained, permissively licensed, has no known vulnerabilities, and low install friction. It genuinely improves the print-debugging workflow for developers who already use that pattern. Install it if you debug with print statements; skip it only if you use a dedicated debugger exclusively."},"id":"icecream","links":{"html":"https://skillfed.io/packages/icecream","md":"https://skillfed.io/packages/icecream.md","pypi":"https://pypi.org/project/icecream/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-04-03","license_spdx":null,"license_treatment":"permissive","name":"icecream","python_support":"unspecified","summary":"Never use print() to debug again: inspect variables, expressions, and program execution with a single, simple function call."},"popularity":{"monthly_downloads":1953600,"position":3412,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"2.2.0"}
