# ANN: JuliaHub — explore, run, scale

**URL:** <https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135>\
**Category:** Package Announcements\
**Tags:** package\
**Created:** [June 10, 2020, 3:25pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135 "2020-06-10T15:25:29Z")\
**Posts on this page:** 15\
**Page:** 2

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [June 12, 2020, 3:08pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/22 "2020-06-12T15:08:43Z")

</div>

> [@4aHxKzD](#):
>
> It would be cool if we could read every package docs inside JuliaHub instead of being redirected

I’d love to let JuliaHub host Gaston’s documentation, but since it’s a plotting package, it has a lot of examples (see [Home · Gaston.jl](https://mbaz.github.io/Gaston.jl/stable/)) that, unfortunately, JuliaHub’s setup cannot reproduce.

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [June 12, 2020, 3:09pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/23 "2020-06-12T15:09:06Z")

</div>

> [@pfitzseb](#):
>
> Should be updated soon, I think.

Cool, thanks!

---

<div class="post-metadata">

**Author:** ![4aHxKzD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/4ahxkzd/32/10833_2.png) [@4aHxKzD](https://discourse.julialang.org/u/4aHxKzD)\
**Post date:** [June 12, 2020, 3:15pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/24 "2020-06-12T15:15:01Z")

</div>

Most, maybe yes. But not all. Take for instance:

[http://multivariatestatsjl.readthedocs.org/en/stable/index.html](http://multivariatestatsjl.readthedocs.org/en/stable/index.html)

---

<div class="post-metadata">

**Author:** ![4aHxKzD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/4ahxkzd/32/10833_2.png) [@4aHxKzD](https://discourse.julialang.org/u/4aHxKzD)\
**Post date:** [June 12, 2020, 3:16pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/25 "2020-06-12T15:16:43Z")

</div>

Yeah I understand. What I said was more of a “I wish that it would be possible” than a feature request.

---

<div class="post-metadata">

**Author:** ![waldyrious](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/waldyrious/32/80_2.png) [@waldyrious](https://discourse.julialang.org/u/waldyrious)\
**Post date:** [June 13, 2020, 7:42pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/26 "2020-06-13T19:42:58Z")

</div>

> [@StefanKarpinski](#):
>
> **Code Search:** search the entire repo of all registered packages by regex or by semantic code search (i.e. it understands the structure of Julia code)

That’s a great feature! If I may add a few suggestions:

1. Once a search has been performed, the repository/package filter should automatically limit the entries shown to only those that contained matching results — see e.g. how [grep.app](https://grep.app) behaves.

2. It would be nice to be able to group results by package rather than shown in a single flat list alongside the results from other packages. Even better if the group container could be collapsed to show only the header (package name) and a count of results.

3. Would it be possible to add syntax highlighting to the snippets of code in the results? And maybe also emphasis (e.g. yellow background) to the match within the snippet.

---

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [June 16, 2020, 9:29am UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/27 "2020-06-16T09:29:51Z")

</div>

I don’t really get how package ranking works in the search page. E.g. searching for “tar” shows “Tar.jl” on second position (first is “Taro.jl”), and all other packages from pages 1 and 2 don’t have “tar” in the name at all. Then on page 3 there are “Tar\_jll” and finally “TarIterators” that is actually relevant. Same with other searches.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [June 16, 2020, 9:48am UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/28 "2020-06-16T09:48:36Z")

</div>

[https://github.com/JuliaComputing/JuliaHub/issues/40](https://github.com/JuliaComputing/JuliaHub/issues/40)

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [June 16, 2020, 9:50am UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/29 "2020-06-16T09:50:50Z")

</div>

The current algorithm doesn’t penalize single character transposes, which is why packages with `tra` in their name are ranked highly. Fix is going to be out soon.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [June 16, 2020, 4:23pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/30 "2020-06-16T16:23:59Z")

</div>

Quality search is a hard problem—it requires lots of user feedback to hone it to the point where it’s really good. This is why JuliaHub is “in beta” and why we need this kind of feedback from users! Please keep posting bad cases, ideally as [issues](https://github.com/JuliaComputing/JuliaHub/issues).

---

<div class="post-metadata">

**Author:** ![Skoffer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/skoffer/32/378_2.png) [@Skoffer](https://discourse.julialang.org/u/Skoffer)\
**Post date:** [June 16, 2020, 5:22pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/31 "2020-06-16T17:22:42Z")

</div>

One way to improve search (may be not the best and may be already implemented) is to log user activity, where start is the search term and action is a click on this or that package. This way one can build relation between actual and expected position. Such a system can work without active user feedback and be more and more efficient as time goes, because it will have more and more data. And you can even backtest new algorithms on historical data.

---

<div class="post-metadata">

**Author:** ![waldyrious](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/waldyrious/32/80_2.png) [@waldyrious](https://discourse.julialang.org/u/waldyrious)\
**Post date:** [June 17, 2020, 9:24am UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/32 "2020-06-17T09:24:01Z")

</div>

Should I open issues for the three suggestions I offered above?

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [June 17, 2020, 9:25am UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/33 "2020-06-17T09:25:12Z")

</div>

Please do!

---

<div class="post-metadata">

**Author:** ![waldyrious](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/waldyrious/32/80_2.png) [@waldyrious](https://discourse.julialang.org/u/waldyrious)\
**Post date:** [June 21, 2020, 4:23pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/34 "2020-06-21T16:23:19Z")

</div>

Sorry for the delay. Just opened [#52](https://github.com/JuliaComputing/JuliaHub/issues/52), [#53](https://github.com/JuliaComputing/JuliaHub/issues/53) and [#54](https://github.com/JuliaComputing/JuliaHub/issues/54).

---

<div class="post-metadata">

**Author:** ![visr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/visr/32/17204_2.png) [@visr](https://discourse.julialang.org/u/visr)\
**Post date:** [June 21, 2020, 6:54pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/35 "2020-06-21T18:54:54Z")

</div>

Compared to the current Documenter.jl local search index and search, the JuliaHub search is much faster, and won’t require downloading the entire search index.

Would it be possible to in the future hook up this search to [https://docs.julialang.org/](https://docs.julialang.org/), to improve the search experience? Or perhaps even make it an option in Documenter.jl?

There has been some prior work towards hosted search using Algolia, see [RFC: Improved Search for Documentation](https://discourse.julialang.org/t/rfc-improved-search-for-documentation/8079) and [https://github.com/JuliaDocs/Documenter.jl/pull/976](https://github.com/JuliaDocs/Documenter.jl/pull/976). But if a hosted search focused on Julia already exists, perhaps that can be used?

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [June 21, 2020, 6:58pm UTC](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135/36 "2020-06-21T18:58:46Z")

</div>

That’s a good idea. We could either redirect search to JuliaHub or use its search tech on [docs.julialang.org](http://docs.julialang.org) with “powered by JuliaHub” branding.

[Previous page](https://discourse.julialang.org/t/ann-juliahub-explore-run-scale/41135.md?page=1)
