Skip to content

Commit d39f097

Browse files
committed
logging and packages
1 parent da3d044 commit d39f097

File tree

4 files changed

+10
-29
lines changed

4 files changed

+10
-29
lines changed

big list of undocumented features.md

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,10 @@
1919

2020
## 2. Package Management (Built-in Pkg)
2121

22-
- **Built-in Pkg management** — Each notebook has its own isolated `Project.toml` / `Manifest.toml` managed by Pluto. (#844)
23-
- **Automatic package installation** — When you add `using Foo`, Pluto automatically installs the package if missing. (#844)
24-
- **Per-notebook environments** — Each notebook's package environment is completely isolated from other notebooks and the global environment. (#341, #844)
25-
- **Pkg popup / bubble UI** — A visual popup shows the status of package operations next to the cell importing a package. (#844)
26-
- **Pkg terminal output in notebook** — Output from Pkg operations (install, resolve, update) is displayed inside the notebook UI. (#1210, #2498, #2500, #2507)
27-
- **Fancy Pkg terminal with spinners** — Pkg terminal shows animated spinners and progress bars (TTY mode). (#2500, #2787)
28-
- **Show Pkg logs in Process Status tab** — Pkg operation logs are visible in the dedicated Process Status panel. (#2498)
29-
- **Pkg install progress in Binder status** — Binder launch shows step-by-step Pkg install progress. (#2523)
30-
- **Button to view Pkg terminal in larger window** — A button pops out the Pkg terminal into a fullscreen view. (#3397)
31-
- **Prevent unnecessary registry updates** — Pluto avoids redundant Pkg registry updates during a session. (#2075)
32-
- **Auto-fix corrupted manifests** — When a notebook's manifest is broken, Pluto tries strategies to automatically fix it. (#2294, #2298)
33-
- **Pkg.instantiate before resolve** — Pluto calls `Pkg.instantiate()` before `Pkg.resolve()` when opening notebooks. (#2420, #2504, #2505)
34-
- **Use `PRESERVE_ALL_INSTALLED` when adding packages** — Pluto prefers already-installed package versions to avoid redundant downloads. (#2902)
3522
- **Guided Project.toml editor** — A UI for editing the notebook's `Project.toml` with compat entries. (#3218)
36-
- **Pkg.precompile in notebook process** — Precompilation runs inside the notebook process for better cache reuse. (#2499, #3367, #3377, #3381)
37-
- **Estimate package install/load time** — The UI shows an estimate of how long packages will take to install and load. (#2265, #2267, #2672)
38-
- **Inline widget explaining Pkg.activate behavior** — An in-notebook widget explains what `Pkg.activate` does in the notebook context. (#1293)
39-
- **Capture IO from `Pkg.rm`** — Logs from removing packages are captured and shown in the terminal UI. (#2924)
40-
- **Capture IO from resolve** — Logs from `Pkg.resolve` are captured and shown. (#3351)
41-
- **RegistryInstances.jl** — Uses public Pkg API via RegistryInstances.jl instead of internal Pkg internals. (#2289)
42-
- **Notebook scratch space for environments** — The notebook's hidden `Project.toml`/`Manifest.toml` is stored in a persistent Scratch.jl location (not a temp dir). (#3145)
43-
- **Package URL in Pkg popup** — Clicking on a package name in the Pkg popup opens its GitHub/docs page. (#3052)
44-
- **More embedded Pkg API**`activate_notebook_environment(fun, path)` and related functions exposed for downstream tools. (#2868)
23+
- **Auto-fix corrupted manifests** — When a notebook's manifest is broken, Pluto tries strategies to automatically fix it. (#2294, #2298)
4524
- **GracefulPkg.jl integration** — Uses GracefulPkg.jl for safer, more user-friendly Pkg error handling. (#3185)
46-
- **TestEnv.activate() support**Works correctly with TestEnv.jl for testing packages. (#3157)
25+
- **Show Pkg logs in Process Status tab**Pkg operation logs are visible in the dedicated Process Status panel. (#2498)
4726

4827
---
4928

226 KB
Loading

src/en/docs/logging.jlmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ layout: "md.jlmd"
66
order: 21
77
---
88

9-
# 🧾 Logging in Pluto.jl
9+
# Logging and `stdout`
10+
11+
To help with debugging your code, Pluto supports showing messages printed with the [standard library Logging module](https://docs.julialang.org/en/v1/stdlib/Logging/). This can be done using the `@info`, `@warn` and `@error` macro.
1012

11-
Pluto supports showing messages printed with the [standard library Logging module](https://docs.julialang.org/en/v1/stdlib/Logging/). This can be done using the `@info`, `@warn` and `@error` macro.
1213

13-
![image](https://user-images.githubusercontent.com/9824244/166148765-d639b659-4e90-4f54-8697-856f24ad4fbc.png)
1414

1515
<!--
1616
### Disabling logs for a notebook
@@ -31,7 +31,7 @@ If a package logs warnings or info messages that you want to hide (especially in
3131

3232
Pluto supports an integration with the [ProgressLogging.jl](https://github.com/JuliaLogging/ProgressLogging.jl) package which can be used to display a progress bar in the log message area:
3333

34-
![logs-demo-1](https://user-images.githubusercontent.com/9824244/166149390-f9fce3a4-3b48-4d77-8b06-546401c0103b.gif)
34+
<img alt="Screen recording of a Progress log going from 0% to 100%." src="$(root_url)/assets/img/progress log demo.gif" width="826" height="572" style="max-width: 400px;">
3535

3636
## Writing to standard output
3737

src/en/docs/packages.jlmd

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,13 @@ You can search for and install any available updates by clicking on the <img src
5050
## Long waiting times
5151
Julia needs to download and precompile packages before you can use them. When using many packages, this can take a **couple of minutes**. Before installing a new package, Pluto can give an estimate of how long it will take to install:
5252

53+
> The estimates are available for popular packages, based on our own [measurements](https://github.com/fonsp/package-loading-times).
54+
5355
<img width="541" alt="Screenshot of code that imports the DataFrames package. Pluto says that the package will be installed when you run the cell, and it gives an estimate of 53 second for the time it will take to install." src="https://github.com/fonsp/Pluto.jl/assets/6933510/942dbfd9-9e25-452e-beb6-2e759be3becf">
5456

5557
{#pre-installed-versions}
5658
### Pre-installed versions are preferred
57-
When adding a package to your notebook, Pluto will ask Pkg to install a version that was previously downloaded on your computer. This was added in May 2024, on older versions, Pkg would always try to install the newest versions.
59+
When adding a package to your notebook, Pluto will ask Pkg to install a version that was previously downloaded on your computer (with `PRESERVE_ALL_INSTALLED`). This was added in May 2024, on older versions, Pkg would always try to install the newest versions.
5860

5961
This should make it much faster to open a notebook and import some packages that you already used recently. If you need the latest versions, then you have to use the **Update** button after adding the packages.
6062

@@ -73,7 +75,7 @@ In Julia 1.6, you can clean up package files that have not been used in a while
7375
{#based-on-pkg}
7476
### Based on Pkg
7577

76-
Pluto's package management is a wrapper around [Pkg.jl](https://pkgdocs.julialang.org/v1/), Julia's built-in package manager. Packages are installed from the [General registry](https://github.com/JuliaRegistries/General).
78+
Pluto's package management is a wrapper around [Pkg.jl](https://pkgdocs.julialang.org/v1/) (Julia's built-in package manager) and [RegistryInstances.jl](https://github.com/GunnarFarneback/RegistryInstances.jl). Packages are installed from the [General registry](https://github.com/JuliaRegistries/General).
7779

7880
> 🙋 You can discover all available packages on [juliahub.com](https://juliahub.com/ui/Home).
7981

0 commit comments

Comments
 (0)