ipyk-unlock 7.2.0__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 (110) hide show
  1. ipyk_unlock-7.2.0/.git-blame-ignore-revs +2 -0
  2. ipyk_unlock-7.2.0/.github/dependabot.yml +18 -0
  3. ipyk_unlock-7.2.0/.github/workflows/ci.yml +225 -0
  4. ipyk_unlock-7.2.0/.github/workflows/downstream.yml +88 -0
  5. ipyk_unlock-7.2.0/.github/workflows/enforce-label.yml +17 -0
  6. ipyk_unlock-7.2.0/.github/workflows/nightly.yml +33 -0
  7. ipyk_unlock-7.2.0/.github/workflows/prep-release.yml +49 -0
  8. ipyk_unlock-7.2.0/.github/workflows/publish-changelog.yml +34 -0
  9. ipyk_unlock-7.2.0/.github/workflows/publish-release.yml +56 -0
  10. ipyk_unlock-7.2.0/.gitignore +33 -0
  11. ipyk_unlock-7.2.0/.mailmap +149 -0
  12. ipyk_unlock-7.2.0/.pre-commit-config.yaml +88 -0
  13. ipyk_unlock-7.2.0/.readthedocs.yaml +17 -0
  14. ipyk_unlock-7.2.0/CHANGELOG.md +2126 -0
  15. ipyk_unlock-7.2.0/CONTRIBUTING.md +94 -0
  16. ipyk_unlock-7.2.0/LICENSE +30 -0
  17. ipyk_unlock-7.2.0/PKG-INFO +121 -0
  18. ipyk_unlock-7.2.0/README.md +62 -0
  19. ipyk_unlock-7.2.0/RELEASE.md +25 -0
  20. ipyk_unlock-7.2.0/docs/Makefile +192 -0
  21. ipyk_unlock-7.2.0/docs/api/ipykernel.comm.rst +25 -0
  22. ipyk_unlock-7.2.0/docs/api/ipykernel.inprocess.rst +55 -0
  23. ipyk_unlock-7.2.0/docs/api/ipykernel.rst +160 -0
  24. ipyk_unlock-7.2.0/docs/api/modules.rst +7 -0
  25. ipyk_unlock-7.2.0/docs/conf.py +314 -0
  26. ipyk_unlock-7.2.0/docs/index.rst +23 -0
  27. ipyk_unlock-7.2.0/docs/make.bat +263 -0
  28. ipyk_unlock-7.2.0/examples/embedding/inprocess_qtconsole.py +52 -0
  29. ipyk_unlock-7.2.0/examples/embedding/inprocess_terminal.py +68 -0
  30. ipyk_unlock-7.2.0/examples/embedding/internal_ipkernel.py +65 -0
  31. ipyk_unlock-7.2.0/examples/embedding/ipkernel_qtapp.py +78 -0
  32. ipyk_unlock-7.2.0/examples/embedding/ipkernel_wxapp.py +124 -0
  33. ipyk_unlock-7.2.0/hatch_build.py +36 -0
  34. ipyk_unlock-7.2.0/ipykernel/__init__.py +7 -0
  35. ipyk_unlock-7.2.0/ipykernel/__main__.py +6 -0
  36. ipyk_unlock-7.2.0/ipykernel/_eventloop_macos.py +174 -0
  37. ipyk_unlock-7.2.0/ipykernel/_version.py +20 -0
  38. ipyk_unlock-7.2.0/ipykernel/comm/__init__.py +4 -0
  39. ipyk_unlock-7.2.0/ipykernel/comm/comm.py +100 -0
  40. ipyk_unlock-7.2.0/ipykernel/comm/manager.py +62 -0
  41. ipyk_unlock-7.2.0/ipykernel/compiler.py +106 -0
  42. ipyk_unlock-7.2.0/ipykernel/connect.py +140 -0
  43. ipyk_unlock-7.2.0/ipykernel/control.py +11 -0
  44. ipyk_unlock-7.2.0/ipykernel/debugger.py +745 -0
  45. ipyk_unlock-7.2.0/ipykernel/displayhook.py +132 -0
  46. ipyk_unlock-7.2.0/ipykernel/embed.py +57 -0
  47. ipyk_unlock-7.2.0/ipykernel/eventloops.py +637 -0
  48. ipyk_unlock-7.2.0/ipykernel/gui/__init__.py +15 -0
  49. ipyk_unlock-7.2.0/ipykernel/gui/gtk3embed.py +97 -0
  50. ipyk_unlock-7.2.0/ipykernel/gui/gtkembed.py +94 -0
  51. ipyk_unlock-7.2.0/ipykernel/heartbeat.py +124 -0
  52. ipyk_unlock-7.2.0/ipykernel/inprocess/__init__.py +4 -0
  53. ipyk_unlock-7.2.0/ipykernel/inprocess/blocking.py +110 -0
  54. ipyk_unlock-7.2.0/ipykernel/inprocess/channels.py +107 -0
  55. ipyk_unlock-7.2.0/ipykernel/inprocess/client.py +233 -0
  56. ipyk_unlock-7.2.0/ipykernel/inprocess/constants.py +7 -0
  57. ipyk_unlock-7.2.0/ipykernel/inprocess/ipkernel.py +203 -0
  58. ipyk_unlock-7.2.0/ipykernel/inprocess/manager.py +92 -0
  59. ipyk_unlock-7.2.0/ipykernel/inprocess/socket.py +41 -0
  60. ipyk_unlock-7.2.0/ipykernel/iostream.py +835 -0
  61. ipyk_unlock-7.2.0/ipykernel/ipkernel.py +762 -0
  62. ipyk_unlock-7.2.0/ipykernel/jsonutil.py +163 -0
  63. ipyk_unlock-7.2.0/ipykernel/kernelapp.py +774 -0
  64. ipyk_unlock-7.2.0/ipykernel/kernelbase.py +1548 -0
  65. ipyk_unlock-7.2.0/ipykernel/kernelspec.py +294 -0
  66. ipyk_unlock-7.2.0/ipykernel/log.py +30 -0
  67. ipyk_unlock-7.2.0/ipykernel/parentpoller.py +144 -0
  68. ipyk_unlock-7.2.0/ipykernel/py.typed +0 -0
  69. ipyk_unlock-7.2.0/ipykernel/pylab/__init__.py +0 -0
  70. ipyk_unlock-7.2.0/ipykernel/pylab/backend_inline.py +15 -0
  71. ipyk_unlock-7.2.0/ipykernel/pylab/config.py +14 -0
  72. ipyk_unlock-7.2.0/ipykernel/resources/logo-32x32.png +0 -0
  73. ipyk_unlock-7.2.0/ipykernel/resources/logo-64x64.png +0 -0
  74. ipyk_unlock-7.2.0/ipykernel/resources/logo-svg.svg +265 -0
  75. ipyk_unlock-7.2.0/ipykernel/shellchannel.py +55 -0
  76. ipyk_unlock-7.2.0/ipykernel/socket_pair.py +50 -0
  77. ipyk_unlock-7.2.0/ipykernel/subshell.py +41 -0
  78. ipyk_unlock-7.2.0/ipykernel/subshell_manager.py +236 -0
  79. ipyk_unlock-7.2.0/ipykernel/thread.py +33 -0
  80. ipyk_unlock-7.2.0/ipykernel/trio_runner.py +72 -0
  81. ipyk_unlock-7.2.0/ipykernel/utils.py +81 -0
  82. ipyk_unlock-7.2.0/ipykernel/zmqshell.py +794 -0
  83. ipyk_unlock-7.2.0/ipykernel_launcher.py +18 -0
  84. ipyk_unlock-7.2.0/pyproject.toml +292 -0
  85. ipyk_unlock-7.2.0/tests/__init__.py +48 -0
  86. ipyk_unlock-7.2.0/tests/conftest.py +168 -0
  87. ipyk_unlock-7.2.0/tests/inprocess/__init__.py +0 -0
  88. ipyk_unlock-7.2.0/tests/inprocess/test_kernel.py +121 -0
  89. ipyk_unlock-7.2.0/tests/inprocess/test_kernelmanager.py +112 -0
  90. ipyk_unlock-7.2.0/tests/test_async.py +61 -0
  91. ipyk_unlock-7.2.0/tests/test_comm.py +106 -0
  92. ipyk_unlock-7.2.0/tests/test_connect.py +147 -0
  93. ipyk_unlock-7.2.0/tests/test_debugger.py +560 -0
  94. ipyk_unlock-7.2.0/tests/test_embed_kernel.py +214 -0
  95. ipyk_unlock-7.2.0/tests/test_eventloop.py +145 -0
  96. ipyk_unlock-7.2.0/tests/test_heartbeat.py +61 -0
  97. ipyk_unlock-7.2.0/tests/test_io.py +251 -0
  98. ipyk_unlock-7.2.0/tests/test_ipkernel_direct.py +213 -0
  99. ipyk_unlock-7.2.0/tests/test_jsonutil.py +120 -0
  100. ipyk_unlock-7.2.0/tests/test_kernel.py +880 -0
  101. ipyk_unlock-7.2.0/tests/test_kernel_direct.py +162 -0
  102. ipyk_unlock-7.2.0/tests/test_kernelapp.py +131 -0
  103. ipyk_unlock-7.2.0/tests/test_kernelspec.py +196 -0
  104. ipyk_unlock-7.2.0/tests/test_matplotlib_eventloops.py +106 -0
  105. ipyk_unlock-7.2.0/tests/test_message_spec.py +654 -0
  106. ipyk_unlock-7.2.0/tests/test_parentpoller.py +56 -0
  107. ipyk_unlock-7.2.0/tests/test_start_kernel.py +108 -0
  108. ipyk_unlock-7.2.0/tests/test_subshells.py +393 -0
  109. ipyk_unlock-7.2.0/tests/test_zmq_shell.py +291 -0
  110. ipyk_unlock-7.2.0/tests/utils.py +236 -0
@@ -0,0 +1,2 @@
1
+ # Black formatting: https://github.com/ipython/ipykernel/pull/892
2
+ c5bca730f82bbdfb005ab93969ff5a1d028c2341
@@ -0,0 +1,18 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ groups:
8
+ actions:
9
+ patterns:
10
+ - "*"
11
+ - package-ecosystem: "pip"
12
+ directory: "/"
13
+ schedule:
14
+ interval: "weekly"
15
+ groups:
16
+ actions:
17
+ patterns:
18
+ - "*"
@@ -0,0 +1,225 @@
1
+ name: ipykernel tests
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ schedule:
8
+ - cron: "0 0 * * *"
9
+
10
+ concurrency:
11
+ group: ci-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ defaults:
15
+ run:
16
+ shell: bash -eux {0}
17
+
18
+ jobs:
19
+ build:
20
+ runs-on: ${{ matrix.os }}
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ os: [ubuntu-latest, windows-latest, macos-latest]
25
+ qt:
26
+ - qt5
27
+ - qt6
28
+ python-version:
29
+ - "3.10"
30
+ - "3.11"
31
+ - "3.12"
32
+ - "3.13"
33
+ - "3.14"
34
+ # 3.14t needs a jupyter-core release
35
+ # - "3.14t"
36
+ - "pypy-3.11"
37
+ exclude:
38
+ # qt6 not supported on 3.14 yet
39
+ - python-version: "3.14"
40
+ qt: qt6
41
+ - python-version: "3.13"
42
+ qt: qt5
43
+ - python-version: "3.12"
44
+ qt: qt5
45
+ - python-version: "3.11"
46
+ qt: qt5
47
+
48
+ steps:
49
+ - name: Checkout
50
+ uses: actions/checkout@v6
51
+
52
+ - uses: actions/setup-python@v6
53
+ with:
54
+ python-version: ${{ matrix.python-version }}
55
+
56
+ - name: set qt env
57
+ run: |
58
+ echo "QT=${{ matrix.qt }}" >> $GITHUB_ENV
59
+ shell: bash
60
+
61
+ - name: Install hatch
62
+ run: |
63
+ python --version
64
+ python -m pip install hatch
65
+
66
+ - name: Run the tests
67
+ timeout-minutes: 15
68
+ if: ${{ !startsWith( matrix.python-version, 'pypy' ) && !startsWith(matrix.os, 'windows') }}
69
+ run: |
70
+ hatch run cov:test --cov-fail-under 50
71
+
72
+ - name: Run the tests on pypy
73
+ timeout-minutes: 15
74
+ if: ${{ startsWith( matrix.python-version, 'pypy' ) }}
75
+ run: |
76
+ hatch run test:nowarn --ignore=tests/test_debugger.py
77
+
78
+ - name: Run the tests on Windows
79
+ timeout-minutes: 15
80
+ if: ${{ !startsWith( matrix.python-version, 'pypy' ) && startsWith(matrix.os, 'windows') }}
81
+ run: |
82
+ hatch run cov:nowarn
83
+
84
+ - name: Check Launcher
85
+ run: |
86
+ pip install .
87
+ cd $HOME
88
+ python -m ipykernel_launcher --help
89
+
90
+ - uses: jupyterlab/maintainer-tools/.github/actions/upload-coverage@v1
91
+
92
+ coverage:
93
+ runs-on: ubuntu-latest
94
+ needs:
95
+ - build
96
+ steps:
97
+ - uses: actions/checkout@v6
98
+ - uses: jupyterlab/maintainer-tools/.github/actions/report-coverage@v1
99
+ with:
100
+ fail_under: 80
101
+
102
+ test_lint:
103
+ name: Test Lint
104
+ runs-on: ubuntu-latest
105
+ steps:
106
+ - uses: actions/checkout@v6
107
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
108
+ - name: Run Linters
109
+ run: |
110
+ hatch run typing:test
111
+ hatch run lint:build
112
+ pipx run interrogate -vv .
113
+ pipx run doc8 --max-line-length=200
114
+
115
+ check_release:
116
+ runs-on: ubuntu-latest
117
+ steps:
118
+ - uses: actions/checkout@v6
119
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
120
+ - uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v2
121
+ with:
122
+ token: ${{ secrets.GITHUB_TOKEN }}
123
+
124
+ test_docs:
125
+ runs-on: ubuntu-latest
126
+ steps:
127
+ - uses: actions/checkout@v6
128
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
129
+ - name: Build API docs
130
+ run: |
131
+ hatch run docs:api
132
+ # If this fails run `hatch run docs:api` locally
133
+ # and commit.
134
+ git status --porcelain
135
+ git status -s | grep "A" && exit 1
136
+ git status -s | grep "M" && exit 1
137
+ echo "API docs done"
138
+ - run: hatch run docs:build
139
+
140
+ test_without_debugpy:
141
+ runs-on: ${{ matrix.os }}
142
+ strategy:
143
+ fail-fast: false
144
+ matrix:
145
+ os: [ubuntu-latest]
146
+ python-version: ["3.10"]
147
+ steps:
148
+ - name: Checkout
149
+ uses: actions/checkout@v6
150
+
151
+ - name: Base Setup
152
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
153
+
154
+ - name: Install the Python dependencies without debugpy
155
+ run: |
156
+ pip install .[test]
157
+ pip uninstall --yes debugpy
158
+
159
+ - name: List installed packages
160
+ run: |
161
+ pip freeze
162
+
163
+ - name: Run the tests
164
+ timeout-minutes: 15
165
+ run: pytest -W default -vv
166
+
167
+ test_miniumum_versions:
168
+ name: Test Minimum Versions
169
+ timeout-minutes: 20
170
+ runs-on: ubuntu-latest
171
+ steps:
172
+ - uses: actions/checkout@v6
173
+ - name: Base Setup
174
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
175
+ with:
176
+ dependency_type: minimum
177
+ python_version: "3.10"
178
+
179
+ - name: List installed packages
180
+ run: |
181
+ hatch -v run test:list
182
+
183
+ - name: Run the unit tests
184
+ run: |
185
+ hatch -v run test:nowarn
186
+
187
+ test_prereleases:
188
+ name: Test Prereleases
189
+ runs-on: ubuntu-latest
190
+ timeout-minutes: 20
191
+ steps:
192
+ - name: Checkout
193
+ uses: actions/checkout@v6
194
+ - name: Base Setup
195
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
196
+ with:
197
+ dependency_type: pre
198
+ - name: Run the tests
199
+ run: |
200
+ hatch run test:nowarn
201
+
202
+ make_sdist:
203
+ name: Make SDist
204
+ runs-on: ubuntu-latest
205
+ timeout-minutes: 20
206
+ steps:
207
+ - uses: actions/checkout@v6
208
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
209
+ - uses: jupyterlab/maintainer-tools/.github/actions/make-sdist@v1
210
+
211
+ test_sdist:
212
+ runs-on: ubuntu-latest
213
+ needs: [make_sdist]
214
+ name: Install from SDist and Test
215
+ timeout-minutes: 20
216
+ steps:
217
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
218
+ - uses: jupyterlab/maintainer-tools/.github/actions/test-sdist@v1
219
+
220
+ link_check:
221
+ runs-on: ubuntu-latest
222
+ steps:
223
+ - uses: actions/checkout@v6
224
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
225
+ - uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1
@@ -0,0 +1,88 @@
1
+ name: Test downstream projects
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+
8
+ concurrency:
9
+ group: downstream-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ jobs:
13
+ nbclient:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v6
18
+
19
+ - name: Base Setup
20
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
21
+
22
+ - name: Run Test
23
+ uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1
24
+ with:
25
+ package_name: nbclient
26
+ env_values: IPYKERNEL_CELL_NAME=\<IPY-INPUT\>
27
+
28
+ ipywidgets:
29
+ runs-on: ubuntu-latest
30
+ steps:
31
+ - name: Checkout
32
+ uses: actions/checkout@v6
33
+
34
+ - name: Base Setup
35
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
36
+
37
+ - name: Run Test
38
+ uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1
39
+ with:
40
+ package_name: ipywidgets
41
+ test_command: pytest -vv -raXxs -W default --durations 10 --color=yes
42
+
43
+ jupyter_client:
44
+ runs-on: ubuntu-latest
45
+ steps:
46
+ - name: Checkout
47
+ uses: actions/checkout@v6
48
+
49
+ - name: Base Setup
50
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
51
+
52
+ - name: Run Test
53
+ uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1
54
+ with:
55
+ package_name: jupyter_client
56
+ test_command: "pytest -vv -raXxs -W default --durations 10 --color=yes -k 'not (test_input_request or signal_kernel_subprocess)'"
57
+
58
+ ipyparallel:
59
+ runs-on: ubuntu-latest
60
+ timeout-minutes: 20
61
+ steps:
62
+ - name: Checkout
63
+ uses: actions/checkout@v6
64
+
65
+ - name: Base Setup
66
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
67
+
68
+ - name: Run Test
69
+ uses: jupyterlab/maintainer-tools/.github/actions/downstream-test@v1
70
+ with:
71
+ package_name: ipyparallel
72
+ package_spec: '-e ".[test]"'
73
+
74
+ jupyter_kernel_test:
75
+ runs-on: ubuntu-latest
76
+ steps:
77
+ - name: Checkout
78
+ uses: actions/checkout@v6
79
+
80
+ - name: Base Setup
81
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
82
+
83
+ - name: Run Test
84
+ run: |
85
+ git clone https://github.com/jupyter/jupyter_kernel_test.git
86
+ cd jupyter_kernel_test
87
+ pip install -e ".[test]"
88
+ python test_ipykernel.py
@@ -0,0 +1,17 @@
1
+ name: Enforce PR label
2
+
3
+ concurrency:
4
+ group: label-${{ github.ref }}
5
+ cancel-in-progress: true
6
+
7
+ on:
8
+ pull_request:
9
+ types: [labeled, unlabeled, opened, edited, synchronize]
10
+ jobs:
11
+ enforce-label:
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ pull-requests: write
15
+ steps:
16
+ - name: enforce-triage-label
17
+ uses: jupyterlab/maintainer-tools/.github/actions/enforce-label@v1
@@ -0,0 +1,33 @@
1
+ name: nightly build and upload
2
+ on:
3
+ workflow_dispatch:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+
7
+ defaults:
8
+ run:
9
+ shell: bash -eux {0}
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: "ubuntu-latest"
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ python-version: ["3.12"]
18
+ steps:
19
+ - name: Checkout
20
+ uses: actions/checkout@v6
21
+
22
+ - name: Base Setup
23
+ uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
24
+
25
+ - name: Build
26
+ run: |
27
+ python -m pip install build
28
+ python -m build
29
+ - name: Upload wheel
30
+ uses: scientific-python/upload-nightly-action@5748273c71e2d8d3a61f3a11a16421c8954f9ecf # 0.6.3
31
+ with:
32
+ artifacts_path: dist
33
+ anaconda_nightly_upload_token: ${{secrets.UPLOAD_TOKEN}}
@@ -0,0 +1,49 @@
1
+ name: "Step 1: Prep Release"
2
+ on:
3
+ workflow_dispatch:
4
+ inputs:
5
+ version_spec:
6
+ description: "New Version Specifier"
7
+ default: "next"
8
+ required: false
9
+ branch:
10
+ description: "The branch to target"
11
+ required: false
12
+ post_version_spec:
13
+ description: "Post Version Specifier"
14
+ required: false
15
+ silent:
16
+ description: "Set a placeholder in the changelog and don't publish the release."
17
+ required: false
18
+ type: boolean
19
+ since:
20
+ description: "Use PRs with activity since this date or git reference"
21
+ required: false
22
+ since_last_stable:
23
+ description: "Use PRs with activity since the last stable git tag"
24
+ required: false
25
+ type: boolean
26
+ jobs:
27
+ prep_release:
28
+ runs-on: ubuntu-latest
29
+ permissions:
30
+ contents: write
31
+ steps:
32
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
33
+
34
+ - name: Prep Release
35
+ id: prep-release
36
+ uses: jupyter-server/jupyter_releaser/.github/actions/prep-release@v2
37
+ with:
38
+ token: ${{ secrets.GITHUB_TOKEN }}
39
+ version_spec: ${{ github.event.inputs.version_spec }}
40
+ silent: ${{ github.event.inputs.silent }}
41
+ post_version_spec: ${{ github.event.inputs.post_version_spec }}
42
+ target: ${{ github.event.inputs.target }}
43
+ branch: ${{ github.event.inputs.branch }}
44
+ since: ${{ github.event.inputs.since }}
45
+ since_last_stable: ${{ github.event.inputs.since_last_stable }}
46
+
47
+ - name: "** Next Step **"
48
+ run: |
49
+ echo "Optional): Review Draft Release: ${{ steps.prep-release.outputs.release_url }}"
@@ -0,0 +1,34 @@
1
+ name: "Publish Changelog"
2
+ on:
3
+ release:
4
+ types: [published]
5
+
6
+ workflow_dispatch:
7
+ inputs:
8
+ branch:
9
+ description: "The branch to target"
10
+ required: false
11
+
12
+ jobs:
13
+ publish_changelog:
14
+ runs-on: ubuntu-latest
15
+ environment: release
16
+ steps:
17
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
18
+
19
+ - uses: actions/create-github-app-token@v2
20
+ id: app-token
21
+ with:
22
+ app-id: ${{ vars.APP_ID }}
23
+ private-key: ${{ secrets.APP_PRIVATE_KEY }}
24
+
25
+ - name: Publish changelog
26
+ id: publish-changelog
27
+ uses: jupyter-server/jupyter_releaser/.github/actions/publish-changelog@v2
28
+ with:
29
+ token: ${{ steps.app-token.outputs.token }}
30
+ branch: ${{ github.event.inputs.branch }}
31
+
32
+ - name: "** Next Step **"
33
+ run: |
34
+ echo "Merge the changelog update PR: ${{ steps.publish-changelog.outputs.pr_url }}"
@@ -0,0 +1,56 @@
1
+ name: "Step 2: Publish Release"
2
+ on:
3
+ workflow_dispatch:
4
+ inputs:
5
+ branch:
6
+ description: "The target branch"
7
+ required: false
8
+ release_url:
9
+ description: "The URL of the draft GitHub release"
10
+ required: false
11
+ steps_to_skip:
12
+ description: "Comma separated list of steps to skip"
13
+ required: false
14
+
15
+ jobs:
16
+ publish_release:
17
+ runs-on: ubuntu-latest
18
+ environment: release
19
+ permissions:
20
+ id-token: write
21
+ steps:
22
+ - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
23
+
24
+ - uses: actions/create-github-app-token@v2
25
+ id: app-token
26
+ with:
27
+ app-id: ${{ vars.APP_ID }}
28
+ private-key: ${{ secrets.APP_PRIVATE_KEY }}
29
+
30
+ - name: Populate Release
31
+ id: populate-release
32
+ uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2
33
+ with:
34
+ token: ${{ steps.app-token.outputs.token }}
35
+ branch: ${{ github.event.inputs.branch }}
36
+ release_url: ${{ github.event.inputs.release_url }}
37
+ steps_to_skip: ${{ github.event.inputs.steps_to_skip }}
38
+
39
+ - name: Finalize Release
40
+ id: finalize-release
41
+ uses: jupyter-server/jupyter_releaser/.github/actions/finalize-release@v2
42
+ with:
43
+ token: ${{ steps.app-token.outputs.token }}
44
+ release_url: ${{ steps.populate-release.outputs.release_url }}
45
+
46
+ - name: "** Next Step **"
47
+ if: ${{ success() }}
48
+ run: |
49
+ echo "Verify the final release"
50
+ echo ${{ steps.finalize-release.outputs.release_url }}
51
+
52
+ - name: "** Failure Message **"
53
+ if: ${{ failure() }}
54
+ run: |
55
+ echo "Failed to Publish the Draft Release Url:"
56
+ echo ${{ steps.populate-release.outputs.release_url }}
@@ -0,0 +1,33 @@
1
+ tests/test_subshells_races.py
2
+ meta/
3
+ tags
4
+ MANIFEST
5
+ build
6
+ cover
7
+ dist
8
+ _build
9
+ docs/man/*.gz
10
+ docs/source/api/generated
11
+ docs/source/config/options
12
+ docs/source/interactive/magics-generated.txt
13
+ docs/gh-pages
14
+ IPython/html/notebook/static/mathjax
15
+ IPython/html/static/style/*.map
16
+ *.py[co]
17
+ __pycache__
18
+ *.egg-info
19
+ *~
20
+ *.bak
21
+ .ipynb_checkpoints
22
+ .tox
23
+ .DS_Store
24
+ \#*#
25
+ .#*
26
+ .coverage
27
+ .cache
28
+
29
+ data_kernelspec
30
+ .pytest_cache
31
+
32
+ # copied changelog file
33
+ docs/changelog.md