Skip to content

Commit e34145a

Browse files
docs: update README, CONTRIBUTING, RELEASE
Signed-off-by: Andy Jakubowski <[email protected]>
1 parent 1efc889 commit e34145a

File tree

3 files changed

+71
-26
lines changed

3 files changed

+71
-26
lines changed

CONTRIBUTING.md

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# Scope
2+
3+
This document is intended for contributors and maintainers working on the extension's source code. For general usage and installation instructions, please refer to the README.
4+
15
# Contributing to `jupyterlab-deepnote`
26

37
## Development install
@@ -138,6 +142,39 @@ jlpm
138142
jlpm test
139143
```
140144

141-
## Packaging the extension
145+
## Versioning and compatibility
146+
147+
We follow [Semantic Versioning (semver)](https://semver.org/).
148+
149+
The extension pins JupyterLab to the current major version in both Python and JavaScript dependencies to ensure compatibility.
150+
151+
**Example `pyproject.toml` dependency:**
152+
153+
```toml
154+
[project.optional-dependencies]
155+
jupyterlab = ["jupyterlab>=4.0.0,<5.0.0"]
156+
```
157+
158+
**Example `package.json` peerDependencies:**
159+
160+
```json
161+
"peerDependencies": {
162+
"@jupyterlab/application": "^4.0.0",
163+
"@jupyterlab/apputils": "^4.0.0",
164+
"jupyterlab": "^4.0.0"
165+
}
166+
```
167+
168+
## Sync with the JupyterLab extension template
169+
170+
This project was bootstrapped using the [JupyterLab extension template](https://github.com/jupyterlab/extension-template). To keep your project up to date with improvements and best practices from the template, run:
171+
172+
```sh
173+
copier update --trust
174+
```
175+
176+
This will apply the latest template changes interactively. Review and commit any updates as appropriate.
177+
178+
## Release workflow
142179

143-
See [RELEASE](RELEASE.md)
180+
See [RELEASE](RELEASE.md) for details on the release process. We recommend using [Jupyter Releaser](https://github.com/jupyter-server/jupyter_releaser) and [PyPI trusted publishing](https://docs.pypi.org/trusted-publishers/) for secure and automated releases.

README.md

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,57 @@
33
[![CI](https://github.com/deepnote/jupyterlab-deepnote/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/deepnote/jupyterlab-deepnote/actions/workflows/ci.yml)
44
[![codecov](https://codecov.io/gh/deepnote/jupyterlab-deepnote/graph/badge.svg?token=OV32VZNOJ2)](https://codecov.io/gh/deepnote/jupyterlab-deepnote)
55

6-
A Deepnote extension for JupyterLab
7-
8-
This extension is composed of a Python package named `jupyterlab_deepnote`
9-
for the server extension and a NPM package named `jupyterlab-deepnote`
10-
for the frontend extension.
6+
Read‑only viewer for Deepnote `.deepnote` files inside JupyterLab.
117

128
## Requirements
139

14-
- JupyterLab >= 4.0.0
10+
- Python 3.7 or higher
11+
- JupyterLab 4.0.0 or higher
1512

1613
## Install
1714

18-
To install the extension:
15+
Install the extension using pip:
1916

2017
```bash
2118
pip install jupyterlab_deepnote
2219
```
2320

24-
## Uninstall
21+
## Usage
2522

26-
To remove the extension, execute:
23+
After installation you can:
2724

28-
```bash
29-
pip uninstall jupyterlab_deepnote
30-
```
25+
- Open Deepnote files (`.deepnote`) containing Deepnote projects in JupyterLab
26+
- Switch between notebooks inside a `.deepnote` file
27+
- View content in **read‑only** mode (no editing or saving back to the `.deepnote` file)
3128

32-
## Troubleshoot
29+
## Compatibility and Maintenance
3330

34-
If you are seeing the frontend extension, but it is not working, check
35-
that the server extension is enabled:
31+
This extension is maintained to be compatible with JupyterLab versions 4.x. It is recommended to keep your JupyterLab installation updated within this major version to ensure full compatibility.
32+
33+
## Troubleshooting
34+
35+
If you encounter issues with the extension, verify that both the server and frontend extensions are properly installed and enabled.
36+
37+
Check server extensions:
3638

3739
```bash
3840
jupyter server extension list
3941
```
4042

41-
If the server extension is installed and enabled, but you are not seeing
42-
the frontend extension, check the frontend extension is installed:
43+
Check frontend extensions:
4344

4445
```bash
4546
jupyter labextension list
4647
```
48+
49+
## Uninstall
50+
51+
To remove the extension, run:
52+
53+
```bash
54+
pip uninstall jupyterlab_deepnote
55+
```
56+
57+
## Contributing
58+
59+
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute to this project.

RELEASE.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Making a new release of jupyterlab_deepnote
22

3-
The extension can be published to `PyPI` and `npm` manually or using the [Jupyter Releaser](https://github.com/jupyter-server/jupyter_releaser).
3+
This extension requires both a frontend and backend component to function properly. Therefore, we only publish the Python package to `PyPI`. The NPM package alone would not do anything and is not published separately.
44

55
## Manual release
66

@@ -49,12 +49,7 @@ twine upload dist/*
4949

5050
### NPM package
5151

52-
To publish the frontend part of the extension as a NPM package, do:
53-
54-
```bash
55-
npm login
56-
npm publish --access public
57-
```
52+
The frontend part of this extension is not published separately as an NPM package because it requires the backend component to function. Publishing only the NPM package would not provide a working extension.
5853

5954
## Automated releases with the Jupyter Releaser
6055

0 commit comments

Comments
 (0)