Skip to content

Commit 7fead03

Browse files
authored
Merge branch 'main' into tomaskislan/deepnote-notebook-management
2 parents d91fa56 + 53be9e5 commit 7fead03

File tree

10 files changed

+147
-82
lines changed

10 files changed

+147
-82
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ on:
1010
permissions:
1111
actions: read
1212
contents: read
13-
packages: read
1413

1514
concurrency:
1615
group: ${{ github.workflow }}-${{ github.ref }}
@@ -30,13 +29,9 @@ jobs:
3029
with:
3130
cache: 'npm'
3231
node-version-file: '.nvmrc'
33-
registry-url: 'https://npm.pkg.github.com'
34-
scope: '@deepnote'
3532

3633
- name: Install dependencies
3734
run: npm ci --prefer-offline --no-audit
38-
env:
39-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4035

4136
- name: Run ESLint
4237
run: npm run lint
@@ -57,13 +52,9 @@ jobs:
5752
with:
5853
cache: 'npm'
5954
node-version-file: '.nvmrc'
60-
registry-url: 'https://npm.pkg.github.com'
61-
scope: '@deepnote'
6255

6356
- name: Install dependencies
6457
run: npm ci --prefer-offline --no-audit
65-
env:
66-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6758

6859
- name: Run TypeScript type checking
6960
run: npm run typecheck
@@ -95,7 +86,6 @@ jobs:
9586
permissions:
9687
id-token: write
9788
contents: read
98-
packages: read
9989
steps:
10090
- name: Checkout
10191
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
@@ -105,13 +95,9 @@ jobs:
10595
with:
10696
cache: 'npm'
10797
node-version-file: '.nvmrc'
108-
registry-url: 'https://npm.pkg.github.com'
109-
scope: '@deepnote'
11098

11199
- name: Install dependencies
112100
run: npm ci --prefer-offline --no-audit
113-
env:
114-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
115101

116102
- name: Compile TypeScript
117103
run: npm run compile
@@ -155,13 +141,9 @@ jobs:
155141
with:
156142
cache: 'npm'
157143
node-version-file: '.nvmrc'
158-
registry-url: 'https://npm.pkg.github.com'
159-
scope: '@deepnote'
160144

161145
- name: Install dependencies
162146
run: npm ci
163-
env:
164-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
165147

166148
- name: Check Licenses
167149
run: npm run check-licenses
@@ -179,13 +161,9 @@ jobs:
179161
with:
180162
cache: 'npm'
181163
node-version-file: '.nvmrc'
182-
registry-url: 'https://npm.pkg.github.com'
183-
scope: '@deepnote'
184164

185165
- name: Install dependencies
186166
run: npm ci --prefer-offline --no-audit
187-
env:
188-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
189167

190168
- name: Run spell check
191169
run: npm run spell-check
@@ -203,13 +181,9 @@ jobs:
203181
with:
204182
cache: 'npm'
205183
node-version-file: '.nvmrc'
206-
registry-url: 'https://npm.pkg.github.com'
207-
scope: '@deepnote'
208184

209185
- name: Install dependencies
210186
run: npm install
211-
env:
212-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
213187

214188
- name: Check package lock drift
215189
run: |
@@ -228,13 +202,9 @@ jobs:
228202
with:
229203
cache: 'npm'
230204
node-version-file: '.nvmrc'
231-
registry-url: 'https://npm.pkg.github.com'
232-
scope: '@deepnote'
233205

234206
- name: Install dependencies
235207
run: npm ci --prefer-offline --no-audit
236-
env:
237-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
238208

239209
- name: Run audit for production dependencies
240210
run: npm audit --production
@@ -252,13 +222,9 @@ jobs:
252222
with:
253223
cache: 'npm'
254224
node-version-file: '.nvmrc'
255-
registry-url: 'https://npm.pkg.github.com'
256-
scope: '@deepnote'
257225

258226
- name: Install dependencies
259227
run: npm ci --prefer-offline --no-audit
260-
env:
261-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
262228

263229
- name: Run audit for all dependencies
264230
run: npm audit

.github/workflows/copilot-setup-steps.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ jobs:
3030
permissions:
3131
# If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
3232
contents: read
33-
packages: read
3433

3534
# You can define any steps you want, and they will run before the agent starts.
3635
# If you do not check out your code, Copilot will do this for you.
@@ -42,8 +41,6 @@ jobs:
4241
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
4342
with:
4443
node-version-file: '.nvmrc'
45-
registry-url: 'https://npm.pkg.github.com'
46-
scope: '@deepnote'
4744

4845
- name: Cache npm files
4946
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
@@ -61,8 +58,6 @@ jobs:
6158
# Let that happen in other jobs, this job needs to be fast
6259
- name: npm ci
6360
run: npm ci --ignore-scripts --prefer-offline --no-audit
64-
env:
65-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6661

6762
- name: npm run postinstall
6863
run: npm run postinstall

.github/workflows/deps.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ on:
99
permissions:
1010
actions: read
1111
contents: read
12-
packages: read
1312

1413
concurrency:
1514
group: ${{ github.workflow }}-${{ github.ref }}
@@ -28,13 +27,9 @@ jobs:
2827
with:
2928
cache: 'npm'
3029
node-version-file: '.nvmrc'
31-
registry-url: 'https://npm.pkg.github.com'
32-
scope: '@deepnote'
3330

3431
- name: Install dependencies
3532
run: npm ci --prefer-offline --no-audit
36-
env:
37-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3833

3934
- name: Run security audit
4035
run: npm audit --json > audit-report.json || true

.github/workflows/package.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ on:
99

1010
permissions:
1111
contents: read
12-
packages: read
1312

1413
concurrency:
1514
group: ${{ github.workflow }}-${{ github.ref }}
@@ -29,13 +28,9 @@ jobs:
2928
with:
3029
cache: 'npm'
3130
node-version-file: '.nvmrc'
32-
registry-url: 'https://npm.pkg.github.com'
33-
scope: '@deepnote'
3431

3532
- name: Install dependencies
3633
run: npm ci --prefer-offline --no-audit
37-
env:
38-
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3934

4035
- name: Install vsce
4136
run: npm install -g @vscode/vsce

.npmrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 111 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,131 @@
1-
# Deepnote Extension for Visual Studio Code
1+
![Deepnote VS Code cover image](deepnote-vscode-cover-image.png)
22

33
[![CI](https://github.com/deepnote/vscode-deepnote/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/deepnote/vscode-deepnote/actions/workflows/ci.yml)
44
[![codecov](https://codecov.io/gh/deepnote/vscode-deepnote/graph/badge.svg?token=NH066XG7JC)](https://codecov.io/gh/deepnote/vscode-deepnote)
5+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6+
[![VS Code Marketplace](https://img.shields.io/badge/VS%20Code-Marketplace-blue)](https://marketplace.visualstudio.com/items?itemName=Deepnote.vscode-deepnote)
57

6-
A [Visual Studio Code](https://code.visualstudio.com/) extension that provides support for [Deepnote notebooks](https://deepnote.com/) directly within VS Code. This extension allows you to work with Deepnote notebooks in VS Code, bringing the rich data science capabilities of Deepnote to your favorite editor.
8+
A powerful [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=Deepnote.vscode-deepnote), [Cursor](https://open-vsx.org/extension/Deepnote/vscode-deepnote) and [Windsurf](https://open-vsx.org/extension/Deepnote/vscode-deepnote) extension that brings [Deepnote](https://deepnote.com/) notebook capabilities directly into your favorite editor. Work with sleek AI notebooks featuring SQL blocks, database integrations, and reactive blocks - all within VS Code.
9+
10+
---
711

812
![Deepnote Projects](./images/deepnote-projects.png)
913

10-
This extension allows you to work with Deepnote notebooks in VS Code. Deepnote notebooks provide enhanced data science capabilities beyond traditional Jupyter notebooks:
14+
---
15+
16+
# 🚀 Deepnote in VS Code, Cursor and Windsurf - data notebook for AI era
17+
18+
Run Deepnote locally inside VS Code, Cursor and Windsurf — not Jupyter — and unlock the next generation of data workflows:
19+
20+
- 🧠 **SQL in VS Code** — Run SQL queries out of the box, no extensions needed
21+
- 🧩 **Rich block types** — Combine Python, Markdown, data visualizations, tables, and more — all in one place
22+
- 🔐 **Native database connections** — Securely connect to Snowflake, BigQuery, Postgres, and 60+ other sources via VS Code’s encrypted SecretStorage API
23+
- ⚙️ **Init notebooks** — Auto-run setup code (dependencies, env setup) before execution
24+
- 📦 **Smart requirements** — Generate `requirements.txt` automatically for reproducible runs
25+
26+
🐍 **Jupyter kernel, upgraded**
27+
28+
-**Deepnote kernel** — Fully `.ipynb-compatible`, tuned for modern data workflows
29+
- 🔁 **Kernel control** — Restart, interrupt, and switch seamlessly
30+
31+
🌐 **Deepnote ecosystem integrations**
32+
33+
- 🔃 **Auto-refresh** — Instantly detects file and data changes
34+
- 🧮 **Multi-notebook support** — Work across multiple notebooks in one unified project
35+
-**Cloud collaboration** — Switch between local VS Code and Deepnote Cloud to collaborate live on the same file with your team
36+
37+
## 📋 Requirements
1138

12-
- **More block types** - Choose from SQL blocks, chart blocks, and more specialized data science blocks
13-
- **Seamless language switching** - Switch between Python and SQL seamlessly within the same notebook
14-
- **Database integrations** - Connect directly to Postgres, Snowflake, BigQuery and more data sources
15-
- **Init notebooks** - Automatically runs initialization code (like dependency installation) before your notebooks execute
16-
- **Project requirements** - Automatically creates `requirements.txt` from your project settings for easy dependency management
39+
- **Visual Studio Code** 1.95.0 or higher
40+
- **Python** 3.10 or higher (for running notebooks)
1741

18-
## Useful commands
42+
## 🎯 Getting started
1943

20-
Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands:
44+
1. Open the extensions tab and Search for Deepnote
45+
2. Or alternatively, press `Cmd+P` or `Ctrl+P` to open the command palette.
46+
3. Type `ext install Deepnote.vscode-deepnote`
47+
4. Press Enter
48+
49+
Or install from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Deepnote.vscode-deepnote)
50+
51+
### Opening your first Deepnote notebook
52+
53+
1. Open a folder containing `.deepnote` project files
54+
2. Look for the Deepnote icon in the Activity Bar (sidebar)
55+
3. Click on a notebook in the Deepnote Explorer to open it
56+
4. Select a Python kernel when prompted
57+
5. Start coding!
58+
59+
## 📖 Usage
60+
61+
### Command palette
62+
63+
Open the Command Palette (`Cmd+Shift+P` or `Ctrl+Shift+P`) and type `Deepnote` to see all available commands:
2164

2265
| Command | Description |
2366
| ---------------------------------- | -------------------------------------------------- |
2467
| `Deepnote: Refresh Explorer` | Refresh the Deepnote project explorer |
2568
| `Deepnote: Open Notebook` | Open a specific notebook from a Deepnote project |
2669
| `Deepnote: Open File` | Open the raw .deepnote project file |
2770
| `Deepnote: Reveal in Explorer` | Show active notebook information in the explorer |
71+
| `Deepnote: Manage Integrations` | Configure database connections and credentials |
72+
| `Deepnote: New Project` | Create a new Deepnote project |
73+
| `Deepnote: Import Notebook` | Import an existing notebook into your project |
2874
| `Notebook: Select Notebook Kernel` | Select or switch kernels within your notebook |
2975
| `Notebook: Change Cell Language` | Change the language of the cell currently in focus |
3076

31-
To see all available Deepnote commands, open the Command Palette and type `Deepnote`.
77+
### Database integrations
78+
79+
Configure database connections for SQL blocks:
80+
81+
1. Open Command Palette
82+
2. Run `Deepnote: Manage Integrations`
83+
3. Add your database credentials (PostgreSQL, BigQuery, etc.)
84+
4. Use SQL blocks in your notebooks with the configured integrations
85+
86+
Credentials are securely stored using VS Code's encrypted storage and never leave your machine.
87+
88+
### Working with SQL Blocks
89+
90+
SQL blocks allow you to query databases directly from your notebooks:
91+
92+
```sql
93+
-- Query your PostgreSQL database
94+
SELECT * FROM users WHERE created_at > '2024-01-01'
95+
```
96+
97+
Results are displayed as interactive tables that you can explore and export.
98+
99+
## 🛠️ Quick start for developers
100+
101+
Want to contribute? Check out our [Contributing Guide](CONTRIBUTING.md) for detailed setup instructions.
102+
103+
- Setting up your development environment
104+
- Running tests
105+
- Building the extension
106+
- Submitting pull requests
107+
108+
## 📚 Documentation
109+
110+
- **[Architecture](architecture.md)** - Technical architecture and design decisions
111+
- **[Deepnote Kernel Implementation](DEEPNOTE_KERNEL_IMPLEMENTATION.md)** - Details on the custom Jupyter kernel
112+
- **[Integrations & Credentials](INTEGRATIONS_CREDENTIALS.md)** - How database integrations work
113+
- **[Contributing Guide](CONTRIBUTING.md)** - How to contribute to the project
114+
115+
## 📄 License
116+
117+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
118+
119+
## 🐛 Issues & support
120+
121+
- **Bug reports**: [GitHub issues](https://github.com/deepnote/vscode-deepnote/issues)
122+
- **Feature requests**: [GitHub discussions](https://github.com/deepnote/deepnote/discussions)
123+
- **Questions**: [GitHub discussions](https://github.com/deepnote/deepnote/discussions)
124+
125+
---
126+
127+
<div align="center">
128+
129+
**Built with 💙 by the Deepnote team**
130+
131+
</div>

deepnote-vscode-cover-image.png

6.46 MB
Loading

0 commit comments

Comments
 (0)