IceCream: Never use print() for debugging again.

Introduction to project IceCream:
Have you ever found yourself constantly printing variables to debug your Python codes? If your answer is yes then welcome to IceCream, a sweet and smarter debugging tool for Python developers. Developed by Ansgar Grunseid, IceCream helps you uncover what your code does in an easier, quicker, and smarter way than the traditional print debugging method. Its relevance thrives in the time it saves developers in debugging, hence, contribute towards a more efficient development process.

Project Overview:


IceCream is designed with the goal to ease the debugging process for Python programmers. Traditional print debugging can be messy, tediously repetitive, and might even lead to missing out on crucial information, hence IceCream was created to resolve these challenges. IceCream targets all Python enthusiasts, from hobbyists to professional developers, striving for a smoother development experience.

Project Features:


IceCream is a simple yet impactful tool. It intelligently prints the variable name along with its value and execute location. With a single function call, IceCream ‘ic()’, you know what your code’s status without unnecessary dirty work. Just replace your print statements with ‘ic()’ and enjoy a seamless debugging experience.

Its other feature of interest is that it can easily be disabled and enabled globally, as required, assuring you complete control. IceCream can even print to a file using argument ‘outputFunction’.

Technology Stack:


IceCream is built in Python, an ideal language for developing a tool applicable to the same ecosystem. Using Python makes IceCream easily compatible with different versions of Python project environment. It is a standalone Python library that efficiently does its job without requiring any extra dependencies.

Project Structure and Architecture:


The project structure of IceCream is compact and user-friendly. The entire library can be found in the icecream.py file. Inside it, it utilizes features like Dynamic variables, Variable attributes for providing its functionality. The ‘ic()’ function is where the core magic happens. This function is responsible for encapsulating the printing operation and auto-detects the calling context for printing purpose.


Subscribe to Project Scouts

Don’t miss out on the latest projects. Subscribe now to gain access to email notifications.
tim@projectscouts.com
Subscribe