From fa112dea860805a05a7dbcae29a83a0b596c8a4a Mon Sep 17 00:00:00 2001 From: Filip Zitny Date: Sat, 25 Oct 2025 14:34:00 +0200 Subject: [PATCH 01/15] docs: update of the readme and adding deepnote-dragon logo --- README.md | 169 +++++++++++++++++++++++++++++++++++++++++--- deepnote-dragon.png | Bin 0 -> 905206 bytes 2 files changed, 158 insertions(+), 11 deletions(-) create mode 100644 deepnote-dragon.png diff --git a/README.md b/README.md index 95562552b4..0c446bcaca 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,76 @@ -# Deepnote Extension for Visual Studio Code +# Deepnote for Visual Studio Code + +![Deepnote dragon](deepnote-dragon.png) [![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) [![codecov](https://codecov.io/gh/deepnote/vscode-deepnote/graph/badge.svg?token=NH066XG7JC)](https://codecov.io/gh/deepnote/vscode-deepnote) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![VS Code Marketplace](https://img.shields.io/badge/VS%20Code-Marketplace-blue)](https://marketplace.visualstudio.com/items?itemName=Deepnote.vscode-deepnote) + +A powerful [Visual Studio Code](https://code.visualstudio.com/) extension that brings [Deepnote](https://deepnote.com/) notebook capabilities directly into your favorite editor. Work with enhanced data science notebooks featuring SQL blocks, database integrations, and collaborative features - all within VS Code. -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. +## 🚀 Features ![Deepnote Projects](./images/deepnote-projects.png) -This extension allows you to work with Deepnote notebooks in VS Code. Deepnote notebooks provide enhanced data science capabilities beyond traditional Jupyter notebooks: +### Enhanced Notebook Experience + +Deepnote notebooks extend traditional Jupyter notebooks with powerful data science features: + +- **🔢 Multiple Block Types** - Work with Python code, SQL queries, Markdown documentation, and specialized data science blocks +- **🔄 Seamless Language Switching** - Switch between Python and SQL within the same notebook without context switching +- **🗄️ Database Integrations** - Connect directly to PostgreSQL, BigQuery, Snowflake, and other data sources with secure credential management +- **⚡ Init Notebooks** - Automatically run initialization code (dependencies, environment setup) before notebook execution +- **📦 Automatic Requirements** - Generate `requirements.txt` from your project settings for reproducible environments +- **🎨 Rich Outputs** - View data visualizations, tables, and interactive outputs directly in VS Code +- **🔐 Secure Credential Storage** - Safely store and manage database credentials using VS Code's encrypted SecretStorage API + +### Jupyter Kernel Support + +Built on top of robust Jupyter infrastructure: + +- **🐍 Python Kernel** - Full Python support with IPython features +- **🔌 Custom Deepnote Kernel** - Enhanced kernel with Deepnote-specific features and integrations +- **📊 Interactive Debugging** - Debug notebooks cell-by-cell with VS Code's debugger +- **🔄 Kernel Management** - Easy kernel selection, restart, and interrupt capabilities + +### Project Management + +- **📁 Project Explorer** - Browse and manage Deepnote projects directly from VS Code's sidebar +- **📓 Multi-Notebook Support** - Work with multiple notebooks from the same project +- **🔍 Quick Navigation** - Jump between notebooks and files with command palette integration +- **♻️ Auto-Refresh** - Automatic detection of project file changes + +## 📋 Requirements + +- **Visual Studio Code** 1.103.0 or higher +- **Python** 3.8 or higher (for running notebooks) +- **Node.js** 22.15.1 or higher (for development) + +## 🎯 Getting Started -- **More block types** - Choose from SQL blocks, chart blocks, and more specialized data science blocks -- **Seamless language switching** - Switch between Python and SQL seamlessly within the same notebook -- **Database integrations** - Connect directly to Postgres, Snowflake, BigQuery and more data sources -- **Init notebooks** - Automatically runs initialization code (like dependency installation) before your notebooks execute -- **Project requirements** - Automatically creates `requirements.txt` from your project settings for easy dependency management +### Installation -## Useful commands +1. Open VS Code +2. Press `Ctrl+P` / `Cmd+P` to open Quick Open +3. Type `ext install Deepnote.vscode-deepnote` +4. Press Enter -Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands: +Or install from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Deepnote.vscode-deepnote) + +### Opening Your First Deepnote Notebook + +1. Open a folder containing `.deepnote` project files +2. Look for the Deepnote icon in the Activity Bar (sidebar) +3. Click on a notebook in the Deepnote Explorer to open it +4. Select a Python kernel when prompted +5. Start coding! + +## 📖 Usage + +### Command Palette + +Open the Command Palette (`Cmd+Shift+P` on macOS, `Ctrl+Shift+P` on Windows/Linux) and type `Deepnote` to see all available commands: | Command | Description | | ---------------------------------- | -------------------------------------------------- | @@ -25,7 +78,101 @@ Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/L | `Deepnote: Open Notebook` | Open a specific notebook from a Deepnote project | | `Deepnote: Open File` | Open the raw .deepnote project file | | `Deepnote: Reveal in Explorer` | Show active notebook information in the explorer | +| `Deepnote: Manage Integrations` | Configure database connections and credentials | +| `Deepnote: New Project` | Create a new Deepnote project | +| `Deepnote: Import Notebook` | Import an existing notebook into your project | | `Notebook: Select Notebook Kernel` | Select or switch kernels within your notebook | | `Notebook: Change Cell Language` | Change the language of the cell currently in focus | -To see all available Deepnote commands, open the Command Palette and type `Deepnote`. +### Database Integrations + +Configure database connections for SQL blocks: + +1. Open Command Palette +2. Run `Deepnote: Manage Integrations` +3. Add your database credentials (PostgreSQL, BigQuery, etc.) +4. Use SQL blocks in your notebooks with the configured integrations + +Credentials are securely stored using VS Code's encrypted storage and never leave your machine. + +### Working with SQL Blocks + +SQL blocks allow you to query databases directly from your notebooks: + +```sql +-- Query your PostgreSQL database +SELECT * FROM users WHERE created_at > '2024-01-01' +``` + +Results are displayed as interactive tables that you can explore and export. + +## 🛠️ Development + +Want to contribute? Check out our [Contributing Guide](CONTRIBUTING.md) for detailed setup instructions. + +### Quick Start for Developers + +```bash +# Clone the repository +git clone https://github.com/deepnote/vscode-deepnote.git +cd vscode-deepnote + +# Install dependencies +npm install + +# Setup pre-commit hooks +npm run setup-precommit-hook + +# Compile and watch for changes +npm run watch + +# Run tests +npm run test:unittests +``` + +See [CONTRIBUTING.md](CONTRIBUTING.md) for more details on: +- Setting up your development environment +- Running tests +- Building the extension +- Submitting pull requests + +## 📚 Documentation + +- **[Architecture](architecture.md)** - Technical architecture and design decisions +- **[Deepnote Kernel Implementation](DEEPNOTE_KERNEL_IMPLEMENTATION.md)** - Details on the custom Jupyter kernel +- **[Integrations & Credentials](INTEGRATIONS_CREDENTIALS.md)** - How database integrations work +- **[Contributing Guide](CONTRIBUTING.md)** - How to contribute to the project + +## 🤝 Contributing + +We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details on: + +- Code of conduct +- Development setup +- Coding standards +- Pull request process +- Testing requirements + +## 📄 License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +## 🐛 Issues & Support + +- **Bug Reports**: [GitHub Issues](https://github.com/deepnote/vscode-deepnote/issues) +- **Feature Requests**: [GitHub Discussions](https://github.com/deepnote/vscode-deepnote/discussions) +- **Questions**: [GitHub Discussions](https://github.com/deepnote/vscode-deepnote/discussions) + +## 🔗 Related Projects + +- [Deepnote](https://deepnote.com/) - Collaborative data science notebook platform +- [Jupyter](https://jupyter.org/) - Open-source notebook ecosystem +- [VS Code Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python) - Python language support for VS Code + +## 🌟 Keywords + +`deepnote` `jupyter` `notebook` `data-science` `python` `sql` `database` `postgresql` `bigquery` `vscode-extension` `data-analysis` `machine-learning` `interactive-computing` `ipython` `jupyter-notebook` `collaborative-notebooks` + +--- + +Made with ❤️ by the Deepnote team diff --git a/deepnote-dragon.png b/deepnote-dragon.png new file mode 100644 index 0000000000000000000000000000000000000000..e4392a00bcdb4e68dddfde1c34ba76cda4dec37d GIT binary patch literal 905206 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 z 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