nbgitpuller-jl-interface 1.0.0__tar.gz → 1.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/.copier-answers.yml +3 -2
  2. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/.prettierignore +2 -0
  3. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/CHANGELOG.md +38 -2
  4. nbgitpuller_jl_interface-1.0.0/README.md → nbgitpuller_jl_interface-1.0.2/CONTRIBUTING.md +25 -67
  5. nbgitpuller_jl_interface-1.0.2/Dockerfile +21 -0
  6. nbgitpuller_jl_interface-1.0.2/PKG-INFO +87 -0
  7. nbgitpuller_jl_interface-1.0.2/README.md +49 -0
  8. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/RELEASE.md +8 -0
  9. nbgitpuller_jl_interface-1.0.2/conftest.py +14 -0
  10. nbgitpuller_jl_interface-1.0.2/eslint.config.mjs +70 -0
  11. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/_version.py +1 -1
  12. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/labextension/package.json +18 -79
  13. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/labextension/schemas/nbgitpuller-jl-interface/package.json.orig +17 -78
  14. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/labextension/schemas/nbgitpuller-jl-interface/plugin.json +12 -6
  15. nbgitpuller_jl_interface-1.0.2/nbgitpuller_jl_interface/labextension/static/232.152654ff7be03ddf.js +91 -0
  16. nbgitpuller_jl_interface-1.0.2/nbgitpuller_jl_interface/labextension/static/256.b0b5a00e8ceed310.js +22 -0
  17. nbgitpuller_jl_interface-1.0.2/nbgitpuller_jl_interface/labextension/static/547.4bc2bff14a6e0100.js +1 -0
  18. nbgitpuller_jl_interface-1.0.2/nbgitpuller_jl_interface/labextension/static/590.805d9315d8b2adc2.js +1 -0
  19. nbgitpuller_jl_interface-1.0.2/nbgitpuller_jl_interface/labextension/static/remoteEntry.f7d8d10c2901273d.js +1 -0
  20. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/labextension/static/style.js +1 -1
  21. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/labextension/static/third-party-licenses.json +8 -2
  22. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/package.json +17 -78
  23. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/pyproject.toml +6 -5
  24. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/schema/plugin.json +12 -6
  25. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/src/__tests__/nbgitpuller_jb_interface.spec.ts +59 -14
  26. nbgitpuller_jl_interface-1.0.2/src/declarations.d.ts +2 -0
  27. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/src/index.ts +40 -10
  28. nbgitpuller_jl_interface-1.0.2/src/utils.ts +426 -0
  29. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/style/base.css +18 -12
  30. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/ui-tests/package.json +1 -1
  31. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/yarn.lock +2197 -2868
  32. nbgitpuller_jl_interface-1.0.0/.vscode/settings.json +0 -4
  33. nbgitpuller_jl_interface-1.0.0/PKG-INFO +0 -221
  34. nbgitpuller_jl_interface-1.0.0/conftest.py +0 -8
  35. nbgitpuller_jl_interface-1.0.0/nbgitpuller_jl_interface/labextension/static/293.488357a8d6ce24253311.js +0 -1
  36. nbgitpuller_jl_interface-1.0.0/nbgitpuller_jl_interface/labextension/static/728.1316db9caad2256ea253.js +0 -1
  37. nbgitpuller_jl_interface-1.0.0/nbgitpuller_jl_interface/labextension/static/remoteEntry.4caf41ad4e8e084aba3e.js +0 -1
  38. nbgitpuller_jl_interface-1.0.0/setup.py +0 -1
  39. nbgitpuller_jl_interface-1.0.0/src/utils.ts +0 -280
  40. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/.gitignore +0 -0
  41. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/.yarnrc.yml +0 -0
  42. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/LICENSE +0 -0
  43. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/babel.config.js +0 -0
  44. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/install.json +0 -0
  45. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/jest.config.js +0 -0
  46. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/jupyter-config/server-config/nbgitpuller_jl_interface.json +0 -0
  47. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/__init__.py +0 -0
  48. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/routes.py +0 -0
  49. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/tests/__init__.py +0 -0
  50. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/tests/test_routes.py +0 -0
  51. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/tests/test_utils.py +0 -0
  52. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/nbgitpuller_jl_interface/utils.py +0 -0
  53. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/src/request.ts +0 -0
  54. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/style/index.css +0 -0
  55. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/style/index.js +0 -0
  56. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/style/tmp_logo.svg +0 -0
  57. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/tsconfig.json +0 -0
  58. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/tsconfig.test.json +0 -0
  59. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/ui-tests/README.md +0 -0
  60. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/ui-tests/jupyter_server_test_config.py +0 -0
  61. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/ui-tests/playwright.config.js +0 -0
  62. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/ui-tests/tests/nbgitpuller_jl_interface.spec.ts +0 -0
  63. {nbgitpuller_jl_interface-1.0.0 → nbgitpuller_jl_interface-1.0.2}/ui-tests/yarn.lock +0 -0
@@ -1,10 +1,11 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: v4.5.2
2
+ _commit: v4.6.5
3
3
  _src_path: https://github.com/jupyterlab/extension-template
4
+ advanced: false
4
5
  author_email: admin@opensciencelab.asf.alaska.edu
5
6
  author_name: OpenScienceLab
6
7
  has_ai_rules: false
7
- has_binder: true
8
+ has_binder: false
8
9
  has_settings: true
9
10
  kind: frontend-and-server
10
11
  labextension_name: nbgitpuller-jl-interface
@@ -4,3 +4,5 @@ node_modules
4
4
  **/package.json
5
5
  !/package.json
6
6
  nbgitpuller_jl_interface
7
+ eslint.config.mjs
8
+ .venv
@@ -2,6 +2,44 @@
2
2
 
3
3
  <!-- <START NEW CHANGELOG ENTRY> -->
4
4
 
5
+ ## 1.0.2
6
+
7
+ ([Full Changelog](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/compare/v1.0.1...0b95da314d9b73591f42491947d7b05564f5d620))
8
+
9
+ ### Enhancements made
10
+
11
+ - [OSL-4634] Widget Settings Button [#15](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/pull/15) ([@segallagher](https://github.com/segallagher), [@emlundell](https://github.com/emlundell))
12
+ - update copier template [#14](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/pull/14) ([@segallagher](https://github.com/segallagher), [@dgpalmieri](https://github.com/dgpalmieri))
13
+
14
+ ### Contributors to this release
15
+
16
+ The following people contributed discussions, new ideas, code and documentation contributions, and review.
17
+ See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
18
+
19
+ ([GitHub contributors page for this release](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/graphs/contributors?from=2026-09-01&to=2026-09-21&type=c))
20
+
21
+ @dgpalmieri ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Adgpalmieri+updated%3A2026-09-01..2026-09-21&type=Issues)) | @emlundell ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Aemlundell+updated%3A2026-09-01..2026-09-21&type=Issues)) | @segallagher ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Asegallagher+updated%3A2026-09-01..2026-09-21&type=Issues))
22
+
23
+ <!-- <END NEW CHANGELOG ENTRY> -->
24
+
25
+ ## 1.0.1
26
+
27
+ ([Full Changelog](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/compare/v1.0.0...42fd83a453d510913a2261235f02e4625ec2c8df))
28
+
29
+ ### Enhancements made
30
+
31
+ - [OSL-4631, OSL-4762] replace tooltip with tippy tooltip [#11](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/pull/11) ([@segallagher](https://github.com/segallagher), [@bbuechler](https://github.com/bbuechler))
32
+ - feat: add autoupdate settings option [#10](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/pull/10) ([@dgpalmieri](https://github.com/dgpalmieri), [@emlundell](https://github.com/emlundell))
33
+
34
+ ### Contributors to this release
35
+
36
+ The following people contributed discussions, new ideas, code and documentation contributions, and review.
37
+ See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
38
+
39
+ ([GitHub contributors page for this release](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/graphs/contributors?from=2026-04-22&to=2026-09-01&type=c))
40
+
41
+ @bbuechler ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Abbuechler+updated%3A2026-04-22..2026-09-01&type=Issues)) | @dgpalmieri ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Adgpalmieri+updated%3A2026-04-22..2026-09-01&type=Issues)) | @emlundell ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Aemlundell+updated%3A2026-04-22..2026-09-01&type=Issues)) | @segallagher ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Asegallagher+updated%3A2026-04-22..2026-09-01&type=Issues))
42
+
5
43
  ## 1.0.0
6
44
 
7
45
  ([Full Changelog](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/compare/v0.4.0...759fb6102164f8863a7b43141b34c915d43fe5bd))
@@ -25,8 +63,6 @@ See [our definition of contributors](https://github-activity.readthedocs.io/en/l
25
63
 
26
64
  @Alex-Lewandowski ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3AAlex-Lewandowski+updated%3A2026-04-15..2026-04-22&type=Issues)) | @dgpalmieri ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Adgpalmieri+updated%3A2026-04-15..2026-04-22&type=Issues)) | @emlundell ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Aemlundell+updated%3A2026-04-15..2026-04-22&type=Issues)) | @segallagher ([activity](https://github.com/search?q=repo%3AASFOpenSARlab%2Fnbgitpuller-jl-interface+involves%3Asegallagher+updated%3A2026-04-15..2026-04-22&type=Issues))
27
65
 
28
- <!-- <END NEW CHANGELOG ENTRY> -->
29
-
30
66
  ## 0.4.0
31
67
 
32
68
  ([Full Changelog](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/compare/v0.3.0...c0858bae9a3c63097a47872caeb0332071433e10))
@@ -1,63 +1,10 @@
1
- # nbgitpuller_jl_interface
1
+ # Contributing
2
2
 
3
- [![Github Actions Status](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/workflows/Build/badge.svg)](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/actions/workflows/build.yml)
4
- [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ASFOpenSARlab/nbgitpuller-jl-interface/main?urlpath=lab)
3
+ ## Development install
5
4
 
6
- A human interface with nbgitpuller in JupyterBook
7
-
8
- This extension is composed of a Python package named `nbgitpuller_jl_interface`
9
- for the server extension and a NPM package named `nbgitpuller-jl-interface`
10
- for the frontend extension.
11
-
12
- ## Requirements
13
-
14
- - JupyterLab >= 4.0.0
15
-
16
- ## Install
17
-
18
- To install the extension, execute:
19
-
20
- ```bash
21
- pip install nbgitpuller_jl_interface
22
- ```
23
-
24
- ## Uninstall
25
-
26
- To remove the extension, execute:
27
-
28
- ```bash
29
- pip uninstall nbgitpuller_jl_interface
30
- ```
31
-
32
- ## Troubleshoot
33
-
34
- If you are seeing the frontend extension, but it is not working, check
35
- that the server extension is enabled:
36
-
37
- ```bash
38
- jupyter server extension list
39
- ```
40
-
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
-
44
- ```bash
45
- jupyter labextension list
46
- ```
47
-
48
- If `git` is asking for credentials on the command line when deployed locally
49
- (you may have mistyped your url!), add the following lines to `~/.gitconfig`:
50
-
51
- ```bash
52
- [credential "https://github.com"]
53
- helper = !/usr/bin/gh auth git-credential
54
- ```
55
-
56
- ## Contributing
57
-
58
- ### Development install
59
-
60
- Note: You will need NodeJS to build the extension package.
5
+ Note: You will need Node.js to build the extension package.
6
+ You may install it from [nodejs.org](https://nodejs.org/en/download). We
7
+ recommend using the latest LTS version of Node.js.
61
8
 
62
9
  The `jlpm` command is JupyterLab's pinned version of
63
10
  [yarn](https://yarnpkg.com/) that is installed with JupyterLab. You may use
@@ -73,7 +20,7 @@ source .venv/bin/activate
73
20
  pip install --editable ".[dev,test]"
74
21
 
75
22
  # Link your development version of the extension with JupyterLab
76
- jupyter labextension develop . --overwrite
23
+ jupyter-builder develop . --overwrite
77
24
  # Server extension must be manually installed in develop mode
78
25
  jupyter server extension enable nbgitpuller_jl_interface
79
26
 
@@ -100,7 +47,7 @@ By default, the `jlpm build` command generates the source maps for this extensio
100
47
  jupyter lab build --minimize=False
101
48
  ```
102
49
 
103
- ### Development uninstall
50
+ ## Development uninstall
104
51
 
105
52
  ```bash
106
53
  # Server extension must be manually disabled in develop mode
@@ -108,13 +55,24 @@ jupyter server extension disable nbgitpuller_jl_interface
108
55
  pip uninstall nbgitpuller_jl_interface
109
56
  ```
110
57
 
111
- In development mode, you will also need to remove the symlink created by `jupyter labextension develop`
58
+ In development mode, you will also need to remove the symlink created by `jupyter-builder develop`
112
59
  command. To find its location, you can run `jupyter labextension list` to figure out where the `labextensions`
113
60
  folder is located. Then you can remove the symlink named `nbgitpuller-jl-interface` within that folder.
114
61
 
115
- ### Testing the extension
62
+ ## Endpoint authentication
63
+
64
+ Every verb method of every handler must carry a `@tornado.web.authenticated`
65
+ decorator, or, if the endpoint is meant to be public, an explicit
66
+ `@allow_unauthenticated`/`@ws_authenticated` decorator from
67
+ `jupyter_server.auth.decorator`. The `build` workflow enforces this by running:
68
+
69
+ ```sh
70
+ python .github/scripts/check_auth.py
71
+ ```
72
+
73
+ ## Testing the extension
116
74
 
117
- #### Server tests
75
+ ### Server tests
118
76
 
119
77
  This extension is using [Pytest](https://docs.pytest.org/) for Python code testing.
120
78
 
@@ -123,7 +81,7 @@ Install test dependencies (needed only once):
123
81
  ```sh
124
82
  pip install -e ".[test]"
125
83
  # Each time you install the Python package, you need to restore the front-end extension link
126
- jupyter labextension develop . --overwrite
84
+ jupyter-builder develop . --overwrite
127
85
  ```
128
86
 
129
87
  To execute them, run:
@@ -143,13 +101,13 @@ jlpm
143
101
  jlpm test
144
102
  ```
145
103
 
146
- #### Integration tests
104
+ ### Integration tests
147
105
 
148
106
  This extension uses [Playwright](https://playwright.dev/docs/intro) for the integration tests (aka user level tests).
149
107
  More precisely, the JupyterLab helper [Galata](https://github.com/jupyterlab/jupyterlab/tree/master/galata) is used to handle testing the extension in JupyterLab.
150
108
 
151
- More information are provided within the [ui-tests](./ui-tests/README.md) README.
109
+ More information is provided within the [ui-tests](./ui-tests/README.md) README.
152
110
 
153
- ### Packaging the extension
111
+ ## Packaging the extension
154
112
 
155
113
  See [RELEASE](RELEASE.md)
@@ -0,0 +1,21 @@
1
+ FROM python:3.14-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # Install Node.js and npm for TypeScript
6
+ RUN apt-get update \
7
+ && apt-get install -y --no-install-recommends \
8
+ nodejs \
9
+ npm \
10
+ && npm install -g typescript \
11
+ && rm -rf /var/lib/apt/lists/*
12
+
13
+ COPY . .
14
+
15
+ RUN pip install --editable ".[dev,test]"
16
+
17
+ RUN jlpm install
18
+
19
+ EXPOSE 8888
20
+
21
+ CMD ["jupyter", "lab", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root"]
@@ -0,0 +1,87 @@
1
+ Metadata-Version: 2.5
2
+ Name: nbgitpuller_jl_interface
3
+ Version: 1.0.2
4
+ Summary: A human interface with nbgitpuller in JupyterBook
5
+ Project-URL: Homepage, https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface
6
+ Project-URL: Bug Tracker, https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/issues
7
+ Project-URL: Repository, https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface.git
8
+ Author-email: OpenScienceLab <admin@opensciencelab.asf.alaska.edu>
9
+ License-Expression: BSD-3-Clause
10
+ License-File: LICENSE
11
+ Keywords: jupyter,jupyterlab,jupyterlab-extension
12
+ Classifier: Framework :: Jupyter
13
+ Classifier: Framework :: Jupyter :: JupyterLab
14
+ Classifier: Framework :: Jupyter :: JupyterLab :: 4
15
+ Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
16
+ Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
17
+ Classifier: Programming Language :: Python
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
24
+ Requires-Python: >=3.10
25
+ Requires-Dist: jupyter-server<3,>=2.13.0
26
+ Requires-Dist: nbgitpuller>=1.2.2
27
+ Provides-Extra: dev
28
+ Requires-Dist: jupyter-builder>=1.2.0; extra == 'dev'
29
+ Requires-Dist: jupyterlab>=4; extra == 'dev'
30
+ Provides-Extra: test
31
+ Requires-Dist: coverage; extra == 'test'
32
+ Requires-Dist: pytest; extra == 'test'
33
+ Requires-Dist: pytest-asyncio; extra == 'test'
34
+ Requires-Dist: pytest-cov; extra == 'test'
35
+ Requires-Dist: pytest-jupyter[server]>=0.6.0; extra == 'test'
36
+ Requires-Dist: pytest-mock; extra == 'test'
37
+ Description-Content-Type: text/markdown
38
+
39
+ # nbgitpuller_jl_interface
40
+
41
+ [![Github Actions Status](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/workflows/Build/badge.svg)](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/actions/workflows/build.yml)
42
+
43
+ A human interface with nbgitpuller in JupyterBook
44
+
45
+ This extension is composed of a Python package named `nbgitpuller_jl_interface`
46
+ for the server extension and a NPM package named `nbgitpuller-jl-interface`
47
+ for the frontend extension.
48
+
49
+ ## Requirements
50
+
51
+ - JupyterLab >= 4.0.0
52
+
53
+ ## Install
54
+
55
+ To install the extension, execute:
56
+
57
+ ```bash
58
+ pip install nbgitpuller_jl_interface
59
+ ```
60
+
61
+ ## Uninstall
62
+
63
+ To remove the extension, execute:
64
+
65
+ ```bash
66
+ pip uninstall nbgitpuller_jl_interface
67
+ ```
68
+
69
+ ## Troubleshoot
70
+
71
+ If you are seeing the frontend extension, but it is not working, check
72
+ that the server extension is enabled:
73
+
74
+ ```bash
75
+ jupyter server extension list
76
+ ```
77
+
78
+ If the server extension is installed and enabled, but you are not seeing
79
+ the frontend extension, check the frontend extension is installed:
80
+
81
+ ```bash
82
+ jupyter labextension list
83
+ ```
84
+
85
+ ## Contributing
86
+
87
+ If you would like to contribute to this extension, please refer to the [Contributing Guide](CONTRIBUTING.md).
@@ -0,0 +1,49 @@
1
+ # nbgitpuller_jl_interface
2
+
3
+ [![Github Actions Status](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/workflows/Build/badge.svg)](https://github.com/ASFOpenSARlab/nbgitpuller-jl-interface/actions/workflows/build.yml)
4
+
5
+ A human interface with nbgitpuller in JupyterBook
6
+
7
+ This extension is composed of a Python package named `nbgitpuller_jl_interface`
8
+ for the server extension and a NPM package named `nbgitpuller-jl-interface`
9
+ for the frontend extension.
10
+
11
+ ## Requirements
12
+
13
+ - JupyterLab >= 4.0.0
14
+
15
+ ## Install
16
+
17
+ To install the extension, execute:
18
+
19
+ ```bash
20
+ pip install nbgitpuller_jl_interface
21
+ ```
22
+
23
+ ## Uninstall
24
+
25
+ To remove the extension, execute:
26
+
27
+ ```bash
28
+ pip uninstall nbgitpuller_jl_interface
29
+ ```
30
+
31
+ ## Troubleshoot
32
+
33
+ If you are seeing the frontend extension, but it is not working, check
34
+ that the server extension is enabled:
35
+
36
+ ```bash
37
+ jupyter server extension list
38
+ ```
39
+
40
+ If the server extension is installed and enabled, but you are not seeing
41
+ the frontend extension, check the frontend extension is installed:
42
+
43
+ ```bash
44
+ jupyter labextension list
45
+ ```
46
+
47
+ ## Contributing
48
+
49
+ If you would like to contribute to this extension, please refer to the [Contributing Guide](CONTRIBUTING.md).
@@ -62,6 +62,14 @@ The extension repository should already be compatible with the Jupyter Releaser.
62
62
  the GitHub repository and the package managers need to be properly set up. Please
63
63
  follow the instructions of the Jupyter Releaser [checklist](https://jupyter-releaser.readthedocs.io/en/latest/how_to_guides/convert_repo_from_repo.html).
64
64
 
65
+ For the release workflows in this repository, make sure GitHub is configured with:
66
+
67
+ - a `release` environment
68
+ - an `APP_PRIVATE_KEY` secret
69
+ - an `APP_ID` repository variable
70
+
71
+ When using [npm trusted publishing](https://docs.npmjs.com/trusted-publishers), `NPM_TOKEN` is not required (and trusted publishing is recommended). Configure `NPM_TOKEN` only if you are publishing without trusted publishers.
72
+
65
73
  Here is a summary of the steps to cut a new release:
66
74
 
67
75
  - Go to the Actions panel
@@ -0,0 +1,14 @@
1
+ import pytest
2
+
3
+ pytest_plugins = ("pytest_jupyter.jupyter_server", )
4
+
5
+
6
+ @pytest.fixture
7
+ def jp_server_config(jp_server_config):
8
+ return {
9
+ "ServerApp": {
10
+ "jpserver_extensions": {"nbgitpuller_jl_interface": True},
11
+ # Test against a server which requires authentication on all endpoints
12
+ "allow_unauthenticated_access": False,
13
+ }
14
+ }
@@ -0,0 +1,70 @@
1
+ import js from '@eslint/js';
2
+ import { defineConfig } from 'eslint/config';
3
+ import tseslint from 'typescript-eslint';
4
+ import prettierRecommended from 'eslint-plugin-prettier/recommended';
5
+ import globals from 'globals';
6
+ import jupyterPlugin from '@jupyter/eslint-plugin';
7
+
8
+ export default defineConfig([
9
+ {
10
+ ignores: [
11
+ 'node_modules',
12
+ 'dist',
13
+ 'coverage',
14
+ '**/*.js',
15
+ '**/*.d.ts',
16
+ '.venv',
17
+ 'tests',
18
+ '**/__tests__',
19
+ 'ui-tests'
20
+ ]
21
+ },
22
+ js.configs.recommended,
23
+ tseslint.configs.recommended,
24
+ {
25
+ plugins: {
26
+ jupyter: jupyterPlugin
27
+ }
28
+ },
29
+ jupyterPlugin.configs.recommended,
30
+ {
31
+ files: ['**/*.ts', '**/*.tsx'],
32
+ languageOptions: {
33
+ globals: {
34
+ ...globals.browser,
35
+ ...globals.es2015,
36
+ ...globals.node
37
+ },
38
+ parserOptions: {
39
+ project: 'tsconfig.json',
40
+ sourceType: 'module'
41
+ }
42
+ },
43
+ rules: {
44
+ '@typescript-eslint/naming-convention': [
45
+ 'error',
46
+ {
47
+ selector: 'interface',
48
+ format: ['PascalCase'],
49
+ custom: {
50
+ regex: '^I[A-Z]',
51
+ match: true
52
+ }
53
+ }
54
+ ],
55
+ '@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }],
56
+ '@typescript-eslint/no-explicit-any': 'off',
57
+ '@typescript-eslint/no-namespace': 'off',
58
+ '@typescript-eslint/no-use-before-define': 'off',
59
+ '@typescript-eslint/quotes': [
60
+ 'error',
61
+ 'single',
62
+ { avoidEscape: true, allowTemplateLiterals: false }
63
+ ],
64
+ curly: ['error', 'all'],
65
+ eqeqeq: 'error',
66
+ 'prefer-arrow-callback': 'error'
67
+ }
68
+ },
69
+ prettierRecommended
70
+ ]);
@@ -1,4 +1,4 @@
1
1
  # This file is auto-generated by Hatchling. As such, do not:
2
2
  # - modify
3
3
  # - track in version control e.g. be sure to add to .gitignore
4
- __version__ = VERSION = '1.0.0'
4
+ __version__ = VERSION = '1.0.2'
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nbgitpuller-jl-interface",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "A human interface with nbgitpuller in JupyterBook",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -32,8 +32,8 @@
32
32
  "scripts": {
33
33
  "build": "jlpm build:lib && jlpm build:labextension:dev",
34
34
  "build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
35
- "build:labextension": "jupyter labextension build .",
36
- "build:labextension:dev": "jupyter labextension build --development True .",
35
+ "build:labextension": "jupyter-builder build .",
36
+ "build:labextension:dev": "jupyter-builder build --development True .",
37
37
  "build:lib": "tsc --sourceMap",
38
38
  "build:lib:prod": "tsc",
39
39
  "clean": "jlpm clean:lib",
@@ -42,7 +42,7 @@
42
42
  "clean:labextension": "rimraf nbgitpuller_jl_interface/labextension nbgitpuller_jl_interface/_version.py",
43
43
  "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
44
44
  "eslint": "jlpm eslint:check --fix",
45
- "eslint:check": "eslint . --cache --ext .ts,.tsx",
45
+ "eslint:check": "eslint . --cache",
46
46
  "install:extension": "jlpm build",
47
47
  "lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
48
48
  "lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
@@ -54,45 +54,47 @@
54
54
  "test": "jest --coverage",
55
55
  "watch": "run-p watch:src watch:labextension",
56
56
  "watch:src": "tsc -w --sourceMap",
57
- "watch:labextension": "jupyter labextension watch ."
57
+ "watch:labextension": "jupyter-builder watch ."
58
58
  },
59
59
  "dependencies": {
60
60
  "@jupyterlab/application": "^4.5.6",
61
61
  "@jupyterlab/apputils": "^4.6.6",
62
62
  "@jupyterlab/coreutils": "^6.0.0",
63
63
  "@jupyterlab/services": "^7.0.0",
64
- "@jupyterlab/settingregistry": "^4.5.6"
64
+ "@jupyterlab/settingregistry": "^4.5.6",
65
+ "tippy.js": "^6.3.7"
65
66
  },
66
67
  "devDependencies": {
67
- "@jupyterlab/builder": "^4.0.0",
68
+ "@eslint/js": "^9.0.0",
69
+ "@jupyter/builder": "^1.2.0",
70
+ "@jupyter/eslint-plugin": "^1.1.0",
68
71
  "@jupyterlab/testutils": "^4.0.0",
69
72
  "@types/jest": "^29.2.0",
70
73
  "@types/json-schema": "^7.0.11",
71
74
  "@types/react": "^18.0.26",
72
75
  "@types/react-addons-linked-state-mixin": "^0.14.22",
73
- "@typescript-eslint/eslint-plugin": "^6.1.0",
74
- "@typescript-eslint/parser": "^6.1.0",
75
- "css-loader": "^6.7.1",
76
- "eslint": "^8.36.0",
77
- "eslint-config-prettier": "^8.8.0",
76
+ "@types/tippy.js": "^6.3.0",
77
+ "eslint": "^9.0.0",
78
+ "eslint-config-prettier": "^9.0.0",
78
79
  "eslint-plugin-prettier": "^5.0.0",
80
+ "globals": "^15.0.0",
79
81
  "jest": "^29.2.0",
80
82
  "mkdirp": "^1.0.3",
81
83
  "npm-run-all2": "^7.0.1",
82
84
  "prettier": "^3.0.0",
83
85
  "rimraf": "^5.0.1",
84
- "source-map-loader": "^1.0.2",
85
- "style-loader": "^3.3.1",
86
86
  "stylelint": "^15.10.1",
87
87
  "stylelint-config-recommended": "^13.0.0",
88
88
  "stylelint-config-standard": "^34.0.0",
89
89
  "stylelint-csstree-validator": "^3.0.0",
90
90
  "stylelint-prettier": "^4.0.0",
91
91
  "typescript": "~5.5.4",
92
+ "typescript-eslint": "^8.0.0",
92
93
  "yjs": "^13.5.0"
93
94
  },
94
95
  "resolutions": {
95
- "lib0": "0.2.111"
96
+ "lib0": "0.2.111",
97
+ "webpack": "5.106.0"
96
98
  },
97
99
  "sideEffects": [
98
100
  "style/*.css",
@@ -117,74 +119,11 @@
117
119
  "outputDir": "nbgitpuller_jl_interface/labextension",
118
120
  "schemaDir": "schema",
119
121
  "_build": {
120
- "load": "static/remoteEntry.4caf41ad4e8e084aba3e.js",
122
+ "load": "static/remoteEntry.f7d8d10c2901273d.js",
121
123
  "extension": "./extension",
122
124
  "style": "./style"
123
125
  }
124
126
  },
125
- "eslintIgnore": [
126
- "node_modules",
127
- "dist",
128
- "coverage",
129
- "**/*.d.ts",
130
- "tests",
131
- "**/__tests__",
132
- "ui-tests"
133
- ],
134
- "eslintConfig": {
135
- "extends": [
136
- "eslint:recommended",
137
- "plugin:@typescript-eslint/eslint-recommended",
138
- "plugin:@typescript-eslint/recommended",
139
- "plugin:prettier/recommended"
140
- ],
141
- "parser": "@typescript-eslint/parser",
142
- "parserOptions": {
143
- "project": "tsconfig.json",
144
- "sourceType": "module"
145
- },
146
- "plugins": [
147
- "@typescript-eslint"
148
- ],
149
- "rules": {
150
- "@typescript-eslint/naming-convention": [
151
- "error",
152
- {
153
- "selector": "interface",
154
- "format": [
155
- "PascalCase"
156
- ],
157
- "custom": {
158
- "regex": "^I[A-Z]",
159
- "match": true
160
- }
161
- }
162
- ],
163
- "@typescript-eslint/no-unused-vars": [
164
- "warn",
165
- {
166
- "args": "none"
167
- }
168
- ],
169
- "@typescript-eslint/no-explicit-any": "off",
170
- "@typescript-eslint/no-namespace": "off",
171
- "@typescript-eslint/no-use-before-define": "off",
172
- "@typescript-eslint/quotes": [
173
- "error",
174
- "single",
175
- {
176
- "avoidEscape": true,
177
- "allowTemplateLiterals": false
178
- }
179
- ],
180
- "curly": [
181
- "error",
182
- "all"
183
- ],
184
- "eqeqeq": "error",
185
- "prefer-arrow-callback": "error"
186
- }
187
- },
188
127
  "prettier": {
189
128
  "singleQuote": true,
190
129
  "trailingComma": "none",