diff --git a/py5jupyter/__init__.py b/py5jupyter/__init__.py
index fbc5e28..538abb7 100644
--- a/py5jupyter/__init__.py
+++ b/py5jupyter/__init__.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/_version.py b/py5jupyter/_version.py
index feb1dc8..fbca19a 100644
--- a/py5jupyter/_version.py
+++ b/py5jupyter/_version.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/kernels/__init__.py b/py5jupyter/kernels/__init__.py
index b74991a..f163fa2 100644
--- a/py5jupyter/kernels/__init__.py
+++ b/py5jupyter/kernels/__init__.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/kernels/py5/__init__.py b/py5jupyter/kernels/py5/__init__.py
index cf06661..563f808 100644
--- a/py5jupyter/kernels/py5/__init__.py
+++ b/py5jupyter/kernels/py5/__init__.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/kernels/py5/__main__.py b/py5jupyter/kernels/py5/__main__.py
index d0fec25..f3ce7b2 100644
--- a/py5jupyter/kernels/py5/__main__.py
+++ b/py5jupyter/kernels/py5/__main__.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/kernels/py5/install.py b/py5jupyter/kernels/py5/install.py
index c46a488..8ea8536 100644
--- a/py5jupyter/kernels/py5/install.py
+++ b/py5jupyter/kernels/py5/install.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -17,16 +17,15 @@
# along with this library. If not, see .
#
# *****************************************************************************
+import argparse
+import json
import os
-import sys
import shutil
+import sys
from pathlib import Path
-import argparse
-import json
-from jupyter_client.kernelspec import KernelSpecManager
from IPython.utils.tempdir import TemporaryDirectory
-
+from jupyter_client.kernelspec import KernelSpecManager
kernel_json = {
"argv": [sys.executable, "-m", "py5jupyter.kernels.py5", "-f", "{connection_file}"],
diff --git a/py5jupyter/kernels/py5/kernel.py b/py5jupyter/kernels/py5/kernel.py
index 2c26a6c..72e4978 100644
--- a/py5jupyter/kernels/py5/kernel.py
+++ b/py5jupyter/kernels/py5/kernel.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -20,14 +20,12 @@
import sys
from ipykernel.ipkernel import IPythonKernel
+from ipykernel.kernelapp import IPKernelApp
from ipykernel.zmqshell import ZMQInteractiveShell
from IPython.core.interactiveshell import InteractiveShellABC
-from ipykernel.kernelapp import IPKernelApp
-
-from traitlets import Type, Instance, Unicode, List
-
-from py5_tools.parsing import TransformDynamicVariablesToCalls, Py5CodeValidation
from py5_tools import __version__ as __py5_version__
+from py5_tools.parsing import Py5CodeValidation, TransformDynamicVariablesToCalls
+from traitlets import Instance, List, Type, Unicode
_PY5_HELP_LINKS = [
{"text": "py5 Documentation", "url": "http://py5coding.org/"},
diff --git a/py5jupyter/kernels/py5bot/__init__.py b/py5jupyter/kernels/py5bot/__init__.py
index 292b5a0..67fc1e0 100644
--- a/py5jupyter/kernels/py5bot/__init__.py
+++ b/py5jupyter/kernels/py5bot/__init__.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/kernels/py5bot/__main__.py b/py5jupyter/kernels/py5bot/__main__.py
index 78642f7..affea7f 100644
--- a/py5jupyter/kernels/py5bot/__main__.py
+++ b/py5jupyter/kernels/py5bot/__main__.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/kernels/py5bot/install.py b/py5jupyter/kernels/py5bot/install.py
index c8b9566..36b13ac 100644
--- a/py5jupyter/kernels/py5bot/install.py
+++ b/py5jupyter/kernels/py5bot/install.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -17,16 +17,15 @@
# along with this library. If not, see .
#
# *****************************************************************************
+import argparse
+import json
import os
-import sys
import shutil
+import sys
from pathlib import Path
-import argparse
-import json
-from jupyter_client.kernelspec import KernelSpecManager
from IPython.utils.tempdir import TemporaryDirectory
-
+from jupyter_client.kernelspec import KernelSpecManager
kernel_json = {
"argv": [
diff --git a/py5jupyter/kernels/py5bot/kernel.py b/py5jupyter/kernels/py5bot/kernel.py
index 4184357..341ba0b 100644
--- a/py5jupyter/kernels/py5bot/kernel.py
+++ b/py5jupyter/kernels/py5bot/kernel.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -20,23 +20,20 @@
import sys
from ipykernel.ipkernel import IPythonKernel
+from ipykernel.kernelapp import IPKernelApp
from ipykernel.zmqshell import ZMQInteractiveShell
from IPython.core.interactiveshell import InteractiveShellABC
-from ipykernel.kernelapp import IPKernelApp
-
-from traitlets import Type, Instance, Unicode, List
-
+from py5_tools import __version__ as __py5_version__
from py5_tools import split_setup
from py5_tools.parsing import (
- TransformDynamicVariablesToCalls,
Py5CodeValidation,
+ TransformDynamicVariablesToCalls,
check_for_problems,
)
-from py5_tools import __version__ as __py5_version__
+from traitlets import Instance, List, Type, Unicode
from . import py5bot
-
_PY5_HELP_LINKS = [
{"text": "py5 Documentation", "url": "http://py5coding.org/"},
{
diff --git a/py5jupyter/kernels/py5bot/py5bot.py b/py5jupyter/kernels/py5bot/py5bot.py
index 6f5b1a7..95cd48b 100644
--- a/py5jupyter/kernels/py5bot/py5bot.py
+++ b/py5jupyter/kernels/py5bot/py5bot.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@@ -17,9 +17,8 @@
# along with this library. If not, see .
#
# *****************************************************************************
-from pathlib import Path
import tempfile
-
+from pathlib import Path
PY5BOT_CODE_STARTUP = """
import functools
diff --git a/py5jupyter/widgets/__init__.py b/py5jupyter/widgets/__init__.py
index f23515e..f437599 100644
--- a/py5jupyter/widgets/__init__.py
+++ b/py5jupyter/widgets/__init__.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/widgets/_frontend.py b/py5jupyter/widgets/_frontend.py
index 8077dff..acdb89e 100644
--- a/py5jupyter/widgets/_frontend.py
+++ b/py5jupyter/widgets/_frontend.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/py5jupyter/widgets/sketchportal.py b/py5jupyter/widgets/sketchportal.py
index 7a68299..19d6ab1 100644
--- a/py5jupyter/widgets/sketchportal.py
+++ b/py5jupyter/widgets/sketchportal.py
@@ -1,7 +1,7 @@
# *****************************************************************************
#
# Part of the py5jupyter (& py5) library
-# Copyright (C) 2022-2024 Jim Schmitz
+# Copyright (C) 2022-2025 Jim Schmitz
#
# This library is free software: you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
diff --git a/src/extension.ts b/src/extension.ts
index 98f5f32..0d4ffdd 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -1,7 +1,7 @@
// *****************************************************************************
//
// Part of the py5jupyter (& py5) library
-// Copyright (C) 2022-2024 Jim Schmitz
+// Copyright (C) 2022-2025 Jim Schmitz
//
// This library is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
diff --git a/src/index.ts b/src/index.ts
index d887be1..9c147c7 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,7 +1,7 @@
// *****************************************************************************
//
// Part of the py5jupyter (& py5) library
-// Copyright (C) 2022-2024 Jim Schmitz
+// Copyright (C) 2022-2025 Jim Schmitz
//
// This library is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
diff --git a/src/plugin.ts b/src/plugin.ts
index 784854b..696ce09 100644
--- a/src/plugin.ts
+++ b/src/plugin.ts
@@ -1,7 +1,7 @@
// *****************************************************************************
//
// Part of the py5jupyter (& py5) library
-// Copyright (C) 2022-2024 Jim Schmitz
+// Copyright (C) 2022-2025 Jim Schmitz
//
// This library is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
diff --git a/src/utils.ts b/src/utils.ts
index cf26700..cf14ba7 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -1,7 +1,7 @@
// *****************************************************************************
//
// Part of the py5jupyter (& py5) library
-// Copyright (C) 2022-2024 Jim Schmitz
+// Copyright (C) 2022-2025 Jim Schmitz
//
// This library is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
diff --git a/src/version.ts b/src/version.ts
index 19687a3..9f5352d 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1,7 +1,7 @@
// *****************************************************************************
//
// Part of the py5jupyter (& py5) library
-// Copyright (C) 2022-2024 Jim Schmitz
+// Copyright (C) 2022-2025 Jim Schmitz
//
// This library is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
diff --git a/src/widget.ts b/src/widget.ts
index b1e5488..aec4b94 100644
--- a/src/widget.ts
+++ b/src/widget.ts
@@ -1,7 +1,7 @@
// *****************************************************************************
//
// Part of the py5jupyter (& py5) library
-// Copyright (C) 2022-2024 Jim Schmitz
+// Copyright (C) 2022-2025 Jim Schmitz
//
// This library is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by