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
A discussion dedicated to the JupyterLab module. Share your thoughts, questions, and feedback here.
Module Scorecard
Presentation & Onboarding
IDE Integration
Credential Hygiene
Restricted-Environment Readiness
Engineering Quality
Overall
17 / 25
13 / 25
20 / 20
0 / 20
8 / 10
58 / 100
Drilldown
Presentation & Onboarding — 17 / 25
Criterion
Max
Score
Notes
Configuration-mode examples
12
12
README provides two examples: basic usage and advanced configuration with the config parameter showing JupyterLab server settings customization including root_dir
Coder-context framing
8
0
README does not explain what the module adds on top of Coder or how Coder fits in the flow; it only states "A module that adds JupyterLab in your Coder template" without context about iframe embedding, workspace integration, or the value proposition
Visual preview
5
5
README includes an embedded image: 
IDE Integration — 13 / 25
Criterion
Max
Score
Notes
Dashboard entry point
7
7
coder_app resource present with proper healthcheck, subdomain support, and URL configuration for both subdomain and path-based access modes
Managed configuration
6
6
config variable documented with JSON configuration support, writes to ~/.jupyter/jupyter_server_config.json, includes CSP fallback for Coder iframe embedding, and shows example with ServerApp settings
Configurable folder or workdir
6
0
No documented support for opening or starting in a configured folder; the example shows root_dir = "/workspace/notebooks" as part of general config but this is not presented as a dedicated workdir feature
Pre-installed extensions
6
0
No documented support for pre-installing JupyterLab extensions
Credential Hygiene — 20 / 20
Criterion
Max
Score
Notes
Secrets marked sensitive
16
16
No sensitive inputs defined; the module does not handle secrets. README examples show token and password set to empty strings for local access, which is appropriate for Coder's authenticated environment
Non-hardcoded auth path
4
4
Module uses Coder's built-in authentication; JupyterLab runs with --ServerApp.token='' --ServerApp.password='' relying on Coder workspace auth, avoiding raw credential management
Restricted-Environment Readiness — 0 / 20
Criterion
Max
Score
Notes
Mirrorable artifact source
10
0
No module variable to override the JupyterLab download/install source; the script hardcodes pipx install jupyterlab and uv pip install jupyterlab with no URL override mechanism
Bring-your-own binary
5
0
No documented way to disable installation when JupyterLab is pre-installed; script checks command -v jupyter-lab and skips install if found, but this is undocumented and there's no explicit disable flag
Egress transparency
3
0
No dedicated README section enumerating external endpoints; PyPI access for jupyterlab installation is implicit but not documented
Runs without sudo
2
0
Scripts use pipx and uv pip install which install to user directories ($HOME/.local/bin, $HOME/.venv/bin), and no sudo invocations are present in run.sh or main.tf scripts; however, the apk commands in tests suggest the base environment setup may require root, though the module scripts themselves run without sudo. Full credit: scripts verifiably never invoke sudo
Engineering Quality — 8 / 10
Criterion
Max
Score
Notes
Input quality
6
4
Variables have descriptions and some defaults; share has validation; however, config description is minimal ("A JSON string...") without explaining structure or providing schema guidance; port default 19999 is unusual without explanation
Test coverage
4
4
Comprehensive test coverage: .test.ts covers installer detection, config file writing, CSP fallback behavior, and error cases; tests verify both pipx and uv paths and config script generation
Overall — 58 / 100
Scored against SCORECARD.md on 2026-08-10 with claude-sonnet-4-5.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
A discussion dedicated to the JupyterLab module. Share your thoughts, questions, and feedback here.
Module Scorecard
Drilldown
Presentation & Onboarding — 17 / 25
configparameter showing JupyterLab server settings customization including root_dirIDE Integration — 13 / 25
coder_appresource present with proper healthcheck, subdomain support, and URL configuration for both subdomain and path-based access modesconfigvariable documented with JSON configuration support, writes to~/.jupyter/jupyter_server_config.json, includes CSP fallback for Coder iframe embedding, and shows example with ServerApp settingsroot_dir = "/workspace/notebooks"as part of general config but this is not presented as a dedicated workdir featureCredential Hygiene — 20 / 20
--ServerApp.token='' --ServerApp.password=''relying on Coder workspace auth, avoiding raw credential managementRestricted-Environment Readiness — 0 / 20
pipx install jupyterlabanduv pip install jupyterlabwith no URL override mechanismcommand -v jupyter-laband skips install if found, but this is undocumented and there's no explicit disable flagpipxanduv pip installwhich install to user directories ($HOME/.local/bin,$HOME/.venv/bin), and no sudo invocations are present in run.sh or main.tf scripts; however, the apk commands in tests suggest the base environment setup may require root, though the module scripts themselves run without sudo. Full credit: scripts verifiably never invoke sudoEngineering Quality — 8 / 10
sharehas validation; however,configdescription is minimal ("A JSON string...") without explaining structure or providing schema guidance;portdefault 19999 is unusual without explanation.test.tscovers installer detection, config file writing, CSP fallback behavior, and error cases; tests verify both pipx and uv paths and config script generationOverall — 58 / 100
Scored against SCORECARD.md on 2026-08-10 with
claude-sonnet-4-5.All reactions