DOC: Add instructions for installation from conda-forge - #50
Conversation
🆗 Pre-flight checks passed 😃This pull request has been checked and contains no modified workflow files or spoofing. It should be safe to Approve and Run the workflows that need maintainer approval. |
matthewfeickert
left a comment
There was a problem hiding this comment.
High-level comments for the reviewers.
| - Manual local installation from conda-forge with Pixi (local) | ||
| - Installing all the requirements for development is one line and will create a fully reproducible environment. | ||
| - **Initial setup with conda packages from conda-forge and Pixi is very straightfoward and is operating system agnostic.** | ||
| - Manual local installation with operating system specific tools (local) |
There was a problem hiding this comment.
I'm raising the difference between local installation using conda-forge tooling and the operating system specific approaches. Both are "manual", though both involve package managers at some levle.
| ### Why would I want to install locally if all these other options exist? | ||
|
|
||
| You can use the Workbench completely within devcontainers or Docker locally, or through GitHub using our templates. | ||
| You can use the Workbench completely within devcontainers, Docker, or with [Pixi locally](#101-conda-forge), or through GitHub using our templates. |
There was a problem hiding this comment.
Adding an anchor that matches the style used elsewhere.
| We acknowledge that VSCode is free but not completely open source. | ||
|
|
||
| Please note, if you are not comfortable with using Docker or the Workbench, we recommend going through the [manual installation](#101-manual) steps below. | ||
| Please note, if you are not comfortable with using Docker for the Workbench, we recommend going through the [manual installation](#101-manual) steps below. |
There was a problem hiding this comment.
Typo fix: "or the Workbench" -> "for the Workbench".
|
|
||
| All of the Workbench tools, and their dependencies, are packaged and distributed as built binaries in the form of conda packages on [conda-forge](https://conda-forge.org/) for Linux, macOS, and Windows. | ||
| You can setup an environment for lesson development that includes all dependencies (including R) with the following. | ||
|
|
There was a problem hiding this comment.
I had tried to encompass the With Pixi and With Conda using group-tab
:::: group-tab
...
::::but this raises pandoc and sandpaper errors
Details:
$ pixi run start
✨ Pixi task (serve): Rscript -e "sandpaper::serve()": (Serve the lesson) ! There were errors in 8/109 links and images
◌ Some link anchors for relative links (e.g. [anchor]: link) are missing
◌ Some linked internal files do not exist <https://carpentries.github.io/sandpaper/articles/include-child-documents.html#workspace-consideration>
◌ Avoid uninformative link phrases <https://webaim.org/techniques/hypertext/link_text#uninformative>
◌ Avoid single-letter or missing link text <https://webaim.org/techniques/hypertext/link_text#link_length>
learners/setup.md:311 [link text too short]: [R](https://cran.rstudio.org/)
learners/setup.md:381 [missing anchor]: [we recommend using RStudio for your lesson](#recommend)
learners/setup.md:511 [missing file]: [](fig/rstudio-mac-install.png)
learners/devcontainer.md:15 [uninformative link text]: [link](https://code.visualstudio.com/)
learners/devcontainer.md:89 [missing file]: [Lesson Content and Styling](episodes/02-content-styling.md)
learners/devcontainer.md:89 [missing file]: [Additional Lesson Content](03-additional-content.md)
learners/devcontainer.md:93 [missing file]: [Packages and renv](episodes/04-r-and-renv.md)
learners/devcontainer.md:97 [missing file]: [Internationalisation](episodes/05-il8n.md)
── Initialising site ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔ Congratulations! '/home/feickert/Code/GitHub/forks/workbench-docs/CITATION.cff' is valid
Error:
! in callr subprocess.
Caused by error:
! pandoc document conversion failed with error 83
---
Standard error:
[WARNING] Note with key 'workspace' defined at /tmp/RtmpabpLeN/file1e2cf1211c00e.md line 871 column 1 but not used.
Error running filter /home/feickert/Code/GitHub/forks/workbench-docs/.pixi/envs/default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:
...default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:330: attempt to concatenate a nil value (field '?')
stack traceback:
...default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:419: in function <...default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:418>
[C]: in ?
[C]: in function 'pandoc.walk_block'
...default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:451: in function 'tab_block'
...default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:661: in function 'handle_our_divs'
stack traceback:
...default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:451: in function 'tab_block'
...default/lib/R/library/sandpaper/rmarkdown/lua/lesson.lua:661: in function 'handle_our_divs'
---
Backtrace:
1. sandpaper::serve()
2. local rend(this_path)
3. sandpaper::build_lesson(f, preview = FALSE, quiet = quiet)
4. sandpaper:::build_site(path = path, quiet = quiet, preview = preview, override = override, …
5. sandpaper:::build_home(pkg, quiet = quiet, next_page = home_next)
6. sandpaper:::render_html(setup)
7. callr::r(function(d, v, ...) { …
8. callr:::get_result(output = out, options)
9. callr:::throw(callr_remote_error(remerr, output), parent = fix_msg(remerr[[3]]))
---
Subprocess backtrace:
1. rmarkdown::pandoc_convert(...)
2. rmarkdown:::stop2("pandoc document conversion failed with error ", result)
3. base::stop(..., call. = FALSE)
4. | base::.handleSimpleError(function (e) …
5. global h(simpleError(msg, call))
Warning message:
There are missing timings from 1 episode.
• 01-first-lesson.md
ℹ The default value of 5 minutes will be used for teaching and exercises.
Execution halted
As a fall back, revert to using subsections of the same heading level e.g.
### With Pixi (recommended)
...
### With condaWorking instances of group-tab use with the Workbench can be seen in https://github.com/carpentries-incubator/reproducible-ml-workflows, so this seems to point to an issue with the structure of https://github.com/carpentries/workbench-docs.
There was a problem hiding this comment.
This has been resolved in carpentries/sandpaper#709 and is released in sandpaper v0.20.0 which now allows for group-tabs to work
| conda activate workbench | ||
| ``` | ||
|
|
||
| ### Test your installation |
There was a problem hiding this comment.
This section exists only to match the other installation methods, as PATH manipulation is controlled by environment activation (or run, in the case of Pixi). If additional checks are desired please recommend them.
|
@froggleston @tobyhodges this is ready for review. Please let me know if you have any questions. 👍 |
|
Aside: How is workbench-docs/learners/setup.md Lines 689 to 699 in 8085699 possible when the latest release is |
|
Thanks for this @matthewfeickert ! We can take a look over the next few days. To be perfectly honest, I have no idea. Some part of my mind remembers that there were 3.10 releases, and then everywhere that I might have those versions, they're all sub 3.9 so .... I guess I made a typo after a copy paste? |
9ff5a0e to
3f4c7df
Compare
Sounds good, thanks!
I wasn't thinking fully when I asked about that earlier, but a typo makes more sense than a bug. That's luckily a very easy fix. 👍 |
* Correct pandoc version to 3.9 (latest as of 2026-02). * Fix typo 'or the Workbench' -> 'for the Workbench'.
3f4c7df to
25b9e78
Compare
* Add instructions based on https://carpentries.github.io/workbench/#installation. - Use group-tabs to show instructions for Pixi (recommended) and conda. * Give Pixi as the preferred method as it requires fewer commands, is significantly faster, and is fully reproducible.
25b9e78 to
42af6a3
Compare
|
|
||
| ::: group-tab | ||
|
|
||
| ### With Pixi |
There was a problem hiding this comment.
I've found that if I had With Pixi (recommended), the presence of the () broke group-tabs, so I have noted the (recommended) in the line below.
|
I'll merge this now as it's looking good, and we can do a more thorough review when @tobyhodges and I next discuss the plan for these docs. Thanks as always @matthewfeickert ! |
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
|
Thanks @froggleston! |
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Auto-generated via `{sandpaper}`
Source : 574e9bc
Branch : md-outputs
Author : GitHub Actions <actions@github.com>
Time : 2026-02-28 20:55:00 +0000
Message : markdown source builds
Auto-generated via `{sandpaper}`
Source : be3a34e
Branch : main
Author : Robert Davey <robertdavey@carpentries.org>
Time : 2026-02-28 20:53:05 +0000
Message : Merge pull request #50 from matthewfeickert/feat/add-conda-forge-install-instructions
DOC: Add instructions for installation from conda-forge
Resolves #49