|
1 | | -# Deepnote Extension for Visual Studio Code |
| 1 | + |
2 | 2 |
|
3 | 3 | [](https://github.com/deepnote/vscode-deepnote/actions/workflows/ci.yml) |
4 | 4 | [](https://codecov.io/gh/deepnote/vscode-deepnote) |
| 5 | +[](https://opensource.org/licenses/MIT) |
| 6 | +[](https://marketplace.visualstudio.com/items?itemName=Deepnote.vscode-deepnote) |
5 | 7 |
|
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 | +--- |
7 | 11 |
|
8 | 12 |  |
9 | 13 |
|
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 |
11 | 38 |
|
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) |
17 | 41 |
|
18 | | -## Useful commands |
| 42 | +## 🎯 Getting started |
19 | 43 |
|
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: |
21 | 64 |
|
22 | 65 | | Command | Description | |
23 | 66 | | ---------------------------------- | -------------------------------------------------- | |
24 | 67 | | `Deepnote: Refresh Explorer` | Refresh the Deepnote project explorer | |
25 | 68 | | `Deepnote: Open Notebook` | Open a specific notebook from a Deepnote project | |
26 | 69 | | `Deepnote: Open File` | Open the raw .deepnote project file | |
27 | 70 | | `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 | |
28 | 74 | | `Notebook: Select Notebook Kernel` | Select or switch kernels within your notebook | |
29 | 75 | | `Notebook: Change Cell Language` | Change the language of the cell currently in focus | |
30 | 76 |
|
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> |
0 commit comments