Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
9eaeb9c
feat: implement Phase 1 of Deepnote kernel configuration management
hc2p Oct 14, 2025
a8464f4
feat: add configuration-based APIs to DeepnoteToolkitInstaller and De…
hc2p Oct 14, 2025
2d692a3
feat: implement Phase 3 - Tree View UI for kernel configurations
hc2p Oct 14, 2025
1caa5c0
feat: implement Phase 3 - Tree View UI for kernel configurations
hc2p Oct 14, 2025
bb954e6
feat: add Phase 7 Part 1 - configuration picker infrastructure
hc2p Oct 15, 2025
228b23b
refactor: rename "Configuration" to "Environment" for clarity
hc2p Oct 15, 2025
2575850
Fixed tests
hc2p Oct 15, 2025
248efef
Ensure propsed APIs are loaded properly
hc2p Oct 15, 2025
198af82
Improve DX by auto showing "Deepnote" outputs
hc2p Oct 16, 2025
7b306d1
feat: add environment selection UI for notebooks
hc2p Oct 16, 2025
8b702c7
fix: resolve environment switching issues with stale server connections
hc2p Oct 16, 2025
460ba6d
WIP: Environment switching with controller disposal workaround
hc2p Oct 16, 2025
3455f33
WIP trying to get env switching working
hc2p Oct 17, 2025
9cd81ae
refactor: remove legacy ensureInstalled method and clean up environme…
tkislan Oct 23, 2025
ea47b22
refactor: update Deepnote environment structure and improve path hand…
tkislan Oct 24, 2025
c22e557
Merge remote-tracking branch 'origin/main' into hannes/grn-4913-manag…
tkislan Oct 24, 2025
16d18f3
Fix test
tkislan Oct 24, 2025
fa3ee5e
Fix test
tkislan Oct 24, 2025
925c92f
fix: Reformat file
tkislan Oct 24, 2025
e20afc1
chore: Update spell check config
tkislan Oct 24, 2025
52d8926
refactor: Update deepnote toolkit installation to return toolkit vers…
tkislan Oct 27, 2025
b8b7f95
Merge remote-tracking branch 'origin/main' into hannes/grn-4913-manag…
tkislan Oct 27, 2025
719a88f
feat: Localize Deepnote environment command titles and improve loggin…
tkislan Oct 27, 2025
757e28b
refactor: Logging improvements, added cancelation token support
tkislan Oct 27, 2025
128a712
feat: Localize user messages in Deepnote environments view for improv…
tkislan Oct 27, 2025
a0fcdb1
test: Enhance unit tests for DeepnoteEnvironmentsView with editEnviro…
tkislan Oct 27, 2025
504f2e6
chore: Improve localization, improve error handling, other cleanup
tkislan Oct 28, 2025
9f16df3
feat: Add cancellation token support to startServer method and enhanc…
tkislan Oct 28, 2025
204170c
refactor: Simplify cancellation handling in Deepnote environment mana…
tkislan Oct 28, 2025
3155c81
refactor: Enhance Deepnote environment manager with output channel in…
tkislan Oct 28, 2025
2465839
fix: Update iconPath in DeepnoteEnvironmentTreeItem to use ThemeColor
tkislan Oct 28, 2025
78a915d
refactor: Inject DeepnoteEnvironmentTreeDataProvider through DI
tkislan Oct 28, 2025
a96c0aa
test: Refactor DeepnoteKernelAutoSelector tests
tkislan Oct 28, 2025
7e32a8b
fix: Enhance error messages in Deepnote environments view and improve…
tkislan Oct 28, 2025
0f3a6e7
refactor: Minor changes
tkislan Oct 28, 2025
c2a5eef
Merge remote-tracking branch 'origin/main' into hannes/grn-4913-manag…
tkislan Oct 28, 2025
d409402
Remove unused import
tkislan Oct 28, 2025
fa248fc
fix: Fix test
tkislan Oct 28, 2025
6bd349b
fix: Fix test
tkislan Oct 28, 2025
fab4487
fix: Remove duplicate import
tkislan Oct 28, 2025
fb0fa93
fix: Update environment status handling in DeepnoteEnvironmentTreeItem
tkislan Oct 29, 2025
6b85b05
refactor: Update DeepnoteEnvironmentTreeItem to use consistent IDs fo…
tkislan Oct 29, 2025
ed9262f
test: Add DeepnoteEnvironmentsView tests
tkislan Oct 29, 2025
fdb5832
refactor: Enhance DeepnoteEnvironmentTreeDataProvider to include envi…
tkislan Oct 29, 2025
4582eee
Merge branch 'main' into hannes/grn-4913-manage-deepnote-kernels
Artmann Oct 29, 2025
f617a4e
feat: Add clearControllerForEnvironment method and disposeKernelsUsin…
tkislan Oct 30, 2025
c2899d0
fix: Merge package.json extension menus
tkislan Oct 30, 2025
673bc3a
Merge remote-tracking branch 'origin/main' into hannes/grn-4913-manag…
tkislan Oct 30, 2025
0fbe68d
fix: Pass cancellation token to startServer
tkislan Oct 31, 2025
ff75d1a
Remove unnecessary check
tkislan Oct 31, 2025
bb12b54
Reorder toolbar commands
tkislan Oct 31, 2025
6591c7f
test: Add more simple tests, to increase coverage of new code
tkislan Oct 31, 2025
0198a06
Update spell check config
tkislan Oct 31, 2025
02633fe
refactor: Consolidate server management tests in DeepnoteEnvironments…
tkislan Oct 31, 2025
55dfca9
Merge remote-tracking branch 'origin/main' into hannes/grn-4913-manag…
tkislan Oct 31, 2025
a09ba40
refactor: Simplify environment selection logic in DeepnoteEnvironment…
tkislan Oct 31, 2025
09742c9
fix: Fix tensorflow typo
tkislan Oct 31, 2025
ba78657
Refactor environment and kernel assignment
tkislan Oct 31, 2025
bedbd56
Refactor environment project management
tkislan Nov 2, 2025
a1409fa
Cleanup package.json
tkislan Nov 2, 2025
bee8e79
Merge remote-tracking branch 'origin/main' into hannes/grn-4913-manag…
tkislan Nov 2, 2025
2682113
refactor: Update kernel selection logic and environment management
tkislan Nov 2, 2025
c4d241b
feat: Enhance Deepnote server management with additional package support
tkislan Nov 2, 2025
0dafe04
refactor: Update kernel selection and environment handling in Deepnote
tkislan Nov 2, 2025
1227dcb
Debug changes
tkislan Nov 3, 2025
f49b8e3
Force notebook controller assignment
tkislan Nov 3, 2025
0e4b979
refactor: Update Deepnote kernel selection and notebook handling
tkislan Nov 3, 2025
0385c74
feat: kernel name is now project title -> notebook name
saltenasl Nov 3, 2025
0b82598
Minor cleanup
tkislan Nov 3, 2025
d5a6bc9
fix: requirements.txt should be created only once (or when requiremen…
saltenasl Nov 3, 2025
d481e43
Pass loading progress to rebuild controller
tkislan Nov 3, 2025
847901e
Merge branch 'hannes/grn-4913-manage-deepnote-kernels' of github.com:…
tkislan Nov 3, 2025
57ebbf4
chore: move `computeRequirementsHash to a separate fn
saltenasl Nov 3, 2025
e46ee23
Fix Deepnote environment switching on project files
tkislan Nov 3, 2025
f21fe6b
Merge branch 'hannes/grn-4913-manage-deepnote-kernels' of github.com:…
tkislan Nov 3, 2025
041184a
Fix tests build
tkislan Nov 3, 2025
dfa7395
Remove obsolete environment start/stop commands from package.json
tkislan Nov 3, 2025
f667856
Merge remote-tracking branch 'origin/main' into hannes/grn-4913-manag…
tkislan Nov 3, 2025
7575a99
Change Deepnote kernel name to display project name
tkislan Nov 3, 2025
e35b691
feat: restart kernel when integrations are reconfigured
saltenasl Nov 3, 2025
469fea4
fix: `determineExtensionFromCallStack` tests
saltenasl Nov 3, 2025
cc6120a
Fix tests, removed obsolete tests
tkislan Nov 3, 2025
82d81f9
Update JVSC_EXTENSION_ID_FOR_TESTS to deepnote id
tkislan Nov 3, 2025
ff61d1f
feat: implement loading kernel controller for Deepnote notebooks
tkislan Nov 3, 2025
542299d
Fix test
tkislan Nov 3, 2025
bc0ccab
Fix no environment dialog
tkislan Nov 3, 2025
633bfe7
Revert no environment warning modal dialog
tkislan Nov 3, 2025
2989525
Merge branch 'main' into hannes/grn-4913-manage-deepnote-kernels
tkislan Nov 3, 2025
49abbb0
refactor: clean up unused code and improve consistency
tkislan Nov 3, 2025
b01c444
Merge branch 'hannes/grn-4913-manage-deepnote-kernels' of github.com:…
tkislan Nov 3, 2025
3495b3d
Merge branch 'main' into hannes/grn-4913-manage-deepnote-kernels
saltenasl Nov 3, 2025
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
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--enable-proposed-api"
"--enable-proposed-api=Deepnote.vscode-deepnote"
],
"smartStep": true,
"sourceMaps": true,
Expand Down
13 changes: 12 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,34 @@
## Code Style & Organization

- Order method, fields and properties, first by accessibility and then by alphabetical order.
- Don't add the Microsoft copyright header to new files.
- Use `Uri.joinPath()` for constructing file paths to ensure platform-correct path separators (e.g., `Uri.joinPath(venvPath, 'share', 'jupyter', 'kernels')` instead of string concatenation with `/`)
- Follow established patterns, especially when importing new packages (e.g. instead of importing uuid directly, use the helper `import { generateUuid } from '../platform/common/uuid';`)


## Code conventions

- Always run `npx prettier` before committing

## Testing

- Unit tests use Mocha/Chai framework with `.unit.test.ts` extension
- Test files should be placed alongside the source files they test
- Run all tests: `npm test` or `npm run test:unittests`
- Run single test file: `npx mocha --config ./build/.mocha.unittests.js.json ./out/path/to/file.unit.test.js`
- Tests run against compiled JavaScript files in `out/` directory
- Use `assert.deepStrictEqual()` for object comparisons instead of checking individual properties


## Project Structure

- VSCode extension for Jupyter notebooks
- Uses dependency injection with inversify
- Follows separation of concerns pattern
- TypeScript codebase that compiles to `out/` directory

## Deepnote Integration

- Located in `src/notebooks/deepnote/`
- Refactored architecture:
- `deepnoteTypes.ts` - Type definitions
Expand All @@ -28,4 +39,4 @@
- `deepnoteActivationService.ts` - VSCode activation
- Whitespace is good for readability, add a blank line after const groups and before return statements
- Separate third-party and local file imports
- How the extension works is described in @architecture.md
- How the extension works is described in @architecture.md
Loading
Loading