|
1 | | -# jupyterlab_deepnote |
| 1 | +# JupyterLab Deepnote |
| 2 | + |
| 3 | +<div align="center"> |
2 | 4 |
|
3 | 5 | [](https://github.com/deepnote/jupyterlab-deepnote/actions/workflows/ci.yml) |
4 | 6 | [](https://codecov.io/gh/deepnote/jupyterlab-deepnote) |
| 7 | +[](https://pypi.org/project/jupyterlab-deepnote/) |
| 8 | +[](https://pypi.org/project/jupyterlab-deepnote/) |
| 9 | +[](https://opensource.org/licenses/BSD-3-Clause) |
5 | 10 |
|
6 | | -A third-party Deepnote extension for JupyterLab that provides a read‑only viewer for Deepnote `.deepnote` files. |
| 11 | +## A third-party extension for JupyterLab for viewing Deepnote projects (`.deepnote` files) directly in JupyterLab |
7 | 12 |
|
8 | | -> **Note:** This is an unofficial, community-developed extension and is not affiliated with or endorsed by Project Jupyter. JupyterLab is a trademark of LF Charities, Inc. |
| 13 | +> **Note:** This is an unofficial, community-developed extension and is not affiliated with or endorsed by Project Jupyter. Jupyter, JupyterLab and the Jupyter logos are trademarks or registered trademarks of LF Charities, used by Deepnote Inc with permission. |
9 | 14 |
|
10 | | -## Requirements |
| 15 | +[Installation](#installation) • [Usage](#usage) • [Development](#development) • [License](#license) • [Deepnote](https://deepnote.com) • [GitHub community](https://github.com/deepnote/deepnote) |
11 | 16 |
|
12 | | -- Python 3.9 or higher |
13 | | -- JupyterLab >= 4.4.0, < 5.0.0 |
| 17 | +</div> |
14 | 18 |
|
15 | | -## Install |
| 19 | +--- |
16 | 20 |
|
17 | | -Install the extension using pip: |
| 21 | +Deepnote is the data notebook for the AI era. `jupyterlab-deepnote` is a JupyterLab extension that enables you to open and view [Deepnote](https://deepnote.com) project files (`.deepnote` format) directly within JupyterLab. This extension provides a seamless read-only viewer for Deepnote notebooks, allowing you to explore Deepnote projects without leaving your JupyterLab environment. |
18 | 22 |
|
19 | | -```bash |
20 | | -pip install jupyterlab_deepnote |
21 | | -``` |
| 23 | +### Key features |
22 | 24 |
|
23 | | -## Usage |
| 25 | +- 📂 **Open Deepnote files**: View `.deepnote` project files containing Deepnote notebooks in JupyterLab |
| 26 | +- 📓 **Multi-notebook support**: Switch between multiple notebooks within a single `.deepnote` file |
| 27 | +- 👁️ **Read-only mode**: View notebook content safely without modifying the original `.deepnote` file |
| 28 | +- 🔄 **Seamless integration**: Works natively with JupyterLab's notebook interface |
| 29 | +- 🎨 **Deepnote block support**: Renders Deepnote-specific block types as Jupyter cells |
24 | 30 |
|
25 | | -After installation you can: |
| 31 | +## Installation |
26 | 32 |
|
27 | | -- Open Deepnote files (`.deepnote`) containing Deepnote projects in JupyterLab |
28 | | -- Switch between notebooks inside a `.deepnote` file |
29 | | -- View content in **read‑only** mode (no editing or saving back to the `.deepnote` file) |
| 33 | +### Requirements |
30 | 34 |
|
31 | | -## Troubleshooting |
| 35 | +- **Python**: 3.10 or higher |
| 36 | +- **JupyterLab**: 4.0.0 or higher |
32 | 37 |
|
33 | | -If you encounter issues with the extension, verify that both the server and frontend extensions are properly installed and enabled. |
| 38 | +### Install via pip |
34 | 39 |
|
35 | | -Check server extensions: |
| 40 | +Install the extension using pip, see our [PyPI page](https://pypi.org/project/jupyterlab-deepnote/): |
36 | 41 |
|
37 | 42 | ```bash |
38 | | -jupyter server extension list |
| 43 | +pip install jupyterlab-deepnote |
39 | 44 | ``` |
40 | 45 |
|
41 | | -Check frontend extensions: |
| 46 | +The extension will be automatically enabled after installation. |
| 47 | + |
| 48 | +### Verify installation |
| 49 | + |
| 50 | +Check that the extension is properly installed and enabled: |
42 | 51 |
|
43 | 52 | ```bash |
| 53 | +# Check server extension |
| 54 | +jupyter server extension list |
| 55 | + |
| 56 | +# Check frontend extension |
44 | 57 | jupyter labextension list |
45 | 58 | ``` |
46 | 59 |
|
| 60 | +You should see `jupyterlab_deepnote` listed in both outputs. |
| 61 | + |
| 62 | +## Usage |
| 63 | + |
| 64 | +### Opening Deepnote files |
| 65 | + |
| 66 | +1. **Launch JupyterLab**: |
| 67 | + |
| 68 | + ```bash |
| 69 | + jupyter lab |
| 70 | + ``` |
| 71 | + |
| 72 | +2. **Open a `.deepnote` file**: |
| 73 | + - Use the file browser to navigate to your `.deepnote` file |
| 74 | + - Double-click the file to open it in the notebook viewer |
| 75 | + |
| 76 | +3. **Switch between notebooks** (if the `.deepnote` file contains multiple notebooks): |
| 77 | + - Use the notebook picker dropdown in the toolbar |
| 78 | + - Select the notebook you want to view |
| 79 | + |
| 80 | +## Architecture |
| 81 | + |
| 82 | +This extension consists of two main components: |
| 83 | + |
| 84 | +- **Server extension**: Handles `.deepnote` file parsing and conversion to Jupyter notebook format. Not all the blocks are supported; visit [docs](https://deepnote.com/docs?utm_source=github&utm_medium=github&utm_campaign=github&utm_content=readme_main) to learn more |
| 85 | +- **Frontend extension**: Provides the JupyterLab UI integration and notebook picker widget |
| 86 | + |
| 87 | +The extension uses a custom content provider to intercept `.deepnote` file requests and transform them into Jupyter-compatible notebook content. |
| 88 | + |
| 89 | +## Troubleshooting |
| 90 | + |
| 91 | +### Extension not loading |
| 92 | + |
| 93 | +If the extension doesn't appear to be working: |
| 94 | + |
| 95 | +1. **Verify installation**: |
| 96 | + |
| 97 | + ```bash |
| 98 | + jupyter server extension list |
| 99 | + jupyter labextension list |
| 100 | + ``` |
| 101 | + |
| 102 | +2. **Rebuild JupyterLab** (if installed from source): |
| 103 | + |
| 104 | + ```bash |
| 105 | + jupyter lab build |
| 106 | + ``` |
| 107 | + |
| 108 | +3. **Check for errors**: |
| 109 | + |
| 110 | + ```bash |
| 111 | + jupyter lab --debug |
| 112 | + ``` |
| 113 | + |
| 114 | +### Common issues |
| 115 | + |
| 116 | +- **`.deepnote` files not opening**: Ensure the file extension is exactly `.deepnote` |
| 117 | +- **Missing notebooks**: Verify the `.deepnote` file contains valid YAML-formatted Deepnote project data |
| 118 | +- **Extension conflicts**: Try disabling other notebook-related extensions temporarily |
| 119 | + |
| 120 | +### Getting help |
| 121 | + |
| 122 | +If you encounter issues: |
| 123 | + |
| 124 | +1. Check the [GitHub Issues](https://github.com/deepnote/jupyterlab-deepnote/issues) for similar problems |
| 125 | +2. Review the [CONTRIBUTING.md](CONTRIBUTING.md) for development setup |
| 126 | +3. Open a new issue with detailed information about your environment and the problem |
| 127 | + |
47 | 128 | ## Uninstall |
48 | 129 |
|
49 | | -To remove the extension, run: |
| 130 | +To remove the extension: |
50 | 131 |
|
51 | 132 | ```bash |
52 | 133 | pip uninstall jupyterlab_deepnote |
53 | 134 | ``` |
54 | 135 |
|
| 136 | +After uninstalling, restart JupyterLab for the changes to take effect. |
| 137 | + |
55 | 138 | ## Compatibility |
56 | 139 |
|
57 | 140 | ### JupyterLab Version Support |
@@ -83,6 +166,26 @@ This extension follows semantic versioning for its own API: |
83 | 166 |
|
84 | 167 | Note: This extension does **not** support JupyterLab 3.x or earlier versions. |
85 | 168 |
|
86 | | -## Contributing |
| 169 | +## Development |
| 170 | + |
| 171 | +For development setup, testing, and contributing guidelines, please see [CONTRIBUTING.md](CONTRIBUTING.md). |
| 172 | + |
| 173 | +## License |
| 174 | + |
| 175 | +This project is licensed under the BSD 3-Clause License - see the [LICENSE](LICENSE) file for details. |
| 176 | + |
| 177 | +## Related projects |
| 178 | + |
| 179 | +- [Deepnote](https://deepnote.com) |
| 180 | +- [Deepnote Open Source](https://github.com/deepnote/deepnote) |
| 181 | +- [VS Code extension](https://marketplace.visualstudio.com/items?itemName=Deepnote.vscode-deepnote) |
| 182 | +- [Cursor extension](https://open-vsx.org/extension/Deepnote/vscode-deepnote) |
| 183 | +- [Windsurf extension](https://open-vsx.org/extension/Deepnote/vscode-deepnote) |
| 184 | + |
| 185 | +--- |
| 186 | + |
| 187 | +<div align="center"> |
| 188 | + |
| 189 | +Made with 💙 by the Deepnote team |
87 | 190 |
|
88 | | -Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute to this project. |
| 191 | +</div> |
0 commit comments