# \[ANN\] Sherlock.jl : A visual package detective

**URL:** <https://discourse.julialang.org/t/ann-sherlock-jl-a-visual-package-detective/36674>\
**Category:** Package Announcements\
**Created:** [March 29, 2020, 1:48pm UTC](https://discourse.julialang.org/t/ann-sherlock-jl-a-visual-package-detective/36674 "2020-03-29T13:48:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon92994695](https://avatars.discourse-cdn.com/v4/letter/a/ce7236/32.png) [@anon92994695](https://discourse.julialang.org/u/anon92994695)\
**Post date:** [March 29, 2020, 1:48pm UTC](https://discourse.julialang.org/t/ann-sherlock-jl-a-visual-package-detective/36674/1 "2020-03-29T13:48:24Z")

</div>

Hey everyone, I’m happy to announce Sherlock.jl. [GitHub - caseykneale/Sherlock.jl: A high functioning package detective.](https://github.com/caseykneale/Sherlock.jl)

 ![](https://global.discourse-cdn.com/julialang/original/3X/d/6/d689f5fd13c7766e50d60559126f3449aa481ff7.png)

What is it? Well it provides convenience functions to explore modules that are loaded into scope! You can visually check an entire package and what methods connect to what functions, etc. But also “inspect” types to see what goes into them and what comes out of them, or their type trees. It makes heavy use of the LightGraphs.jl package scape

It has a WebUI running off of Blink for convenience, but also command line accessible functions(lacking an official docs right now).

I hope to include it into Documenter.jl in some way so people can autogenerate something like a UML of their packages.

It’s a super early release - so it isn’t perfect, it needs: feedback, bug reports, suggestions, contributions!, and whatever else are highly appreciated. Thank you for reading,

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [March 30, 2020, 10:06am UTC](https://discourse.julialang.org/t/ann-sherlock-jl-a-visual-package-detective/36674/2 "2020-03-30T10:06:50Z")

</div>

Really cool name and cool repo description 😉

---

<div class="post-metadata">

**Author:** ![anon92994695](https://avatars.discourse-cdn.com/v4/letter/a/ce7236/32.png) [@anon92994695](https://discourse.julialang.org/u/anon92994695)\
**Post date:** [March 30, 2020, 9:38pm UTC](https://discourse.julialang.org/t/ann-sherlock-jl-a-visual-package-detective/36674/3 "2020-03-30T21:38:22Z")

</div>

I may have had some inspiration from the awesome : [https://github.com/JuliaDynamics/DrWatson.jl](https://github.com/JuliaDynamics/DrWatson.jl) :).

---

<div class="post-metadata">

**Author:** ![anon92994695](https://avatars.discourse-cdn.com/v4/letter/a/ce7236/32.png) [@anon92994695](https://discourse.julialang.org/u/anon92994695)\
**Post date:** [June 28, 2020, 6:20pm UTC](https://discourse.julialang.org/t/ann-sherlock-jl-a-visual-package-detective/36674/4 "2020-06-28T18:20:43Z")

</div>

Found a really cool VSCode plugin that supports the kind of functionality I wanted in Sherlock.jl, but don’t have in Julia.  
[https://github.com/foambubble/foam](https://github.com/foambubble/foam)

the plugin/extension might interest some people, but I’m wondering if someone more seasoned with typescript would want to make the foam version of a julia package inspector? I’d really love that…
