# Port icecream from python?

**URL:** https://discourse.julialang.org/t/port-icecream-from-python/105015
**Category:** Offtopic
**Tags:** debugging, pretty-printing
**Created:** [October 16, 2023, 1:55pm UTC](https://discourse.julialang.org/t/port-icecream-from-python/105015 "2023-10-16T13:55:05Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![user664303](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/user664303/32/37843_2.png) [@user664303](https://discourse.julialang.org/u/user664303)
#### Post date: [October 16, 2023, 1:55pm UTC](https://discourse.julialang.org/t/port-icecream-from-python/105015/1 "2023-10-16T13:55:05Z")

</div>

I recently came across a Python package called [icecream](https://github.com/gruns/icecream). It allows for quick and easy printing of useful debug info. See [the github page](https://github.com/gruns/icecream) for some examples. You’ll also see (at the bottom) that it has been ported to a large number of languages, but not Julia. Would this be useful in Julia too?

---

<div class="post-metadata">

### Author: ![adamslc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adamslc/32/3452_2.png) [@adamslc](https://discourse.julialang.org/u/adamslc)
#### Post date: [October 16, 2023, 1:58pm UTC](https://discourse.julialang.org/t/port-icecream-from-python/105015/2 "2023-10-16T13:58:31Z")

</div>

I’ve only skimmed the README, but I think that most of the features in icecream are already covered by the `@show` and `@info` macros.

---

<div class="post-metadata">

### Author: ![user664303](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/user664303/32/37843_2.png) [@user664303](https://discourse.julialang.org/u/user664303)
#### Post date: [October 16, 2023, 2:36pm UTC](https://discourse.julialang.org/t/port-icecream-from-python/105015/3 "2023-10-16T14:36:32Z")

</div>

> [@adamslc](#):
>
> I think that most of the features in icecream are already covered by the `@show` and `@info` macros.

Thanks. I didn’t know about either of those.

`@show` does indeed perform something similar, though misses the ability to globally switch it on and off and change the formatting.

`@info` requires an input and doesn’t print the line where the call was made. `@warn` does print the line, but requires an input still.

I guess most of the functionality is there. It’s just a few more bells and whistles. Perhaps not worth it.

---

<div class="post-metadata">

### Author: ![avikpal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avikpal/32/6550_2.png) [@avikpal](https://discourse.julialang.org/u/avikpal)
#### Post date: [October 16, 2023, 2:48pm UTC](https://discourse.julialang.org/t/port-icecream-from-python/105015/4 "2023-10-16T14:48:05Z")

</div>

You can modify the way things are printed via [GitHub - JuliaLogging/LoggingExtras.jl: Composable Loggers for the Julia Logging StdLib](https://github.com/JuliaLogging/LoggingExtras.jl)
