Skip to content

Commit 2431e5d

Browse files
Bump version to 0.6.7 (#70)
1 parent 0d9b25f commit 2431e5d

File tree

17 files changed

+7264
-7437
lines changed

17 files changed

+7264
-7437
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ jobs:
1212
fail-fast: false
1313
matrix:
1414
os: [ubuntu-latest, macos-latest, windows-latest]
15-
pixi-version: ['0.39.0', '0.50.2']
15+
pixi-version: ['0.39.0', '0.54.2']
1616
runs-on: ${{ matrix.os }}
1717
steps:
1818
- name: Checkout repo
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v5
2020

2121
- name: Install Pixi ${{ matrix.pixi-version }}
22-
uses: prefix-dev/setup-pixi@v0.8.9
22+
uses: prefix-dev/setup-pixi@v0.9.0
2323
with:
2424
pixi-version: v${{ matrix.pixi-version }}
2525
run-install: false

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Release
33
on:
44
push:
55
tags:
6-
- "v*"
6+
- 'v*'
77

88
jobs:
99
pypi-publish:
@@ -14,7 +14,7 @@ jobs:
1414
id-token: write
1515
steps:
1616
- name: Checkout code
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@v5
1818

1919
- name: Install uv
2020
uses: astral-sh/setup-uv@v6

package.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "pixi-kernel",
3-
"version": "0.6.6",
3+
"version": "0.6.7",
44
"description": "Jupyter kernels using Pixi for reproducible notebooks.",
55
"keywords": [
66
"kernel",
@@ -54,30 +54,30 @@
5454
"watch:labextension": "jupyter labextension watch ."
5555
},
5656
"dependencies": {
57-
"@jupyterlab/application": "^4.4.5",
58-
"@jupyterlab/coreutils": "^6.4.5",
59-
"@jupyterlab/notebook": "^4.4.5",
60-
"@jupyterlab/services": "^7.4.5",
61-
"@rjsf/utils": "^5.24.12",
57+
"@jupyterlab/application": "^4.4.7",
58+
"@jupyterlab/coreutils": "^6.4.7",
59+
"@jupyterlab/notebook": "^4.4.7",
60+
"@jupyterlab/services": "^7.4.7",
61+
"@rjsf/utils": "^5.24.13",
6262
"react": "^18.3.1"
6363
},
6464
"devDependencies": {
6565
"@eslint/eslintrc": "^3.3.1",
66-
"@eslint/js": "^9.32.0",
67-
"@jupyterlab/builder": "^4.4.5",
66+
"@eslint/js": "^9.35.0",
67+
"@jupyterlab/builder": "^4.4.7",
6868
"@types/json-schema": "^7.0.15",
69-
"@types/react": "^18.3.12",
69+
"@types/react": "^18.3.24",
7070
"@types/react-addons-linked-state-mixin": "^0.14.27",
71-
"@typescript-eslint/eslint-plugin": "^8.38.0",
72-
"@typescript-eslint/parser": "^8.38.0",
73-
"eslint": "^9.32.0",
71+
"@typescript-eslint/eslint-plugin": "^8.43.0",
72+
"@typescript-eslint/parser": "^8.43.0",
73+
"eslint": "^9.35.0",
7474
"eslint-config-prettier": "^10.1.8",
75-
"eslint-plugin-prettier": "^5.5.3",
75+
"eslint-plugin-prettier": "^5.5.4",
7676
"npm-run-all2": "^8.0.4",
7777
"prettier": "^3.6.2",
7878
"rimraf": "^6.0.1",
7979
"source-map-loader": "^5.0.0",
80-
"typescript": "5.5.4"
80+
"typescript": "5.9.2"
8181
},
8282
"jupyterlab": {
8383
"discovery": {

pixi_kernel/compatibility.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ async def has_compatible_pixi() -> Result[None, str]:
102102
else:
103103
pixi_path = result.unwrap()
104104

105-
returncode, stdout, stderr = await subprocess_exec(pixi_path, "--version")
105+
returncode, stdout, _ = await subprocess_exec(pixi_path, "--version")
106106
if returncode != 0 or not stdout.startswith("pixi "):
107107
return Failure(PIXI_VERSION_ERROR)
108108

pixi_kernel/env.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ async def envs_from_path(path: Path) -> list[str]:
1515
env = os.environ.copy()
1616
env.pop("PIXI_IN_SHELL", None)
1717

18-
returncode, stdout, stderr = await run_pixi("info", "--json", cwd=path, env=env)
18+
returncode, stdout, _ = await run_pixi("info", "--json", cwd=path, env=env)
1919
if returncode != 0:
2020
return [DEFAULT_ENVIRONMENT]
2121

pixi_kernel/provisioner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from .readiness import verify_env_readiness
1313

1414

15-
class PixiKernelProvisioner(LocalProvisioner): # type: ignore[misc]
15+
class PixiKernelProvisioner(LocalProvisioner):
1616
async def _launch_fallback_kernel(self, *, message: str, **kwargs: Any) -> dict[str, Any]:
1717
kernel_spec = cast(KernelSpec, self.kernel_spec)
1818
kernel_spec.argv = [sys.executable, "-m", "pixi_kernel", "{connection_file}", message]

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "pixi-kernel"
3-
version = "0.6.6"
3+
version = "0.6.7"
44
description = "Jupyter kernels using Pixi for reproducible notebooks"
55
license = { text = "MIT" }
66
authors = [
@@ -55,7 +55,7 @@ dev-dependencies = [
5555
"pytest>=8",
5656
"pytest-asyncio>=1",
5757
"pytest-cov>=6",
58-
"ruff>=0.12",
58+
"ruff>=0.13",
5959
"tox-uv>=1",
6060
]
6161

tests/integration/ipykernel/pixi.lock

Lines changed: 656 additions & 631 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/integration/r-irkernel/kernel.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def _execute_code(self, code, tests=True, silent=False, store_history=True):
8585
def test_display_vector(self):
8686
"""Display of vectors."""
8787
code = "1:3"
88-
reply, output_msgs = self._execute_code(code)
88+
_, output_msgs = self._execute_code(code)
8989

9090
# we currently send those formats: text/plain, text/html, text/latex, and text/markdown
9191
data = output_msgs[0]["content"]["data"]
@@ -101,15 +101,15 @@ def test_display_vector(self):
101101
def test_display_vector_only_plaintext(self):
102102
"""Display of plain text vectors."""
103103
code = without_rich_display.format("1:3")
104-
reply, output_msgs = self._execute_code(code)
104+
_, output_msgs = self._execute_code(code)
105105
data = output_msgs[0]["content"]["data"]
106106
assert len(data) == 1, data.keys()
107107
assert data["text/plain"] == "[1] 1 2 3"
108108

109109
def test_irkernel_plots(self):
110110
"""Plotting."""
111111
code = "plot(1:3)"
112-
reply, output_msgs = self._execute_code(code)
112+
_, output_msgs = self._execute_code(code)
113113

114114
# we currently send two formats: png, and text/plain
115115
data = output_msgs[0]["content"]["data"]
@@ -134,7 +134,7 @@ def test_irkernel_plots_only_png(self):
134134
old_options <- options(jupyter.plot_mimetypes = c('image/png'))
135135
plot(1:3)
136136
"""
137-
reply, output_msgs = self._execute_code(code)
137+
_, output_msgs = self._execute_code(code)
138138

139139
# Only png, no svg or plain/text
140140
data = output_msgs[0]["content"]["data"]
@@ -149,7 +149,7 @@ def test_irkernel_plots_only_png(self):
149149

150150
# And reset
151151
code = "options(old_options)"
152-
reply, output_msgs = self._execute_code(code, tests=False)
152+
_, output_msgs = self._execute_code(code, tests=False)
153153

154154
def test_irkernel_plots_only_svg(self):
155155
if platform.system() == "Windows":
@@ -160,7 +160,7 @@ def test_irkernel_plots_only_svg(self):
160160
old_options <- options(jupyter.plot_mimetypes = c('image/svg+xml'))
161161
plot(1:3)
162162
"""
163-
reply, output_msgs = self._execute_code(code)
163+
_, output_msgs = self._execute_code(code)
164164

165165
# Only svg, no png or plain/text
166166
data = output_msgs[0]["content"]["data"]
@@ -179,7 +179,7 @@ def test_irkernel_plots_only_svg(self):
179179

180180
# And reset
181181
code = "options(old_options)"
182-
reply, output_msgs = self._execute_code(code, tests=False)
182+
_, output_msgs = self._execute_code(code, tests=False)
183183

184184
def test_irkernel_plots_without_rich_display(self):
185185
if platform.system() == "Windows":
@@ -189,7 +189,7 @@ def test_irkernel_plots_without_rich_display(self):
189189
options(jupyter.rich_display = FALSE)
190190
plot(1:3)
191191
"""
192-
reply, output_msgs = self._execute_code(code)
192+
_, output_msgs = self._execute_code(code)
193193

194194
# Even with rich output as false, we send plots
195195
data = output_msgs[0]["content"]["data"]
@@ -199,12 +199,12 @@ def test_irkernel_plots_without_rich_display(self):
199199

200200
# And reset
201201
code = "options(jupyter.rich_display = TRUE)"
202-
reply, output_msgs = self._execute_code(code, tests=False)
202+
_, output_msgs = self._execute_code(code, tests=False)
203203

204204
def test_irkernel_df_default_rich_output(self):
205205
"""Data.frame rich representation."""
206206
code = "data.frame(x = 1:3)"
207-
reply, output_msgs = self._execute_code(code)
207+
_, output_msgs = self._execute_code(code)
208208

209209
# we currently send three formats: text/plain, html, and latex
210210
data = output_msgs[0]["content"]["data"]
@@ -217,7 +217,7 @@ def test_irkernel_df_no_rich_output(self):
217217
data.frame(x = 1:3)
218218
options(jupyter.rich_display = TRUE)
219219
"""
220-
reply, output_msgs = self._execute_code(code)
220+
_, output_msgs = self._execute_code(code)
221221

222222
# only text/plain
223223
data = output_msgs[0]["content"]["data"]
@@ -229,7 +229,7 @@ def test_html_isolated(self):
229229
repr_html.full_page <- function(obj) sprintf('<html><body>%s</body></html>', obj)
230230
structure(0, class = 'full_page')
231231
"""
232-
reply, output_msgs = self._execute_code(code)
232+
_, output_msgs = self._execute_code(code)
233233

234234
data = output_msgs[0]["content"]["data"]
235235
assert len(data) == 2, data.keys()
@@ -242,14 +242,14 @@ def test_html_isolated(self):
242242

243243
def test_in_kernel_set(self):
244244
"""Jupyter.in_kernel option."""
245-
reply, output_msgs = self._execute_code('getOption("jupyter.in_kernel")')
245+
_, output_msgs = self._execute_code('getOption("jupyter.in_kernel")')
246246
data = output_msgs[0]["content"]["data"]
247247
assert len(data) >= 1, data.keys()
248248
assert data["text/plain"] == "[1] TRUE", data.keys()
249249

250250
def test_warning_message(self):
251251
self.flush_channels()
252-
reply, output_msgs = self.execute_helper('options(warn=1); warning(simpleWarning("wmsg"))')
252+
_, output_msgs = self.execute_helper('options(warn=1); warning(simpleWarning("wmsg"))')
253253
assert output_msgs[0]["msg_type"] == "stream"
254254
assert output_msgs[0]["content"]["name"] == "stderr"
255255
if platform.system() == "Windows":
@@ -258,7 +258,7 @@ def test_warning_message(self):
258258
assert output_msgs[0]["content"]["text"].strip() == "Warning message:\n“wmsg”"
259259

260260
self.flush_channels()
261-
reply, output_msgs = self.execute_helper(
261+
_, output_msgs = self.execute_helper(
262262
'options(warn=1); f <- function() warning("wmsg"); f()'
263263
)
264264
assert output_msgs[0]["msg_type"] == "stream"
@@ -271,18 +271,18 @@ def test_warning_message(self):
271271
def test_should_increment_history(self):
272272
"""Properly increments execution history."""
273273
code = "data.frame(x = 1:3)"
274-
reply, output_msgs = self._execute_code(code)
275-
reply2, output_msgs2 = self._execute_code(code)
274+
reply, _ = self._execute_code(code)
275+
reply2, _ = self._execute_code(code)
276276
execution_count_1 = reply["content"]["execution_count"]
277277
execution_count_2 = reply2["content"]["execution_count"]
278278
assert execution_count_1 + 1 == execution_count_2
279279

280280
def test_should_not_increment_history(self):
281281
"""Does not increment history if silent is true or store_history is false."""
282282
code = "data.frame(x = 1:3)"
283-
reply, output_msgs = self._execute_code(code, store_history=False)
284-
reply2, output_msgs2 = self._execute_code(code, store_history=False)
285-
reply3, output_msgs3 = self._execute_code(code, tests=False, silent=True)
283+
reply, _ = self._execute_code(code, store_history=False)
284+
reply2, _ = self._execute_code(code, store_history=False)
285+
reply3, _ = self._execute_code(code, tests=False, silent=True)
286286
execution_count_1 = reply["content"]["execution_count"]
287287
execution_count_2 = reply2["content"]["execution_count"]
288288
execution_count_3 = reply3["content"]["execution_count"]

0 commit comments

Comments
 (0)