# \[ANN\] Eyeball.jl: An interactive object viewer

**URL:** https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027
**Category:** Package Announcements
**Tags:** package, announcement
**Created:** [January 4, 2022, 12:33pm UTC](https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027 "2022-01-04T12:33:59Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![tshort](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tshort/32/43_2.png) [@tshort](https://discourse.julialang.org/u/tshort)
#### Post date: [January 4, 2022, 12:33pm UTC](https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027/1 "2022-01-04T12:33:59Z")

</div>

[https://github.com/tshort/Eyeball.jl](https://github.com/tshort/Eyeball.jl)

This was a fun hack over the holidays. This provides `eye` for interactively viewing objects in the REPL. Use it when you might use `dump` or `varinfo`. Browse modules, type trees, expressions, or other complex objects. Use arrow keys to expand subobjects and hit `enter` to select and return the item. Toggle between showing properties and fields (`f`). Show documentation (`d`). Show `methodswith` on objects (`m`).

Here’s a demo:

![eyeball-jl](https://global.discourse-cdn.com/julialang/original/3X/9/9/996335dcaeb9bbbab8185dd9d77cfb3391f42cfa.gif)

---

<div class="post-metadata">

### Author: ![RogerP](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rogerp/32/17496_2.png) [@RogerP](https://discourse.julialang.org/u/RogerP)
#### Post date: [January 10, 2022, 11:29am UTC](https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027/2 "2022-01-10T11:29:33Z")

</div>

Totally awesome and beautiful. Thank you!

---

<div class="post-metadata">

### Author: ![owiecc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/owiecc/32/8894_2.png) [@owiecc](https://discourse.julialang.org/u/owiecc)
#### Post date: [January 16, 2022, 9:48pm UTC](https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027/3 "2022-01-16T21:48:58Z")

</div>

This is absolutely amazing.

---

<div class="post-metadata">

### Author: ![e3c6](https://avatars.discourse-cdn.com/v4/letter/e/e79b87/32.png) [@e3c6](https://discourse.julialang.org/u/e3c6)
#### Post date: [January 16, 2022, 11:14pm UTC](https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027/4 "2022-01-16T23:14:59Z")

</div>

Fantastic. Any chance `eye` gets renamed to something else? For instance, `inspect`, or `eyeball` or something like that.

`eye` might be confused with identity matrix, e.g. FillArrays.jl exports `Eye`.

---

<div class="post-metadata">

### Author: ![mschauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mschauer/32/13946_2.png) [@mschauer](https://discourse.julialang.org/u/mschauer)
#### Post date: [January 17, 2022, 11:44am UTC](https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027/5 "2022-01-17T11:44:10Z")

</div>

Or that matrix shouldn’t be called `Eye`, that’s a nonsensical matlabism (sorry) for identity matrices we got rid of sometimes ago.

---

<div class="post-metadata">

### Author: ![tshort](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tshort/32/43_2.png) [@tshort](https://discourse.julialang.org/u/tshort)
#### Post date: [January 17, 2022, 12:53pm UTC](https://discourse.julialang.org/t/ann-eyeball-jl-an-interactive-object-viewer/74027/6 "2022-01-17T12:53:04Z")

</div>

At this time, I’m not inclined to rename `eye`. I like that it’s a short name which is nice for frequent interactive use. The Matlab history of `eye` can cause confusion, but that naming is bad, and Julia removed it’s own version of `eye` a while back.
