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

Meta issue for in-person Jan 2020 in-person sprint #2641

Closed
SylvainCorlay opened this issue Dec 13, 2019 · 16 comments
Closed

Meta issue for in-person Jan 2020 in-person sprint #2641

SylvainCorlay opened this issue Dec 13, 2019 · 16 comments
Labels
resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion.
Milestone

Comments

@SylvainCorlay
Copy link
Member

SylvainCorlay commented Dec 13, 2019

As discussed in #2587, there will be an in-person code developer sprint:

Date: Jan 6-10, 2020
Location: CFM, 23 rue de l'Université, 75007 Paris
Hours: 9:30am - 6pm

The goal is to have a push towards ipywidgets 8.0.

Here are a few bullet points for items that we may want to handle for the 8.0 release

HackMD for notes

Packaging

  • drop the dependency of ipywidgets to widgetsnbextension and of widgetsnbextension to ipykernel.
  • pattern to split custom widget packages into a pure python package and the different extensions -> to be contributed to the cookiecutters. (Maarten wants to be in this discussion even if he cannot attend the sprints).
  • should we split ipywidgets (python package) into ipycontrols and ipywidget-core?
  • rewrite the slider without JQueryUI so that we can drop this dependency
  • drop as much of the calls to IPython APIs. These API calls require alternative Python Jupyter kernels (such as xeus-python) to do some monkey-patching of these APIs to support ipywidgets.

New controls?

  • We have PRs in for tags/colors/inputs (manipulation of sequences of the base trait types) and a text slider.

The future of BackboneJS in ipywidgets

  • What alternative implementation of the observer pattern should we use?

Drop deprecated APIs

  • There are a number of deprecated APIs in ipywidgets that we should finally be able to remove.

Dropping Python 2 support

  • should we also take this occasion to not need the ipython_genutils package?

Drop static directory in custom widgets

  • This is probably only around for legacy reasons.

Discussions on blocking / async patterns to operate on widgets

@SylvainCorlay
Copy link
Member Author

SylvainCorlay commented Dec 13, 2019

@SylvainCorlay
Copy link
Member Author

Feel free to add new discussion items to the list!

@zerline
Copy link
Contributor

zerline commented Dec 13, 2019

I will present a Letter to Santa for more various interactivity modes.
Please see my PRs #2640, #2664 and #2627.
And our wishes #2518, #2611, #2646, #2647 and #2648.

@jasongrout
Copy link
Member

CC also @kaiayoung, @jdfreder, @ellisonbg, @afshin, @mbektasbbg, @ChakriCherukuri, @ibdafna, @cquah

We still have capacity, so if anyone wants to come and help on an intensive sprint towards ipywidgets 8.0 and beyond, please let me or Sylvain know. Unfortunately, we don't have a travel budget to help with expenses.

@martinRenou
Copy link
Member

We came to some TypeScript improvements ideas with @kaiayoung @mbektasbbg @ibdafna. Currently, there is no type validation on the backbone model. For example this.model.get('value') on an IntSlider widget should return a number while it should return a string for a Text widget.

It would be super nice to be able to define the model attributes types in the WidgetModel.defaults method implementation.

@captainsafia
Copy link
Contributor

Hello everyone! If possible, I'd like to discuss standardizing module resolutions for ipywidgets.

@blois and others from Google brought this up a while back and drafted this doc.

ipywidgets support was recently added to nteract and quite a few people have requested support for custom widgets so I'm especially interested in working on this.

Also, I've got some more ideas about things we can improve in ipywidgets, especially from the perspective of implementors. I will update this comment later with concrete pieces of feedback.

@jasongrout
Copy link
Member

Thanks @captainsafia! Would you be able to attend the meeting too?

@jasongrout
Copy link
Member

Some more items I'd like to explore for 8.0:

  • Moving simple controls implementation to react: WIP React experiments #1796
  • Abstracting the data model so that we don't depend on backbone for the data storage. This would make it possible for the widget manager to provide a centralized data store that all widgets use, rather than data being spread out over all widgets. I think this could largely be done in the base widget class, so hopefully would not require huge changes in third-party widgets.

@jasongrout
Copy link
Member

  • triage the 400+ issues we have open

@jasongrout
Copy link
Member

jasongrout commented Dec 31, 2019

  • Move from travis to github actions? And in general asses our testing infrastructure

@jasongrout
Copy link
Member

  • Use prettier for js code, black for python code

@jasongrout jasongrout added this to the Reference milestone Dec 31, 2019
@jasongrout
Copy link
Member

@jasongrout
Copy link
Member

jasongrout commented Jan 6, 2020

FYI, right now on master, ipywidgets doesn't work in jlab or the latest jlab beta. For now, follow the instructions at https://github.com/jupyter-widgets/ipywidgets/blob/master/docs/source/dev_install.md, but do not install JupyterLab.

@jasongrout
Copy link
Member

FYI, right now on master, ipywidgets doesn't work in jlab or the latest jlab beta

JupyterLab had a new beta released, and things seem to work fine now. So feel free to run the dev-install script after doing pip install --pre jupyterlab to pull in JupyterLab 2.0b2.

@vidartf
Copy link
Member

vidartf commented Jan 8, 2020

@captainsafia Is there a time for you that would be good for calling in to discuss module resolution etc? We are typically all in during 10-18 CET.

@jasongrout
Copy link
Member

Thanks everyone for the successful sprint!

@lock lock bot added the resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. label May 20, 2020
@lock lock bot locked as resolved and limited conversation to collaborators May 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion.
Projects
None yet
Development

No branches or pull requests

6 participants