Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ref: update the build system to use hatch and update dependency versions #9

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

horw
Copy link

@horw horw commented Jan 19, 2025

The Jupyter build system was outdated, so this kernel needs to be migrated to the Hatch build system, which supports shareable files. On the other hand, JupyterLite has been significantly updated, with many new features now available.

The base for this PR was https://github.com/jupyterlite/pyodide-kernel, as it seemed to have been updated quite recently. However, it's too complicated, which is where echo-kernel shines — it provides an easy, not-overwhelming template example.

How to Start Dev Server

npm run setup:py
jlpm install
jlpm build
jupyter labextension develop . --overwrite
jupyter lite serve

Further Steps

  • update Readme
  • It's quite annoying and misleading to change all echo-kernel and pythonlite-echo-kernel related strings manually. We need to think about how to manage them in one place, as there is too much duplication.

Related

Closes #8

@@ -1,24 +0,0 @@
import json
Copy link
Author

@horw horw Jan 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this file handlers.py isn't needed now?

@horw
Copy link
Author

horw commented Jan 20, 2025

@jtpio Hello!
What do you think about this migration? Any advice or suggestions for further steps to improve it would be great.
Thanks! Waiting for your response.

@jtpio
Copy link
Member

jtpio commented Jan 20, 2025

Thanks @horw for cleaning this up!

Indeed the repo is a bit outdated.

Copy link
Member

@jtpio jtpio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this!

Left a couple of comments, which will hopefully help with the CI too.

"@jupyterlite/kernel": "^0.1.0-alpha.10",
"@jupyterlite/server": "^0.1.0-alpha.10"
"@jupyterlab/coreutils": "^6.1.1",
"@jupyterlite/contents": "^0.5.0-alpha.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we can now update to ^0.5.0? https://github.com/jupyterlite/jupyterlite/releases/tag/v0.5.0

"Framework :: Jupyter :: JupyterLab :: 3",
"Framework :: Jupyter :: JupyterLab :: Extensions",
"Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt",
from setuptools import setup
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this setup.py file can now be simplified if most of the build logic is handled in pyproject.toml, like in the extension template: https://github.com/jupyterlab/extension-template

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we can likely replace it by the following:

__import__("setuptools").setup()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Installation process for development
2 participants