Skip to content

Rework library page #114

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion 404.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@ title: Page Not Found

The page you requested cannot be found (perhaps it was moved or renamed).

You may want to visit [Get-Started Guide]({{< meta get-started >}}) or [Tutorials]({{< meta tutorials-intro >}}).
You may want to return to the [home page](https://turinglang.org/).

If you believe this is an error, please do report it by [opening an issue](https://github.com/TuringLang/turinglang.github.io/issues/new).
10 changes: 5 additions & 5 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ website:
foreground: "#ffffff"
left:
- text: Get Started
href: https://turinglang.org/docs/tutorials/docs-00-getting-started/
href: https://turinglang.org/docs/getting-started/
- text: Tutorials
href: https://turinglang.org/docs/tutorials/00-introduction/
href: https://turinglang.org/docs/tutorials/
- text: Libraries
href: library/
- text: News
Expand All @@ -36,7 +36,7 @@ website:
href: https://x.com/TuringLang
- icon: github
text: Turing GitHub
href: https://github.com/TuringLang/Turing.jl
href: https://github.com/TuringLang

page-footer:
background: "#073c44"
Expand Down Expand Up @@ -83,5 +83,5 @@ format:
# Global Variables to use in any qmd files using:
# {{< meta site-url >}}
site-url: https://turinglang.org
get-started: https://turinglang.org/docs/tutorials/docs-00-getting-started/
tutorials-intro: https://turinglang.org/docs/tutorials/00-introduction/
get-started: https://turinglang.org/docs/getting-started/
tutorials-intro: https://turinglang.org/docs/tutorials/
6 changes: 3 additions & 3 deletions assets/scripts/TuringNavbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,10 @@
<a style="color: white !important; font-size: 21.25px !important; margin-left: 10px;" href="https://turinglang.org/">Turing.jl</a>
<ul class="ext-nav-links">
<li>
<a class="ext-nav-link" href="https://turinglang.org/docs/tutorials/docs-00-getting-started/">Get Started</a>
<a class="ext-nav-link" href="https://turinglang.org/docs/getting-started/">Get Started</a>
</li>
<li>
<a class="ext-nav-link" href="https://turinglang.org/docs/tutorials/00-introduction/">Tutorials</a>
<a class="ext-nav-link" href="https://turinglang.org/docs/tutorials/">Tutorials</a>
</li>
<li>
<p class="ext-nav-link" id="library-handler">Libraries</p>
Expand Down Expand Up @@ -304,7 +304,7 @@
</a>
</ul>
<ul>
<li class="ext-dropdown-item-heading">Gaussion Processes</li>
<li class="ext-dropdown-item-heading">Gaussian Processes</li>
<a href="https://juliagaussianprocesses.github.io/AbstractGPs.jl/">
<li>AbstractGPs</li>
</a>
Expand Down
117 changes: 85 additions & 32 deletions library/index.qmd
Original file line number Diff line number Diff line change
@@ -1,61 +1,114 @@
---
title: "Turing Libraries"
page-layout: full
search: false
toc: false
include-in-header:
- text: |
<style>a {text-decoration: none;}a:hover {text-decoration: underline;}</style>
listing:
- id: libraries-main
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: main
- id: libraries-modelling
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: modelling
- id: libraries-mcmc
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: mcmc
- id: libraries-vi
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: vi
- id: libraries-utilities
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: utilities
- id: libraries-diagnostics
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: diagnostics
- id: libraries-distributions
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: distributions
- id: libraries-infrastructure
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: infrastructure
- id: libraries-gps
template: table.ejs
contents: main.yml
field-required: [name, api, github, description, category]
include:
category: gps
---

This page lists all the packages that are part of the [The Turing Organization](https://github.com/TuringLang).
This page lists all the packages that are part of the [The Turing Organisation](https://github.com/TuringLang), and provides links to their respective API documentation pages and GitHub repositories.

## Modelling Languages

- [DynamicPPL.jl](https://turinglang.org/DynamicPPL.jl/): A domain-specific language and backend for probabilistic programming languages used by Turing.jl.
If you are looking for tutorials and usage guides, please visit [this page](https://turinglang.org/docs/).

- [JuliaBUGS.jl](https://turinglang.org/JuliaBUGS.jl/): JuliaBUGS is a graph-based probabilistic programming language and a component of the Turing ecosystem.
## Turing.jl itself

- [TuringGLM.jl](https://turinglang.org/TuringGLM.jl/): A Julia package for Bayesian generalised linear models used for returning an instantiated Turing model using the formula syntax
::: {#libraries-main}
:::

## Markov chain Monte Carlo (MCMC)
## Modelling Languages

- [AdvancedHMC.jl](https://turinglang.org/AdvancedHMC.jl/): It provides a robust, modular, and efficient implementation of advanced Hamiltonian Monte Carlo (HMC) algorithms.
::: {#libraries-modelling}
:::

- [AbstractMCMC.jl](https://turinglang.org/AbstractMCMC.jl/): Abstract types and interfaces for Markov chain Monte Carlo methods. This defines an interface for sampling and combining Markov chains.
## Markov Chain Monte Carlo (MCMC)

- [ThermodynamicIntegration.jl](https://github.com/theogf/ThermodynamicIntegration.jl): A simple package to compute Thermodynamic Integration for computing the evidence in a Bayesian setting.
::: {#libraries-mcmc}
:::

- [AdvancedPS.jl](https://turinglang.org/AdvancedPS.jl/): This is a lightweight package that implements particle-based Monte Carlo algorithms for the [Turing](https://turinglang.org/) ecosystem.
## Variational Inference

- [SliceSampling.jl](https://turinglang.org/SliceSampling.jl): This package is a collection of slice sampling algorithms including the univariate slice samplers by [Neal (2003)](https://arxiv.org/abs/physics/0009028).
::: {#libraries-vi}
:::

- [EllipticalSliceSampling.jl](https://turinglang.org/EllipticalSliceSampling.jl/): This package implements elliptical slice sampling in the Julia language, as described in [Murray, Adams & MacKay (2010)](http://proceedings.mlr.press/v9/murray10a/murray10a.pdf).
## Utilities

- [NestedSamplers.jl](https://turinglang.org/NestedSamplers.jl/): A Julian implementation of single- and multi-ellipsoidal nested sampling algorithms using the [AbstractMCMC](https://github.com/turinglang/abstractmcmc.jl) interface.
::: {#libraries-utilities}
:::

## Diagnostics

- [MCMCChains.jl](https://turinglang.org/MCMCChains.jl/): Implementation of Julia types for summarising MCMC simulations and utility functions for [diagnostics](https://turinglang.org/MCMCChains.jl/stable/diagnostics/#Diagnostics) and [visualisations](https://turinglang.org/MCMCChains.jl/stable/statsplots/#StatsPlots.jl).

- [MCMCDiagnosticTools.jl](https://turinglang.org/MCMCDiagnosticTools.jl/): This package provides functionality for diagnosing samples generated using Markov Chain Monte Carlo.
::: {#libraries-diagnostics}
:::

- [ParetoSmooth.jl](https://turinglang.org/ParetoSmooth.jl/): An implementation of Pareto smoothed importance sampling(PSIS) algorithms in Julia.
## Distributions

## Bijectors.jl
::: {#libraries-distributions}
:::

- [Bijectors.jl](https://turinglang.org/Bijectors.jl/): A package for transforming distributions, used by [Turing.jl](https://github.com/TuringLang/Turing.jl).
## Infrastructure

## TuringCallbacks.jl

- [TuringCallbacks.jl](https://turinglang.org/TuringCallbacks.jl/): A package containing some convenient callbacks to use when you sample in [`Turing.jl`](https://app.codecov.io/gh/TuringLang/Turing.jl).

## TuringBenchmarking.jl

- [TuringBenchmarking.jl](https://turinglang.org/TuringBenchmarking.jl/): A package for benchmarking and checking [`Turing.jl`](https://github.com/TuringLang/Turing.jl) models.
::: {#libraries-infrastructure}
:::

## Gaussian Processes

- [AbstractGPs.jl](https://juliagaussianprocesses.github.io/AbstractGPs.jl): AbstractGPs.jl is a package that defines a low-level API for working with Gaussian processes (GPs), and basic functionality for working with them in the simplest cases.

- [KernelFunctions.jl](https://juliagaussianprocesses.github.io/KernelFunctions.jl): Julia package for kernel functions for machine learning.
The following packages come under the umbrella of the [JuliaGaussianProcesses organisation](https://github.com/JuliaGaussianProcesses).

- [ApproximateGPs.jl](https://juliagaussianprocesses.github.io/ApproximateGPs.jl): This is a package that provides some approximate inference algorithms for Gaussian process models, built on top of [AbstractGPs.jl](https://github.com/JuliaGaussianProcesses/AbstractGPs.jl).
::: {#libraries-gps}
:::
153 changes: 153 additions & 0 deletions library/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
- name: Turing
api: https://turinglang.org/Turing.jl/
github: https://github.com/TuringLang/Turing.jl
description: "The main entry point to the Turing ecosystem"
category: main

- name: DynamicPPL
api: https://turinglang.org/DynamicPPL.jl/
github: https://github.com/TuringLang/DynamicPPL.jl
description: "Domain-specific language and backend for probabilistic programming; contains the core functionality of Turing.jl"
category: modelling
- name: JuliaBUGS
api: https://turinglang.org/JuliaBUGS.jl/
github: https://github.com/TuringLang/JuliaBUGS.jl
description: "A graph-based probabilistic programming language"
category: modelling
- name: TuringGLM
api: https://turinglang.org/TuringGLM.jl/
github: https://github.com/TuringLang/TuringGLM.jl
description: "Bayesian generalised linear models used for returning an instantiated Turing model using the formula syntax"
category: modelling
- name: AbstractPPL
api: https://turinglang.org/AbstractPPL.jl/
github: https://github.com/TuringLang/AbstractPPL.jl
description: "An abstract interface for probabilistic programming languages"
category: modelling

- name: AbstractMCMC
api: https://turinglang.org/AbstractMCMC.jl/
github: https://github.com/TuringLang/AbstractMCMC.jl
description: "Abstract types and interfaces for Markov chain Monte Carlo methods, featuring progress bars, parallel sampling, and user-defined callbacks"
category: mcmc
- name: AdvancedHMC
api: https://turinglang.org/AdvancedHMC.jl/
github: https://github.com/TuringLang/AdvancedHMC.jl
description: "A robust, modular, and efficient implementation of advanced Hamiltonian Monte Carlo algorithms"
category: mcmc
- name: AdvancedMH
api: https://turinglang.org/AdvancedMH.jl/
github: https://github.com/TuringLang/AdvancedMH.jl
description: "Random walk and adaptive Metropolis–Hastings algorithms"
category: mcmc
- name: AdvancedPS
api: https://turinglang.org/AdvancedPS.jl/
github: https://github.com/TuringLang/AdvancedPS.jl
description: "Lightweight implementation of particle-based Monte Carlo algorithms"
category: mcmc
- name: SliceSampling
api: https://turinglang.org/SliceSampling.jl/
github: https://github.com/TuringLang/SliceSampling.jl
description: "Univariate and multivariate slice sampling algorithms"
category: mcmc
- name: EllipticalSliceSampling
api: https://turinglang.org/EllipticalSliceSampling.jl/
github: https://github.com/TuringLang/EllipticalSliceSampling.jl
description: "Elliptical slice sampling for inference in models with multivariate Gaussian priors"
category: mcmc
- name: NestedSamplers
api: https://turinglang.org/NestedSamplers.jl/
github: https://github.com/TuringLang/NestedSamplers.jl
description: "Single- and multi-ellipsoidal nested sampling algorithms"
category: mcmc
- name: ThermodynamicIntegration
api: https://theogf.github.io/ThermodynamicIntegration.jl/
github: https://github.com/theogf/ThermodynamicIntegration.jl
description: "Computing Bayesian evidence using thermodynamic integration"
category: mcmc

- name: AdvancedVI
api: https://turinglang.org/AdvancedVI.jl/
github: https://github.com/TuringLang/AdvancedVI.jl
description: "Variational inference algorithms for Bayesian models"
category: vi
- name: NormalizingFlows
api: https://turinglang.org/NormalizingFlows.jl/
github: https://github.com/TuringLang/NormalizingFlows.jl
description: "Variational inference and normalizing flows for Bayesian computation"
category: vi

- name: TuringCallbacks
api: https://turinglang.org/TuringCallbacks.jl/
github: https://github.com/TuringLang/TuringCallbacks.jl
description: "Convenient callbacks for sampling in Turing.jl"
category: utilities
- name: TuringBenchmarking
api: https://turinglang.org/TuringBenchmarking.jl/
github: https://github.com/TuringLang/TuringBenchmarking.jl
description: "Tools to benchmark and check Turing models"
category: utilities

- name: MCMCChains
api: https://turinglang.org/MCMCChains.jl/
github: https://github.com/TuringLang/MCMCChains.jl
description: "Implementation of the Chains type returned by Turing sampling, with functions for diagnostics and visualisations"
category: diagnostics
- name: MCMCDiagnosticTools
api: https://turinglang.org/MCMCDiagnosticTools.jl/
github: https://github.com/TuringLang/MCMCDiagnosticTools.jl
description: "Extra functionality for diagnosing samples generated with MCMC methods"
category: diagnostics
- name: ParetoSmooth
api: https://turinglang.org/ParetoSmooth.jl/
github: https://github.com/TuringLang/ParetoSmooth.jl
description: "Leave-one-out cross-validation for fitted Bayesian models using Pareto smoothed importance sampling"
category: diagnostics

- name: Bijectors
api: https://turinglang.org/Bijectors.jl/
github: https://github.com/TuringLang/Bijectors.jl
description: "Transformations for distributions"
category: distributions
- name: DistributionsAD
api: https://turinglang.org/DistributionsAD.jl/
github: https://github.com/TuringLang/DistributionsAD.jl
description: "Automatic differentiation for calculating the log probability densities of distributions"
category: distributions

- name: turinglang.github.io
api: ""
github: https://github.com/TuringLang/turinglang.github.io
description: "The code for this website itself"
category: infrastructure
- name: docs
api: ""
github: https://github.com/TuringLang/docs
description: "The tutorials and usage guides; any page whose URL begins with https://turinglang.org/docs is built here"
category: infrastructure
- name: actions
api: ""
github: https://github.com/TuringLang/actions
description: "Shared GitHub Actions for the TuringLang organisation"
category: infrastructure

- name: AbstractGPs
api: https://juliagaussianprocesses.github.io/AbstractGPs.jl
github: https://github.com/JuliaGaussianProcesses/AbstractGPs.jl
description: "Low-level API and basic functionality for working with Gaussian processes"
category: gps
- name: KernelFunctions
api: https://juliagaussianprocesses.github.io/KernelFunctions.jl
github: https://github.com/JuliaGaussianProcesses/KernelFunctions.jl
description: "Kernel functions for machine learning"
category: gps
- name: ApproximateGPs
api: https://juliagaussianprocesses.github.io/ApproximateGPs.jl
github: https://github.com/JuliaGaussianProcesses/ApproximateGPs.jl
description: "Approximate inference algorithms for Gaussian process models"
category: gps
- name: GPLikelihoods
api: https://juliagaussianprocesses.github.io/GPLikelihoods.jl
github: https://github.com/JuliaGaussianProcesses/GPLikelihoods.jl
description: "Likelihoods used as building blocks in non-Gaussian problems"
category: gps
14 changes: 14 additions & 0 deletions library/table.ejs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<table width="100%">
<tbody>
<% for (const item of items) { %>
<tr>
<td style="padding: 5px 5px 5px 0"><span style="font-weight: bold"><%- item.name %></span></td>
<% if (item.api !== "") { %>
<td style="padding: 5px 5px"><a href="<%- item.api %>" target="_blank">API</a></td>
<% } %>
<td style="padding: 5px 5px"><a href="<%- item.github %>" target="_blank">GitHub</a></td>
<td style="padding: 5px 0 5px 5px"><%- item.description %></td>
</tr>
<% } %>
</tbody>
</table>
2 changes: 1 addition & 1 deletion team/index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ listing:

::: {#team-data}

:::
:::
Loading