Explore
JuliaHub is a great way to explore the package ecosystem. On the home page you can use the word cloud to find packages with popular tags, discover new packages, and keep up to date with new versions. You can also see our Featured Packages page to get a better idea of what makes the Julia ecosystem so special.
Package Pages
Under the packages menu, there's the package browser where you can browse packages by name, topic and license. Each package has a summary page with documentation and other useful information including package dependencies, recent versions, etc.
For example, here's the package summary page for Flux.
Search Inside Packages
There are three different ways to search inside packages across the entire ecosystem:
- Docs — Search through documentation for all packages
- Code — Search symbolically through the code powered by the compiler. This reveals information such as the definition and use locations of functions and types.
- Repo — Search the source text of all files within all package repositories, with support for regular expressions. Also known as "full text search".
Documentation Hosting
Unless opted out, JuliaHub automatically builds the documentation for packages in package registries. This includes the packages in the open-source General registry and also private packages in private registries on enterprise instances.
You can access the documentation pages of any package by clicking on the "Documentation" link on the package page.
JuliaHub attempts to build a standard Documenter.jl-based site for the package. If available, it will pick up the standard Documenter setup from the docs/
directory of the repository (docs/make.jl
, docs/src/
etc). If not available, or if the documentation fails to build, JuliaHub may also show fallback documentation made up of the README and the docstrings in the package.
Many packages in the General registry maintain their own documentation sites. If you are a maintainer of a such a package, you can indicate to JuliaHub that the users should be pointed to the documentation that you build and maintain by adding an entry to the DocumentationGeneratorRegistry. See the README for the instructions on how to do it.
Setting up JuliaHub-compatible docs
You can take advantage of the automatic documentation building and host your packages documentation on JuliaHub. In addition to just generating a simple README + API listing, JuliaHub also supports more complex documentation builds, if the package repository is set up appropriately.
DocumentationGenerator –- the package used by JuliaHub to build the documentation –- looks for the standard Documenter.jl-setup in the docs/
directory. Generally, DocumentationGenerator is able to interpret the docs/make.jl
and build the documentation according to the makedocs
call therein.
However, in more complex cases, it is possible that JuliaHub is unable to correctly interpret the docs/make.jl
file, in which case the docs/make.jl
may have to be adjusted. JuliaHub may also fail the build the documentation if the build process has complex dependencies on the environment it runs in, or if it requires too many resources (too much memory, or takes too long to build).
If JuliaHub has failed to automatically generate the documentation, and a fallback documentation has been generated, or if the documentation pages do not look right, you can access the documentation build logs on the JuliaHub package page.