You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/comparisons/math/linear_solvers.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ The most complete one is [LinearSolve.jl](https://github.com/SciML/LinearSolve.j
12
12
13
13
Specific solvers providing their own API's include [Paradiso.jl](https://github.com/JuliaSparse/Pardiso.jl), [MKL.jl](https://github.com/JuliaLinearAlgebra/MKL.jl), [BandedMatrices.jl](https://github.com/JuliaLinearAlgebra/BandedMatrices.jl), and more.
14
14
15
-
See https://discourse.julialang.org/t/solving-sparse-linear-systems-fast/83071/9
15
+
See <https://discourse.julialang.org/t/solving-sparse-linear-systems-fast/83071/9>
16
16
for a relevant discussion on the options for solving numerical linear equations.
Copy file name to clipboardExpand all lines: docs/comparisons/utility/notebooks.md
+119-4Lines changed: 119 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,126 @@ title = "Notebooks"
3
3
+++
4
4
5
5
# Notebooks
6
-
Notebooks are a type of [Integrated Development Environment (IDE)](https://en.wikipedia.org/wiki/Integrated_development_environment), and
7
-
are particularly useful for sharing and showing computations.
6
+
Notebooks are a type of [Integrated Development Environment (IDE)](https://en.wikipedia.org/wiki/Integrated_development_environment) accessed through the web-browser, where code at text are interleaved.
7
+
They are particularly useful for sharing and showing computations.
[Jupyter](https://github.com/jupyter/) is the original notebook. The name is a reference to the three core programming languages supported by Jupyter: Julia, Python and R[^1]. It
16
+
It is very mature, and used by a large community. This should probably be the first one you try.
17
+
18
+
A Jupyter notebook is organized in "cells".
19
+
Cells can contain either text (in [markdown](https://en.wikipedia.org/wiki/Markdown) format) or code.
20
+
The code is evaluated in the kernel as if you were entering the same code into a Julia session.
21
+
22
+
The [Colab](https://colab.google/) service makes it easy to test Jupyter without needing to install anything locally.
23
+
It also includes a Julia kernel.[^2]
24
+
25
+
The main kernels supported by Jupyter are :
26
+
* Python: [IPython](https://github.com/ipython/ipython) (the default kernel shipped with Jupyter)
* R: [IRkernel](https://github.com/IRkernel/IRkernel), [ark](https://github.com/posit-dev/ark) (a new kernel developed by [Posit](https://posit.co/) (previously RStudio) for the [Positron](https://github.com/posit-dev/positron) IDE)
29
+
30
+
## Pluto
31
+
{{badge Pluto}}
32
+
> 🎈 Simple reactive notebooks for Julia
33
+
34
+
Where Jupyter is multi language (and mainly Python), [Pluto.jl](https://github.com/fonsp/Pluto.jl) is a Julia project and mainly (only?) supports Julia.
35
+
36
+
It also differs from Jupyter in the execution model.
37
+
Where the state of the Jupyter kernel depends on the order in which cells were run, Pluto maintains a consistent state, where all cells are updated in a [reactive](https://en.wikipedia.org/wiki/Reactive_programming) manner.
38
+
39
+
An other difference is that cells in Pluto only contain a single line of code.
40
+
41
+
Many people are very happy with the Pluto model, where the state is always consistent (like in a spreadsheet). Others prefer the linear execution model of Jupyter notebooks, which is more similar to an interactive Julia session, but where you often need to "restart the kernel and run from the top" to make sure all is consistent.
42
+
43
+
You can test Pluto in the browser without installing it at <https://binder.plutojl.org/>.
10
44
11
45
The author of Pluto.jl gave a talk ([YouTube link](https://youtu.be/Rg3r3gG4nQo?feature=shared)) at JupyterCon 2023, which is a good demonstration of how to use Pluto.jl.
12
46
13
-
This section is not yet properly written. If you have used or developed Julia packages in this domain, we would love your help! Please visit the ["Contributing" section](https://github.com/JuliaPackageComparisons/JuliaPackageComparisons.github.io#contributing) of the [repository that hosts this website](https://github.com/JuliaPackageComparisons/JuliaPackageComparisons.github.io) for information on contributions.
47
+
48
+
## Neptune
49
+
{{badge Neptune}}
50
+
> Simple (Pluto-based) non-reactive notebooks for Julia
51
+
52
+
From the [README](https://github.com/compleathorseplayer/Neptune.jl):
53
+
54
+
Neptune originated as a fork of the Notebook platform Pluto, for those (like Data Scientists) who have requirements which conflict with the 'reactive' aspect of Pluto (where all cells re-evaluate every time a single cell is evaluated or re-evaluated). It may turn out to be that Neptune is only an interim solution, and that the capabilities it enables will eventually exist within the Pluto, but that it is not certain. Users with projects or applications which are not logically sequential or linear in execution/design, or which do not load external scripts, should first try Pluto.
55
+
56
+
See also [announcement](https://discourse.julialang.org/t/announcing-neptune-jl-now-updated-to-multi-line-cells/54088).
57
+
58
+
## BonitoBook
59
+
{{badge BonitoBook}}
60
+
> BonitoBook excels in plotting, customizability, ai integration and language interoperability, making it perfect for exploring data, building dashboards and any other interactive application.
61
+
62
+
[BonitoBook](https://github.com/SimonDanisch/BonitoBook.jl) was [announced](https://discourse.julialang.org/t/ann-bonitobook-jl/131442) in 2025 by [Simon Danisch](https://github.com/SimonDanisch) who is also the main author of [Bonito](https://github.com/simondanisch/Bonito.jl) and [Makie](https://github.com/MakieOrg/Makie.jl).
63
+
It integrates very well with Makie, and part of the motivation for BonitoBook seems to be that Makie support in Jupyter and Pluto is limited.
64
+
65
+
BonitoBook uses the linear execution model as Jupyter.
66
+
67
+
From the [website](https://bonitobook.org/website/):
68
+
69
+
BonitoBook is a Julia-native interactive notebook system built on [Bonito.jl](https://github.com/simondanisch/Bonito.jl) that seamlessly combines multi-language execution, AI integration, and modern web-based editing in one powerful platform.
70
+
71
+
### License
72
+
Note that BonitoBook is not under a free license, but the [PolyForm Noncommercial License](https://github.com/SimonDanisch/BonitoBook.jl/blob/main/LICENSE).
73
+
74
+
## Quarto
75
+
> Open-source scientific and technical publishing system built on Pandoc.
76
+
77
+
[Quarto](https://github.com/quarto-dev/quarto-cli) developed by [Posit PBC](https://posit.co) (formerly [RStudio](https://en.wikipedia.org/wiki/Posit_PBC)).
78
+
79
+
As Jupyter, Quarto is not a Julia project, but supports a Julia kernel as well as Python and R.
80
+
81
+
A quarto document is written in [Markdown](https://en.wikipedia.org/wiki/Markdown) with metadata in [YAML](https://en.wikipedia.org/wiki/YAML) code in code-blocks.
82
+
83
+
From the README:
84
+
Quarto is an open-source scientific and technical publishing system built on [Pandoc](https://pandoc.org). Quarto documents are authored using [Markdown](https://en.wikipedia.org/wiki/Markdown), an easy to write plain text format.
85
+
86
+
In addition to the core capabilities of Pandoc, Quarto includes:
87
+
88
+
1. Embedding code and output from Python, R, Julia, and JavaScript via integration with [Jupyter](https://jupyter.org/), [Knitr](https://yihui.org/knitr/), and [Observable](https://github.com/observablehq/).
89
+
90
+
2. A variety of extensions to Pandoc Markdown useful for technical writing including cross-references, sub-figures, layout panels, hoverable citations and footnotes, callouts, and more.
91
+
92
+
3. A project system for rendering groups of documents at once, sharing options across documents, and producing aggregate output like [websites](https://quarto.org/docs/websites/) and [books](https://quarto.org/docs/books/).
93
+
94
+
4. Authoring using a wide variety of editors and notebooks including [JupyterLab](https://quarto.org/docs/tools/jupyter-lab.html), [RStudio](https://quarto.org/docs/tools/rstudio.html), and [VS Code](https://quarto.org/docs/tools/vscode.html).
95
+
96
+
5. A [visual Markdown editor](https://quarto.org/docs/visual-editor/) that provides a productive writing interface for composing long-form documents.
97
+
98
+
Learn more about Quarto at <https://quarto.org>.
99
+
100
+
## Visual Studio Code (vscode) extension: julia-vscode
101
+
> Julia extension for Visual Studio Code
102
+
103
+
[vscode](https://github.com/microsoft/vscode) is the most popular editor for editing Julia code.
104
+
Julia is well supported through the [julia-vscode](https://github.com/julia-vscode/julia-vscode) extension.
105
+
106
+
Vscode also has support for editing (an evaluating) Jupyter notebooks.
107
+
108
+
## Positron
109
+
> Positron, a next-generation data science IDE
110
+
111
+
[Positron](https://github.com/posit-dev/positron) is a fork of [vscode](https://github.com/microsoft/vscode) optimized for data science.
112
+
It supports Julia through the [IJulia.jl](https://github.com/JuliaLang/IJulia.jl) Jupyter kernel, but there is [room for improvement](https://github.com/posit-dev/positron/issues/3679).
113
+
114
+
From the README:
115
+
116
+
What is [Positron](https://positron.posit.co/)?
117
+
118
+
- A next-generation data science IDE built by [Posit PBC](https://posit.co/)
119
+
- An extensible, polyglot tool for writing code and exploring data
120
+
- A familiar environment for reproducible authoring and publishing
0 commit comments