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

JupyterCon Thebe Sprint Organization #239

Closed
moorepants opened this issue Sep 21, 2020 · 41 comments
Closed

JupyterCon Thebe Sprint Organization #239

moorepants opened this issue Sep 21, 2020 · 41 comments

Comments

@moorepants
Copy link
Collaborator

moorepants commented Sep 21, 2020

There will be sprints at the upcoming JupyterCon (https://jupytercon.com/) on October 17th, 2020 throughout the 24 hr period. This issue is to help organize a sprint to make improvements for the project and to sort out what goals of the sprint are.

Getting started

Time table

  • 7:00 UTC Kickoff intro video streamed on Streamyard
  • 15:00 UTC Wrap up for European participants
  • 16:00 UTC Kickoff for Americas
  • 24:00 UTC Wrap up for Americas

Viewing kickoff and wrap up streams

These are the broadcast links for the four transmissions we will have that day (Times in UTC):

Kickoff slides

Joining the Mattermost Chat Room

Possible people

  • Jason Moore (@moorepants), PI at TU Delft working on the LibreTexts/Thebe integration
  • Kevin Rong (@rkevin-arch), student at UC Davis working on the LibreTexts/Thebe integration
  • Noah Sanders (@sandertyu), student at UC Davis working on the LibreTexts/Thebe integration
  • Hao Huang (@narrator0), student at UC Davis working on the LibreTexts/Thebe integration
  • Celine Liang (@celine168), student at UC Davis working on the LibreTexts/Thebe integration
  • @nicolas-desalvio, student at UC Davis using thebelab/widgets in a new textbook
  • Min (@minrk), thebe creator
  • Chris Holdgraf (@choldgraf), Postdoc UCB BIDS, Jupyter Book
  • @joelachance
  • @nthiery
  • @akhmerov

Possible sprint topics

Please add topics to the list below.

@moorepants moorepants added the enhancement New feature or request label Sep 21, 2020
@welcome
Copy link

welcome bot commented Sep 21, 2020

Thanks for opening your first issue here! Engagement like this is essential for open source projects! 🤗

If you haven't done so already, check out EBP's Code of Conduct. Also, please try to follow the issue template as it helps other community members to contribute more effectively.

If your issue is a feature request, others may react to it, to raise its prominence (see Feature Voting).

Welcome to the EBP community! 🎉

@moorepants
Copy link
Collaborator Author

@akhmerov Would you or others you know using Thebelab be interested in participating in this? I have some students back at UC Davis that are working with this.

@akhmerov
Copy link
Collaborator

akhmerov commented Sep 21, 2020

I'll ask around. Is sprint participation free, or does it still require the 150$ jupytercon ticket?

@moorepants
Copy link
Collaborator Author

I guess it would be free for the public to join, as they typically are at other py-* conferences. I don't think they could prevent anyone from communicating with the sprint group during the sprint.

@choldgraf
Copy link
Collaborator

choldgraf commented Sep 21, 2020

It's unclear whether I'll have time for sprints due to my new little whirlwhind of a human :-) but, I think these issues would be valuable for somebody to make progress on as well!

cc also @joelachance in case he is around during JupyterCon and would like to see progress here.

and for what it's worth, the sphinx-thebe extension is also open for improvement during JupyterCon if there are improvements folks wanna see :-)

@joelachance
Copy link
Contributor

I'll do my best to join the sprint, thanks for the callout, @choldgraf!

@moorepants
Copy link
Collaborator Author

moorepants commented Sep 23, 2020

Great. I see now that the sprint is Oct 17th for a 24 hr period. We'd need to select some time slot(s) to work. My students are UTC -7 and I'm UTC +2. Generally this means mornings for them and afternoons/evenings for me for co-working times. But I think they may sit up late too. Are there other timezones to consider besides those two (so far)?

@nthiery
Copy link
Collaborator

nthiery commented Sep 23, 2020 via email

@moorepants
Copy link
Collaborator Author

moorepants commented Sep 29, 2020

I just met with the JupyterCon sprints organizer and have some information to share.

  1. Sprinters should either register for the conference (reg cost) OR register for a sprint ticket (free). Either of these is sufficient to get access to the communication channels for the sprint. Do this before the Oct 12th. The sprint ticket will only give you access to the sprint. Sprint access is included in the conference registration. Register here: https://www.eventbrite.com/e/jupytercon-2020-tickets-109183767588
  2. MatterMost and Cisco WebEx will be used for communication, but have Discord installed as a backup.
  3. A live kickoff will occur via WebEx at 9:00 UTC+2 where I'll give a 5 minute intro to the Thebelab sprint and goals. This will be recorded for viewing by anyone joining the sprint at later times in the day.
  4. There will be a live sprint closing session at 17:00 UTC+2 on WebEx also.
  5. We need to prepare a set of tasks for sprinters. They recommend using "good first issue" and "jupytercon" labels on the relevant repositories. I don't have access to do this, so we'll need some assistance from the owners of this repo.

I think the primary co-working time will be after the closing session 17:00-24:00 UTC+2 (8:00-15:00 PST), as many here are on the west coast of the US. I'll be available at 9:00 UTC+2 to get folks started that join then and depending on the activity can work in the morning, but I will likely take a longer break till 17:00 when I join back in with everyone tuning in from the other side of the pond. If others can help, we could make sure someone is staffed as a sprint leader from 9:00-24:00 UTC+2. Let me know.

If any thebelab devs can help me some beforehand to get some familiarity with issues and such, I'd appreciate that.

@choldgraf
Copy link
Collaborator

I've just invited @moorepants and @akhmerov to have write access on the repo 👍 that should also get you issue labels etc

And just a note that we should call it thebe not thebelab from now on :-)

@moorepants
Copy link
Collaborator Author

Thanks @choldgraf. Sorry about the name. We've been calling it that for so long. Why is is changed, btw?

@choldgraf
Copy link
Collaborator

See #219 for some background/discussion

@akhmerov
Copy link
Collaborator

akhmerov commented Oct 4, 2020

😐

image

@moorepants
Copy link
Collaborator Author

I'll ask them about that. I don't think there should be a limit.

@moorepants
Copy link
Collaborator Author

@cmaureir It looks like the sprint tickets are "sold out". Is there really a cap on these or is this an error?

@cmaureir
Copy link

cmaureir commented Oct 4, 2020

wow, that was fast :O, will do my best so we can open a new available batch.

@cmaureir
Copy link

cmaureir commented Oct 4, 2020

now it should be working.

@joelachance
Copy link
Contributor

sold out again :) Happy to join if I can get in!
Screen Shot 2020-10-08 at 6 13 39 AM

@moorepants
Copy link
Collaborator Author

It isn't clear why they are setting limits to these tickets. Hopefully @cmaureir can open up more?

@cmaureir
Copy link

cmaureir commented Oct 8, 2020

It's quite clear to me, I cannot moderate a 200 people event :)
Will ask again for an extension, but I'm unsure if it will work, otherwise we setup a waiting list and release tickets individually on demand by projects. Will keep you posted.

@moorepants
Copy link
Collaborator Author

Do you need help with moderation tasks? Maybe I can assist?

@cmaureir
Copy link

cmaureir commented Oct 8, 2020

I just added 50 more tickets 👍 and I got some extra hands for that day!
Thanks @moorepants I will totally consider it if something change in the meantime 🎉
@joelachance ☝️

@choldgraf
Copy link
Collaborator

Alternatively is there some way we could specify "satellite" sprints or something? Something that tells people "JupyterCon organizers won't be responsible for managing / supporting questions / etc for this subset of sprints, but if you're interested you should go say hello over there"?

@cmaureir
Copy link

cmaureir commented Oct 8, 2020

The main reason to have this under the tickets is to be able to send all the information regarding the mattermost server and the video call meeting on that day, that we don't want to have publicly available due to avoid 'zoom bombings' or something else. On my experience, not even 50% of the people that enrolled will join, so in case it remains the same, we will do fine, since I got more help from the organization.
I'd say if sprint leads are responsible for their channels on mattermost, I'd say we can keep increasing the available tickets on demand, but I'd not like to set them to unlimited since the numbers can grow a lot.
Additionally, some projects will setup video calls in the middle of the day, using alternative channels like zoom, discord, etc, so you could coordinate something like that for doing some sprint work 👍

@moorepants
Copy link
Collaborator Author

Hi everyone. I've added some information to the top of this issue about the sprint.

I'll create an intro and stream it via their platform at 7:00 UTC to get people started. I'll be available an hour then to help folks get going (or more depending on the activity). I'll come back at 15:00 UTC to wrap up and then kickoff the Americas time slot. Then UC Davis team will join around then and I'll work with them until I run out of steam. So there will be guaranteed activity in the Americas time slot.

I could use some help on things:

  • Identifying what issues need to be labeled "good first issue" and which need to be "labeled "jupytercon". I'll start by labeling the issues people have already mentioned in this thread as "jupytercon". Comment on the issues if they need labels.
  • Some people that would like to take hang in the chatroom during periods between 8:00 UTC and 15:00 UTC, as I will take a break before the evening session. Let me know here if what times you can help with this.
  • If any thebe devs are attending, it would be helpful to know who they are and when they might attend. Getting some intro help to point us in the right directions and answer questions will be helpful.

Ask any questions you have here.

@moorepants
Copy link
Collaborator Author

@Miniland1333, fyi you might like to join us this weekend for this.

@Miniland1333
Copy link
Contributor

I will allocate time to do so, though I may need some help with getting access to the video/text chat since it is coming up soon. I have not dug into this code before and as this is my first sprint I will need some guidance. I would say my strengths for this would be my general familiarity with Javascript and if you need an outsider's opinion on things.

@choldgraf
Copy link
Collaborator

choldgraf commented Oct 15, 2020

Identifying what issues need to be labeled "good first issue" and which need to be "labeled "jupytercon". I'll start by labeling the issues people have already mentioned in this thread as "jupytercon". Comment on the issues if they need labels.

I will try to think of a bit, though I'm probably not well-qualified to know what is hard vs. easy.

If any thebe devs are attending, it would be helpful to know who they are and when they might attend. Getting some intro help to point us in the right directions and answer questions will be helpful.

I think that basically amounts to asking @minrk if he's planning to attend :-) I think one of the goals of this sprint, and immediate future activity for this project, is to try diversifying the number of "thebe devs" out there

@choldgraf
Copy link
Collaborator

(to that point, @rowanc1 may be interested in looping in this?)

@rowanc1
Copy link
Member

rowanc1 commented Oct 15, 2020

Yes, both me and @stevejpurves are planning to attend from iooxa (Steve in Europe and me in the Americas slot). Anything that helps in getting onboarded to the architecture/thoughts behind thebe would be extremely helpful in getting oriented!

@stevejpurves
Copy link
Collaborator

I'll second that! any pointers to warm up appreciated. I'm UTC+1

@choldgraf
Copy link
Collaborator

I wonder if one thing to plan, then, is if @minrk would be willing to give a quick overview of the codebase of thebe, principles behind it, etc - anything that can help folks get oriented and started?

@minrk
Copy link
Collaborator

minrk commented Oct 16, 2020

I'll be around but have to be in and out with childcare and our local dugnad that got scheduled in the middle of the day (UTC+2). I think I can be around for the early parts of both the Europe and Americas slots. I can then come back for a couple of hours after putting the little one to bed around 19:30 UTC+2.

I just landed some updates to the dev docs that should help some folks get started, leaving some wholes such as #249 to be filled out as possible sprint tasks.

To get setup testing, you should be able to do:

npm ci
npm run develop

One of the tasks that is harder but super valuable is updating the jupyterlab dependencies to the latest versions. That might be ambitious for a sprint, though.

@moorepants moorepants added jupytercon20 and removed enhancement New feature or request labels Oct 17, 2020
@moorepants
Copy link
Collaborator Author

I may need some help with getting access to the video/text chat since it is coming up soon.

I think you have to sign up for a sprint ticket. See instructions at the top.

@moorepants
Copy link
Collaborator Author

moorepants commented Oct 17, 2020

@minrk gave us an intro to the codebase and suggested good starting points for the sprint. Edit: I'll post a video of this session as soon as it is processed by zoom. Here is the video:

https://tudelft.zoom.us/rec/share/MLEd739zqm9CoQhSULNrcaXHzRl6Xfjw1WmuVdRQb-EyrUnPDAB5AH3pI2qX2w62.C32w0SjgidcisdjP

Here are the takeaways:

Beginner friendly

  • There is only one test for thebe so far. Adding more would be helpful. For example, add a test that shows syntax highlighting in code mirror is actually enabled. See improve test coverage #228
  • Write docstrings for the functions, etc. in the jsdoc format and have sphinx auto include them, see Add jsdoc docstrings #249
  • Make an examples section of the documentation. and move the content in the examples directory into documentation pages.
  • Add new examples of thebe being used to display from different libraries (matplotlib, ipyleaflet, pythreejs, etc.) Probably a PR per example because some will not work.
  • Add persistence for the server across pages using local storage. See Persist a server connection across pages #224
  • Open issues regarding scenarios in which thebe doesn't work as expected.

Intermediate

Advanced

  • Fixing the jupyter widget kernel <-> frontend connections for libraries with interactive widgets. Jump into the ipyleaflet sprint to ask questions about this, as they are very knowledgeable.

Let me know if I missed anything.

@rowanc1
Copy link
Member

rowanc1 commented Oct 18, 2020

Thanks everyone, especially @moorepants, for the organization of this sprint!!

Might be worth bringing some of the links at the top (like the video) before closing this?

@moorepants
Copy link
Collaborator Author

Thanks everyone for a strong day yesterday!

I think we had 16 PRs, with 12 merged so far. There are some new features, test improvements, documentation improvements, new issues opened. Lots of good stuff!

We had contributions from @Miniland1333, @minrk, @rkevin-arch, @sandertyu, @stevejpurves, @moorepants, @rowanc1, @celine168, @narrator0, Dinu (not sure gh id), @akhmerov, @choldgraf. (hope I didn't miss anyone)

Hopefully many new people have a better idea of how to work with and improve the library. I think we'll see some more activity in the near future.

Might be worth bringing some of the links at the top (like the video) before closing this?

Should I save the video? Zoom will delete it otherwise. I could post on youtube if it is useful.

Congrats and thank you!

@choldgraf
Copy link
Collaborator

choldgraf commented Oct 18, 2020

One question: I'd be happy to help lead a blog post to summarize the sprint. Would folks be interested? I'd love to put it on the executablebooks blog and anywhere else folks would want it cross posted

@moorepants
Copy link
Collaborator Author

Would folks be interested?

Sounds good. If you start it, I can help contribute.

@rowanc1
Copy link
Member

rowanc1 commented Oct 18, 2020

Also happy to contribute!

@akhmerov
Copy link
Collaborator

akhmerov commented May 1, 2021

Just cleaning up the issues. Thanks to everyone who participated!

@akhmerov akhmerov closed this as completed May 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants