You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beam.apache.org by chen canyu <cc...@gmail.com> on 2025/06/23 15:04:36 UTC

[GSoC 25] Proposal: Enable pip-based installation for Beam JupyterLab SidePanel

Hi Beam Devs,
I'm currently working on improving the usability and packaging experience
of the Beam JupyterLab Sidepanel extension.
Today, installing JupyterLab extensions typically requires calling jupyter
labextension install, which:

   - is deprecated in JupyterLab 4.x,


   - adds friction for end users,


   - and is not compatible with modern Python packaging practices.

To address this, I opened a PR that adds support for pip-based installation
of the apache-beam-jupyterlab-side panel extension:
🔗 PR: https://github.com/apache/beam/pull/35399
With this change, users can simply run:
```bash
pip install apache-beam-jupyterlab-sidepanel
```
…and the extension is immediately available in JupyterLab — no manual
labextension install step required.
This is implemented using pyproject.toml, hatchling, and
hatch-jupyter-builder, following the JupyterLab prebuilt extension standard.
The goal is to make the sidepanel more accessible to users (especially new
ones), reduce installation errors, and improve integration with CI/CD
systems.
If you have thoughts on this approach — naming, packaging standards, or
longer-term integration into Beam releases — I’d appreciate the feedback.
Thanks,
Canyu

Re: [GSoC 25] Proposal: Enable pip-based installation for Beam JupyterLab SidePanel

Posted by XQ Hu via dev <de...@beam.apache.org>.
This looks great! Thanks a lot for your contribution!

XQ

On Mon, Jun 23, 2025 at 12:42 PM chen canyu <cc...@gmail.com> wrote:

> Hi Beam Devs,
> I'm currently working on improving the usability and packaging experience
> of the Beam JupyterLab Sidepanel extension.
> Today, installing JupyterLab extensions typically requires calling jupyter
> labextension install, which:
>
>    - is deprecated in JupyterLab 4.x,
>
>
>    - adds friction for end users,
>
>
>    - and is not compatible with modern Python packaging practices.
>
> To address this, I opened a PR that adds support for pip-based
> installation of the apache-beam-jupyterlab-side panel extension:
> 🔗 PR: https://github.com/apache/beam/pull/35399
> With this change, users can simply run:
> ```bash
> pip install apache-beam-jupyterlab-sidepanel
> ```
> …and the extension is immediately available in JupyterLab — no manual
> labextension install step required.
> This is implemented using pyproject.toml, hatchling, and
> hatch-jupyter-builder, following the JupyterLab prebuilt extension standard.
> The goal is to make the sidepanel more accessible to users (especially new
> ones), reduce installation errors, and improve integration with CI/CD
> systems.
> If you have thoughts on this approach — naming, packaging standards, or
> longer-term integration into Beam releases — I’d appreciate the feedback.
> Thanks,
> Canyu
>