jupyter-widgets/team-compass

2021 Jupyter Widgets Dev Meetings

jasongrout opened this issue ยท 39 comments

02 Feb 2021

3pm UTC (Local time)

(This meeting was set up and discussed on Gitter here and here)

Agenda

  • Background on 8.0
  • high-level goals
  • summary of current state of 8.0 release
  • triage of current 8.0 issues
  • discussion of timeline
  • Should we publish widgetsnbextension 4, cutting out the notebook dependency, before ipywidgets 8? See jupyter-widgets/ipywidgets#2840 (comment) and matplotlib/ipympl#34
  • Meetings moving forward

Minutes

18 Feb 2021

Attendees: Jason, Maarten, Jeremy, Ian, Sylvain, Martin, Itay

Discussion

  • widgets.register what is it for?
    • should it be default in the cookiecutter? - no
    • should be better documented - Ian open an issue.
  • Triage 8.0 issues
ianhi commented

4 Mar 2021

Attendees:
@jasongrout, @vidartf, @maartenbreddels, @ianhi, @ibdafna, @jtpio, @marimeireles

  • ian

    • What is advice for people who want blocking widgets
      • See https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Asynchronous.html
      • Perhaps we change the kernel protocol to allow the kernel to process comm messages even if it is not idle (for example, if a cell has an await)?
      • We could ship the utility functions in the widget async docs, and make some more examples using them. Especially with dependencies on modern Python + ipykernel, this is more feasiable than before.
      • Make async waiting easier to use - make docs more approachable, ship utility function (ian make issue)
    • Automated releasing secrets? who can add them? jupyter-widgets/jupyterlab-sidecar#62
      • We could release based on setting a tag. That makes it very easy, maybe too easy?
      • We could release based on drafting a GitHub release.
      • Ian and Jason getting together to explore this.
    • [not discussed] unify cookiecutter? #4
  • Maarten

  • Discussion

    • ipywidgets contrib
      • Perhaps open a repo or new github org. Things are merged basically automatically, with very minimal vetting.

18 Mar 2021

Attendees: @jasongrout, @SylvainCorlay, @ianhi, @jtpio

What is the status of pythreejs? It is now a prebuilt extension compatible with JupyterLab 3.

Meeting times: We decided to move to a weekly meeting schedule to help development momentum, and re-evaluate the time to better accommodate those that are actually coming to the meetings. Since we're in the middle of a confusing time where some of us are on Daylight Saving time and others aren't, we'll keep the 7am Pacific Daylight Time meeting for Thursday, 25 Mar. Jason will send out a poll for a new meeting time for a weekly meeting for the following week.

jtpio commented

25 Mar 2021

Attendees: @jtpio, @jasongrout, @vidartf

jtpio commented

01 Apr 2021

Attendees: @jtpio, @ianhi, @jasongrout, @SylvainCorlay, @blois

jtpio commented

08 Apr 2021

Attendees: @ianhi, @jtpio

jtpio commented

13 Apr 2021

Attendees: @ianhi, @jasongrout

  • Discussions
    • Deep dive on potential of using stdin as a mechanism for blocking until a user interacts with a widget.
    • Ian will create an issue summarizing everything that can be used as a starting place for further investigations.
jtpio commented

27 Apr 2021

Attendees: @jtpio, @ibdafna, @ianhi, @vidartf

jtpio commented

04 May 2021

Attendees: @ibdafna, @ianhi, @vidartf

jtpio commented

18 May 2021

Attendees: @jtpio, @ianhi, @jasongrout, Ilya

jtpio commented

01 June 2021

Attendees: @vidartf, @jasongrout

jtpio commented

08 June 2021

Attendees: @vidartf, @jtpio

  • Quick update on outstanding work on 8.0
jtpio commented

15 June 2021

Attendees: @jtpio, @vidartf, @ibdafna

jtpio commented

22 June 2021

Attendees: @jtpio, @vidartf, @ibdafna, @jasongrout

jtpio commented

29 June 2021

Attendees: @jasongrout, @davidbrochart, @ilyabo, @ibdafna

  • Welcome Itay (@ibdafna) as an ipywidgets maintainer!
  • Scipy 2021 tutorial is in two weeks, based on ipywidgets 7.6.3, JupyterLab 3.0 (Matt Craig, Itay Dafna, Mariana, Martin, Youness)
    • This year emphasizing additional widget libraries, like ipycanvas, ipycytoscape, ipydatagrid, etc.
  • 8.0a5 is out: lots of package upgrades, so please test third-party widgets
  • @ilyabo, @davidbrochart: Async widgets: we have a modified kernel now that enables async processing of widgets.
    • Each cell is launched as an async function and is launched as a task. You can run several cells concurrently. If there is purely synchronous code, it runs as normal. Essentially the top-level await is converted to an await inside an async function, so await returns control to the event loop.
    • https://github.com/davidbrochart/akernel
    • ipython/ipykernel#696
    • There is a pattern to force "synchronous" running of successive cells with await __task__()

6 July 2021

Attendees: @jasongrout, @vidartf, @jtpio,

  • ipywidgets tutorial update (next week)
  • ipywidgets community update
  • ipywidgets 8.0 triage

13 July 2021

Attendees: @jasongrout, @vidartf, @ibdafna

  • @ibdafna: ipywidgets tutorial report (Monday morning at Scipy)

    • We cleaned up the tutorial repo, updated the binder, etc.
      • Didn't show some of Maarten's widgets because they weren't working
    • Went well. Generated buzz on Twitter. It was a new audience, with many people exposed to ipywidgets for the first time. About 100 attendees.
    • Need short introduction to decorators
    • The styling/layout section was a bit long. Instead, just give a few examples, then jump in with examples and day-to-day issues people will face.
    • We'll continue refreshing and rotating the list of ipywidgets libraries we are showing each year.
    • The online platform worked well, the platform worked pretty well. The platform "Q&A" section was a bit awkward to use.
    • Lots of questions, especially compared to last year.
  • ipywidgets 8.0 triage

    • Went through recent PRs, reviewed and merged some, and assigned out others.
  • https://codepath.org/ - interesting mentoring opportunity

jtpio commented

03 August 2021

Attendees: @jasongrout, @vidartf, @ibdafna

jtpio commented

10 August 2021

Attendees: @jasongrout, @vidartf, @ibdafna

Itay:

Vidar:

Triage:

jtpio commented

17 August 2021

Attendees: @vidartf, @jasongrout, @ibdafna, @blois

Pete:

Itay:

  • TS cookiecutter maintenance - Itay volunteering, and Vidar will help him come up to speed.

Triage for 8.0:

jtpio commented

24 August 2021

Attendees: @vidartf, @jasongrout

Triage for 8.0:

  • Discussion around extending widgets support to JupyterLab code consoles.
jtpio commented

31 August 2021

Attendees: @vidartf, @jasongrout, @ibdafna

Triage for 8.0:

Itay:

  • 8.0.0a6 prerelease due out this week
  • 7.1.x patch release with ipython_genutils dependency

Vidar: #2259, #2800
Itay: #3230, #3247
Jason: #2762

jtpio commented

07 Sep 2021

Attendees: @jasongrout

jtpio commented

14 Sep 2021

Attendees: @vidartf, @jtpio, @ianhi, @ibdafna

Triage for 8.0

  • Add dragging behaviour properties to sliders: #2834

    • Rebase + rename to american spelling
    • Merge and do a final review after having it in alpha
  • If we include #2762, we should also consider #2605

    • Current proposal: Add three new promises: attached, layedOut, shown. Then deprecate displayed, and have that resolve at the same time as attached for now (retaining its current behavior). This will allow for third-party libraries to update on their own time, but still resolve the ambiguity.
jtpio commented

21 Sep 2021

Attendees: @jtpio, @martinRenou, @vidartf, @jasongrout, @ibdafna

  • Martin:

    • Select widget: prevent arbitrary selection if there is currently no selection and the option list changes jupyter-widgets/ipywidgets#3284
    • Doc fixing, fix "process.env is undefined" issue which prevented the HTMLManager to render widgets jupyter-widgets/ipywidgets#3283
    • widgetsnbextension: Throw an exception if the widget fails to render, this allows the Notebook to fallback on other mimetypes repr jupyter-widgets/ipywidgets#3280 (should be tested with current Notebook version/should do a Notebook version check in widgetsnbextension?)
  • Jeremy:

  • Triage for 8.0:

    • Are there any issues that will need a PR?
    • Are there any unassigned PRs?
    • Any assistance needed on assigned PRs?
jtpio commented

28 Sep 2021

Attendees: @martinRenou, @vidartf, @jasongrout, @SylvainCorlay

  • #3280

    • Can we confidently make a minor release of widgetnbextension? Probably best to branch from last
  • #3021

    • This PR does not change the current logic for ipywidgets. It is adding a new Comm entry point for Voila to fetch all widgets models at once.
jtpio commented

05 Oct 2021

Attendees: @vidartf, @jasongrout, @ibdafna

jtpio commented

12 Oct 2021

Attendees: @vidartf, @jasongrout, @martinRenou, @piiq, @jtpio, @ibdafna

jtpio commented

19 Oct 2021

Attendees: @jtpio, @martinRenou, @jasongrout, @SylvainCorlay

  • 8.0.0a6 on conda:

  • Bug fix jupyter-widgets/ipywidgets#3296

  • Fech all widgets in one go on the control channel: jupyter-widgets/ipywidgets#3021

  • Hold sync during set_state jupyter-widgets/ipywidgets#3271

  • Jupyter Releaser:

    • Started by David in jupyter-widgets/ipywidgets#3298
    • How do we want to version the packages?
    • Do we want to be able to release packages indepedently? ipywidgets, jupyterlab_widgets, widgetsnbextension -> Yes
    • Currently bumping versions is like a complex decision tree
      • We could start by documenting how versions are bumped. For example how to decide whether this is a minor version and what updating a given package means for the other packages that depend on it.
      • The releaser takes a spec as input. So we would have to encode the bump we would like to do, and let the bump script update the right packages.
      • There is also the protocol version as another version to consider. This one could be versioned manually.
jtpio commented

26 Oct 2021

Attendees: @ibdafna, @martinRenou, @vidartf, @jasongrout, @trungleduc

jtpio commented

02 Nov 2021

Attendees: @jtpio, @jasongrout, @vidartf, @ibdafna

jtpio commented

09 Nov 2021

Attendees: @vidartf, @jasongrout, @ibdafna, @martinRenou, @jtpio

jtpio commented

16 Nov 2021

Attendees: @vidartf, @martinRenou, @SylvainCorlay, @jtpio, @ibdafna, @jasongrout

New issues/PRs since last meeting:

8.0 beta release party

jtpio commented

30 Nov 2021

Attendees: @vidartf, @ibdafna, @jtpio, @SylvainCorlay

8.0 release plans

  • Currently on track. We will all try to update a 3rd-party library to support 8.0 before next week, when we plan to do an RC unless there are any blockers.
  • New convenience trait/serializers for serializing full IEEE float values (i.e., NaN and infinity)
  • Introductions
    • chadiabifadel

PRs

jtpio commented

7 Dec 2021

Attendees: @maartenbreddels, @ibdafna, @jtpio, @SylvainCorlay, @vidartf, @jasongrout

Front-end sync PR:

  • jupyter-widgets/ipywidgets#3195
  • Long discussion about what this PR does, and decision to put in a default-off global switch and get it in for 8.0RC after review.

Issues:

Porting widgets to 8.0: will need to work on a migration guide.
Current changelog: https://ipywidgets.readthedocs.io/en/latest/changelog.html#not-released-yet

jtpio commented

14 Dec 2021

Attendees: @vidartf, @ibdafna, @martinRenou, @jasongrout, @real-slim-chadi

21 Dec 2021

Attendees: @maartenbreddels, @ibdafna, @SylvainCorlay,
@jasongrout

  • Jason: upgrading to TypeScript 4.5 has incompatibilities with older JupyterLab versions, so we hold off upgrading it in the RC.
  • Discussed Maarten's front-end sync PR. Sylvain and Itay will meet on Dec 22nd to run a a few final tests and, if not issues are found, merge and release RC0 ๐ŸŽ‰