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

Jupyter Server Notes 2020 #1

Closed
Zsailer opened this issue Oct 23, 2019 · 74 comments
Closed

Jupyter Server Notes 2020 #1

Zsailer opened this issue Oct 23, 2019 · 74 comments

Comments

@Zsailer
Copy link
Member

Zsailer commented Oct 23, 2019

Hello everyone,

Gitter

Welcome to the Jupyter Server Team!

You can find us in our Gitter chat room or visit us at our weekly meetings!

We meet on Thursdays at 8:00am, Pacific Standard Time on Jupyter's Zoom Channel. You can add yourself to the weekly agenda here. Everyone is welcome!

Let's avoid using this thread for discussion. If you'd like to discuss something in the minutes, open a separate issue and reference this thread.

Meeting Minutes

@Zsailer
Copy link
Member Author

Zsailer commented Oct 23, 2019

October 10th, 2019

Attendees

Add your name to the table below:

Name affiliation username
Zach Sailer Jupyter Cal Poly @Zsailer
Eric Charles Datalayer @echarles
Steven Silvester J.P. Morgan Chase @blink1073
Vidar T Fauske J.P. Morgan Chase @vidartf
Kyle R Kelley Netflix @rgbkrk
M Pacer Netflix @mpacer
Carol Willing Project Jupyter @willingc
Kevin Bates IBM @kevin-bates
Luciano Resende IBM @lresende
Safia Abdalla Microsoft @captainsafia

There were other attendees at the meeting, but they were not added to the list.

Agenda + Minutes

  • Background [name=@Zsailer]

    • Proposal: separate the Python server from the classic Notebook frontend.

    • Motivation: make all Jupyter frontends equal citizens in the eyes of the server.

      • All frontends are a server extension.
      • n frontends to 1 server.
    • Positive Side-effects:

      • Server can evolve for next generation frontends without being constrained by classic notebook (e.g. see Kernel Provider proposal).
      • Jupyter Server becomes a replaceable component. We can explore new implementations of the server.
    • Challenges:

      • What do we do with jupyter/notebook?
      • Migration pains (the APIs and traitlets bases change name).
      • Further confusion for users—where are issues, PRs, bugs, etc. coming from and where should they be reported.
  • Current Progress [name=@Zsailer]

    1. Forked Notebook in July 2018

    2. Notebook + Jupyter Server in sync (Ported ~60 PRs from Notebook).

    3. Jupyter Server frontends

  • [Poll] Community Adoption of Jupyter Server [name=@Zsailer]

    • Discussion topic: ask Jupyter frontends to adopt the ExtensionApp mechanism and depend on jupyter_server for the future.
    • Poll: We should encourage Jupyter frontends to adopt the ExtensionApp mechanism and depend on jupyter_server for the future.
      • Vote:
        • Endorse ++++++
        • Agree with reservation +++
        • Mixed feelings +
        • Disagree but won't block
        • Veto
      • Results and discussion.
  • [Poll] The Future of jupyter/notebook. [name=@Zsailer]

    • Discussion topic: what do we do with jupyter/notebook?
      • Proposed direction 1: next major release (7.x) of jupyter/notebook depends on jupyter_server (and ExtensionApp).
      • Proposed direction 2: fork frontend code in jupyter/notebook to new repo (i.e. jupyter/nbclassic).
    • Poll: Switch jupyter/notebook to depend on jupyter_server (and ExtensionApp) with a major release (7.x).
      • Vote:
        • Endorse +++++
        • Agree with reservation ++
        • Mixed feelings ++
        • Disagree but won't block +
        • Veto
      • Results and discussion.
  • Simple extension example jupyter_server#117

    • Ready for review/merge.
  • Kernel Provider Mechanism

    • Jupyter Kernel Management goal is to decouple kernel from server and rely on a discovery mecanism. The added values:
      1. without changing the notebook config, have multiple providers (each responsible for the kernel lifecycle (async (re)start, terminate…).
      2. Finding the correct provider with a KernelFinder.
    • @takluyver has implemented jupyter_kernel_mgmt and jupyter_protocol repos.
    • jupyter_client is no more used (would be deprecated, to be confirmed...).
    • Various PRs last year(s) to integrate this in notebook and add async features (not merged, deprecated...).
    • Current work is in jupyter_server by @kevin-bates:
    • Impact on downstream projects:
      • `Classic Notebook:`` depends on previous point...
      • JupyerLab: POC to evolve jlab server components to onboard jupyter_server to be discussed on jupyterlab#7310
      • Voila: needs to adapt the exisitng voila server direct interactions with Kernels.
    • Questions:
      • Any others projects interacting with Kernels (via jupyter_client...): nbconvert...?
      • Migrate @takluvyer repos to Jupyter org?
      • Minimum python version for async support: 3.5, 3.6, 3.7?

@Zsailer
Copy link
Member Author

Zsailer commented Oct 23, 2019

October 17th, 2019

Attendees

Name affiliation username
Zach Sailer Jupyter Cal Poly @Zsailer
Vidar T Fauske J.P. Morgan Chase @vidartf
Eric Charles Datalayer @echarles
Kevin Bates IBM @kevin-bates
Luciano Resende IBM @lresende

There were other attendees at the meeting, but they were not added to the list.

Agenda + Minutes

  • Plan to transition jupyter/notebook to depend on jupyter_server.

    • Build a notebook (jupyter) server extension.
    • Shim the notebook APIs
    • Make the PR branch into a temporary package for side-by-side testing ("nbclassic"? "nbclassic-temp"?)?
    • Release a major notebook (7.x?) release with shims + warnings
    • Release a major notebook (8.x?), dropping notebook server APIs
    • Switch JupyterLab to jupyter_server
  • Jupyter Authorized Server

  • Kernel Provider Mechanism

    • Jupyter Kernel Management goal is to decouple kernel from server and rely on a discovery mecanism. The added values:

      1. without changing the notebook config, have multiple providers (each responsible for the kernel lifecycle (async (re)start, terminate…).
      2. Finding the correct provider with a KernelFinder.
    • @takluyver has implemented jupyter_kernel_mgmt and jupyter_protocol repos.

    • jupyter_client is no more used (would be deprecated, to be confirmed...).

    • Various PRs last year(s) to integrate this in notebook and add async features (not merged, deprecated...).

    • Current work is in jupyter_server by @kevin-bates:

    • Impact on downstream projects:

      • `Classic Notebook:`` depends on previous point...
      • JupyerLab: POC to evolve jlab server components to onboard jupyter_server to be discussed on jupyterlab#7310
      • Voila: needs to adapt the exisitng voila server direct interactions with Kernels.
    • Questions:

      • Any others projects interacting with Kernels (via jupyter_client...): nbconvert...?
      • Migrate @takluvyer repos to Jupyter org?
      • Minimum python version for async support: 3.5, 3.6, 3.7?
    • Follow up with nb_conda_kernels

  • Quick demo (5 minutes) of Classic Notebook and JupyterLab (Core) as Server Extension with Kernel Management based on:

  • JupyterLab

    • [DISCUSS] Remove notebook dep from jupyterlab and jupyterlab_server jupyterlab#7310.
    • [NEXT MEETING] Need also to discuss on the handlers currently in jupyterlab repo (which could be in jupyterlab-server - Other option is to merge jupyterlab-server into juptyerlab).

@Zsailer
Copy link
Member Author

Zsailer commented Oct 24, 2019

October 24th, 2019

Attendees

Name affiliation username
Zach Sailer Jupyter Cal Poly @Zsailer
Kevin Bates IBM @kevin-bates
Eric Charles Datalayer @echarles
Afshin Darian Two Sigma @afshin
Steve Silvester AWS @blink1073
Vidar Tonaas Fauske J.P.Morgan Chase @vidartf

Agenda + Minutes

  • [name=Zsailer] Notebook Shim

  • [name=Zsailer] Roadmap (items are listed in order of priority).

    • Rename notebook_shim to nbclassic.
      • a notebook ExtensionApp (from jupyter_server).
      • pulls Notebook JS and templates from notebook.
      • execute from command line with jupyter nbclassic
      • migrates configuration to jupyter_server_config.
    • Update Jupyter Server JEP to reflect new nbclassic.
    • Merge Kernel Providers
      • Move jupyter_kernel_mgmt, jupyter_protocol to Jupyter's Github org.
      • Documentation for Kernel Providers, jupyter_kernel_mgmt and jupyter_protocol.
      • Merge Kernel Providers into jupyter_server: Kernel providers jupyter_server#112.
      • Help voila adjust to kernel_mgmt
      • Release jupyter_server with Kernel Providers
      • Helpnb_conda_kernels switch to Kernel Providers.
        • They currently have an old version of Kernel Provider.
        • nb_conda_kernels tries to import Kernel Providers. If found, uses the new kernel management framework. Otherwise, falls back to old way.
    • Transition JupyterLab to Jupyter Server, dropping notebook as a dependency.
      • Uses nbclassic to run notebook and lab side-by-side.
    • Notebook 7.x: transition jupyter/notebook to Jupyter Server
      • drop the old notebook server
      • NotebookApp becomes
      • shim the notebook server API to jupyter_server
      • raise DeprecationWarnings in shimmed APIs.
      • release notebook 7.x
    • Notebook 8.x: drop shims.
  • JupyterLab team meeting

    • Dec 2nd-6th, Austin, TX.
    • Push to JLab 2.0
    • JLab 2.0 won't switch to Jupyter Server
    • As soon as JLab 2.0 is out, Jlab 3.0dev should switch JS immediately
      • 6 months of testing JupyterLab on Jupyter Server.
    • Zach is planning to work on Jupyter Server, Notebook 7.0, JupyterLab-to-JS that whole week.
  • Kernel Provider PR

    • Question: How does this affect custom KernelManagers, e.g. nb_conda_kernels?
      • It won't crash anything 🎉
      • KernelManagers are not configurable anymore.
      • The new kernel managment mechanism with ignore custom KernelManagers.
      • Custom KernelManagers will need transition to the new Kernel Providers framework.

@Zsailer Zsailer pinned this issue Oct 24, 2019
@Zsailer
Copy link
Member Author

Zsailer commented Nov 4, 2019

October 31st, 2019

Attendees

Name affiliation username
Zach Sailer Jupyter Cal Poly @Zsailer
Kevin Bates IBM @kevin-bates
Eric Charles Datalayer @echarles

Agenda + Minutes

  • [name=Zsailer] Jupyter Home
    • "Desktop" for many Jupyter Frontends.
    • Discovers Jupyter frontends and shows them in one panel.
  • Bugs to fix.
  • Switch test framework to pytest.
    • Since the fork from jupyter/notebook, we've never really revisited the tests. We need to give them some attention.
    • Current test framework (nose) is brittle.
    • Pytest is more arguably readable
    • Pytest fixtures + pytest-tornado alleviate some of the issues with runnning tests locally.
    • Zach will spend this next week refactoring tests to pytest. Gives him a chance to make sure all tests make sense in jupyter_server.

@Zsailer
Copy link
Member Author

Zsailer commented Nov 7, 2019

November 7th, 2019

Attendees

Name affiliation username
Zach Sailer Jupyter Cal Poly @Zsailer
Kevin Bates IBM @kevin-bates
Luciano Resende IBM @lresende
Brian Granger AWS @ellisonbg
Eric Charles Datalayer @echarles

Agenda + Minutes

@vidartf
Copy link
Member

vidartf commented Nov 14, 2019

The time for the meeting seems to be different in the calendar and the README. Which one is the right one? I was there at 8 PST with @blink1073. 😕

@ellisonbg
Copy link

ellisonbg commented Nov 14, 2019 via email

@kevin-bates
Copy link
Member

Yeah, sorry for the inconvenience: jupyter-server/jupyter_server#111 (comment)

@vidartf
Copy link
Member

vidartf commented Nov 15, 2019

Sure, that's ok. There's still a discrepancy between the readme and calendar though :)

@echarles
Copy link
Member

@vidartf The README points to Thursdays at 8:00am, Pacific as written in the initial comment. When I click on the link I receive the following which I think is correct (worked for me last week).

Screenshot from 2019-11-15 11-06-11

@vidartf
Copy link
Member

vidartf commented Nov 15, 2019

@echarles Yes, and the jupyter calendar says 7 am pacific

@echarles
Copy link
Member

oh I see... @Zsailer can you update the jupyter calendar to 8am pacific so west coast participants have their minimal required coffee :)

@Zsailer
Copy link
Member Author

Zsailer commented Nov 15, 2019

Fixed :) Sorry, y'all. The discrepancy came from a recent day light savings change here.

@echarles
Copy link
Member

Thx Zach. Searched a bit on DST Google Calendar recurring event and not clear if Google supports automatically the changes. Otherwise, someone has to schedule in his calendar to update the calendar...

@Zsailer
Copy link
Member Author

Zsailer commented Dec 5, 2019

November 21st, 2019

Attendees

Name affiliation username
Zach Sailer Jupyter @Zsailer
Kevin Bates IBM @kevin-bates
Eric Charles Datalayer @echarles

Agenda + Meeting

@Zsailer
Copy link
Member Author

Zsailer commented Dec 5, 2019

December 5th, 2019

Attendees

Add your name to the table below:

Name affiliation username
Zach Sailer Jupyter @Zsailer
Kevin Bates IBM @kevin-bates
Luciano Resende IBM @lresende
Eric Charles Datalayer @echarles
JupyterLab dev-meeting attendees * *

Agenda + Minutes

  • [name=Zach] Server testing update - all tests converted to pytest, updating relative to 3.5 support - json encoding and pathlib issues being worked out, then ready for merge.
  • [name=Zach] Preparing for 0.2.0 release. Working on tests and docs with @echarles.
  • [name=Kevin] Kernel provider update - jupyter_kernel_mgmt release 0.5 was cut. Should try to add support for 3.5 (no known issues for that). Discovered that KernelApp had not been converted to the new framework.
  • [name=Steve] Briefly discussed how parameterized kernel launch would be helpful for creating/seeding environments.
  • [name=general] Briefly discussed content services acting on URIs and how it would be cool to convey the CS URI to kernels (local or remote) that can then gain access to content.

@Zsailer
Copy link
Member Author

Zsailer commented Jan 2, 2020

January 2nd, 2020

Attendees

Add your name to the table below:

Name affiliation username
Zach Sailer Jupyter @Zsailer
Eric Charles Datalayer @echarles
Kevin Bates IBM @kevin-bates

Agenda + Minutes

@Zsailer
Copy link
Member Author

Zsailer commented Jan 9, 2020

January 9th, 2020

Attendees

Add your name to the table below:

Name affiliation username
Zach Sailer Jupyter @Zsailer
Eric Charles Datalayer @echarles
Kevin Bates IBM @kevin-bates

Agenda + Minutes

  • JupyterLab to use Jupyter Server

    • Unit tests to migrate.
    • Status of jupyter_server pytest plugin?: Should we drop appveyor/travis and rely on github actions to avoid false negatives?
      • Zach is going to investigate the test failures further
      • Kevin brought up that conda envs might be the issue in appveyor.
  • Authorization layer in Jupyter Server

    • Short overview of design
    • Demo from Zach
    • Explore notion of "denial" from Microsoft.
    • Discussion and review happening here.
  • Styling/Formatting

    • Zach reverted styling until Kernel Providers are merged.
    • We need to choose a styling tool... propose black?
    • Add CI that lints formatting.
  • Overview of Branching

    • Make sure we're on the same page with #163
    • We'll have to backport bugfixes.
    • Merge #163.
  • Review Jupyter Server 0.3.0 Roadmap

    • Discuss tentative release date.
    • Goals for 0.3.0
      • Kernel Providers.
      • Authorization (see below).
  • Proposal in nbclassic for Migration of notebook extension definitions to jupyter_server

    • Feedback welcome before starting development.
  • Examples PR latest comment

    • Current issues:
      • Configuration is not taken into account jupyter simple-ext1 --SimpleApp1.configA "ConfigA from command line" does not show up in the config.
      • ExtensionAppJinjaMixin does not call both _prepare_templates method with consequence that templates are not available in the settings - PR removes the Mixin, TBD maybe in a separated PR?
      • jupyter simple-ext11 --generate-config fails with "The ExtensionApp has not ServerApp ".
    • Waiting a bit on @Zsailer feedback before opening separated issues for these.

@Zsailer
Copy link
Member Author

Zsailer commented Jan 21, 2020

January 16th, 2020

Attendees

Name affiliation username
Zach Sailer Jupyter @Zsailer
Eric Charles Datalayer @echarles
Kevin Bates IBM @kevin-bates

Agenda + Minutes

@Zsailer
Copy link
Member Author

Zsailer commented Jan 21, 2020

Hi everyone (specifically, @echarles and @kevin-bates)

I'm going to be unavailable for this week's meeting—I propose we cancel. Let's meet again next week, January 30th.

Thanks!

@Zsailer
Copy link
Member Author

Zsailer commented Jan 30, 2020

January 30th, 2020

Name affiliation username
Zach Sailer Jupyter @Zsailer
Kevin Bates IBM @kevin-bates
Luciano Resende IBM @lresende
Eric Charles Datalayer @echarles
Vidar T. Fauske JPMorgan Chase @vidartf

Agenda + Minutes

  • [name=Kevin] When to extend vs. subclass?

    • E.g., a "hypothetical" Kernel Server doesn't want any of the content-related services exposed, how to disable via extension?
    • Should we have "required services" (auth, api, config, security) and "optional services" (kernels, contents, edit, view, etc.) and remove assumption everything is present?
    • Perhaps "extend" means just that - adding functionality. While "subclassing" transforms the existing functionality?
  • Outcome: Kevin will create an issue that enables discussion about how we might go about adding "optional" services, along with those that would be "required". However, the one requirement is that Jupyter Server include all of today's services by default since that's what users expect.

  • [name=Kevin] Discuss preventing merge commits?

    • These don't appear to provide any meaninful value and make feature and change management difficult.
    • Propose we only allow 'rebase merge' for single-commit PRs, and 'squash merge' for multi-commit PRs.
  • Outcome: There were good arguments for allowing merge commits, as well as rebase and squash. We decided to leave the merge mechanism to the discretion of the maintainer which will consider the "quality and context" of the commits.

@Zsailer
Copy link
Member Author

Zsailer commented Feb 6, 2020

February 6th, 2020

Name affiliation username
Zach Sailer Jupyter @Zsailer
Kevin Bates IBM @kevin-bates
Luciano Resende IBM @lresende
Afshin Darian Two Sigma @afshin

Agenda + Minutes

  • [name=Kevin] Service composition (continued)
    • Implementations: Subclasses, Mixins, CLI Options
    • Headless operations (KernelsAAS, ContentsAAS, etc)?
    • Kevin's going to start a new branch trying out the Mixin approach.
  • [name=Kevin] Multi-user in Server?
    • Jupyter Server should be a "user-quantity agnostic server"—this phrase sounds legit 😆 @Zsailer.
    • Propose to add a Session ID that services can use to identify the current "user".
      • session id is in every REST call.
      • @afshin:
        • Name a session cookie
        • First request gets/creates that session cookie.
        • All later requests expect that session cookie.
        • Give every service/handler the ability to read that named session cookie.
        • Pass through the auth headers in each request.
    • Introduce "multitude-ness" (great word, created by @kevin-bates 😎) in Contents Managements?
      • Add the ability to start multiple different contents managers (each tied to specific session).
      • Later, add multiple contents "providers"—contents that are served from anywhere (local or remote).

@Zsailer
Copy link
Member Author

Zsailer commented Feb 13, 2020

February 13th, 2020

Attendees

Name affiliation username
Zach Sailer Jupyter Cal Poly @Zsailer
Kevin Bates IBM @kevin-bates
Eric Charles Datalayer @echarles
A. T. Darian Two Sigma @afshin
Luciano Resende IBM @lresende
Vidar T Fauske J.P. Morgan Chase @vidartf

Agenda + Minutes

  • [name=Eric] ExtensionHandler as Mixin
  • [name=Zach] NBClassic needs attention.
    • In my mind, nbclassic is a blocker for wide jupyter_server adoption.
    • I'm planning to devote a week sprinting on this nbclassic (2/24-2/28).
    • I will bring a "roadmap" for nbclass to next jupyter_server meeting.
  • Continued discussion on Multi-Contents Management / Providers
    • Next step: identify who the stakeholders might be and start the discussion.
    • Multiple stakeholders are definitely interested.
    • There are multiple custom Contents Services in the wild:

@Zsailer
Copy link
Member Author

Zsailer commented Feb 20, 2020

Hi all, I apologize for the super late notice. I can't make it to today's meeting—I had to reschedule a student intern interview last minute during the Server meeting time. I propose we cancel today's meeting.

I will post my NBClassic "roadmap" (mentioned above) in a few hours. As I mentioned last week, my plan to sprint on NBClassic all next week. We can open discussion there if anyone is interested in participating in that sprint.

Thanks, all! Have a great weekend!

@kevin-bates, @echarles, @vidartf, @lresende, @afshin

@Zsailer
Copy link
Member Author

Zsailer commented Feb 27, 2020

February 27th, 2020

Attendees

Name affiliation username
Kevin Bates IBM @kevin-bates
A. T. Darian Two Sigma @afshin
Eric Charles Datalayer @echarles
Zach Sailer Jupyter Cal Poly @Zsailer
Max Klein JP Morgan @telamonian
Vidar T Fauske JP Morgan @vidartf

Agenda + Minutes

  • [name=eric]

  • [name=Zach] NBClassic Progress

    • Design for Traitlets Shim
    • Current Logic in PR 7
    • Current Question:
      • How do we handle traits with the same name in two extensions?
        • Previously, these trait values were inherited across multiple Traitlets objects
        • Steps to transitoin:
          1. Raise a warning for developers to make sure redundancy is on purpose. Add legacy-mode to "opt-in" to old behavior?
          2. Raise a warning for users that traits are no longer shared.
  • [name=Max]

@Zsailer
Copy link
Member Author

Zsailer commented Mar 5, 2020

March 5th, 2020

Attendees

Name affiliation username
Zach Sailer Jupyter Cal Poly @Zsailer
Kevin Bates IBM @kevin-bates
Luciano Resende IBM @lresende
Eric Charles Datalayer @echarles
A. T. Darian Two Sigma @afshin
David Brochart QuantStack @davidbrochart

Agenda + Minutes

@Zsailer
Copy link
Member Author

Zsailer commented Mar 9, 2020

For those of you in the US, the meeting time is now an hour later (9am PST) due to daylight savings. We can talk about shifting the meeting time for future meetings if this proves to be inconvenient for too many people.

@echarles
Copy link
Member

The README still mentions 8am PST. Should this be changed?

@Zsailer
Copy link
Member Author

Zsailer commented Mar 16, 2020

March 12th, 2020

Attendees

Name affiliation username
Zach Jupyter Cal Poly @Zsailer
Kevin Bates IBM @kevin-bates
Eric Charles Datalayer @echarles
David Brochart QuantStack @davidbrochart
Vidar T Fauske JPMorgan Chase @vidartf

Agenda + Minutes

@Zsailer
Copy link
Member Author

Zsailer commented Sep 3, 2020

September 3rd, 2020

Attendees

Name affiliation username
Zach Jupyter Cal Poly @Zsailer
Steve AWS @blink1073
Eric Datalayer @echarles
Kevin IBM @kevin-bates
Vidar JPMChase @vidartf

Agenda + Minutes

@kevin-bates
Copy link
Member

kevin-bates commented Sep 17, 2020

September 10th, 2020

Attendees

Name affiliation username
Zach Jupyter Cal Poly @Zsailer
Kevin IBM @kevin-bates
Eric Datalayer @echarles
Luciano IBM @lresende
Steve AWS @blink1073
Darian Two Sigma @afshin
Vidar JP Morgan Chase @vidartf

Agenda + Minutes

@kevin-bates
Copy link
Member

September 17th, 2020

Attendees

Name affiliation username
Kevin IBM @kevin-bates
Eric Datalayer @echarles
Darian Two Sigma @afshin

Agenda + Minutes

@kevin-bates
Copy link
Member

September 24th, 2020

Attendees

Name affiliation username
Kevin IBM @kevin-bates
Eric Datalayer @echarles
Darian Two Sigma @afshin
Vidar JPMChase @vidartf

Agenda + Minutes

  • [name=Kevin]
    • More Kernel Provider concerns - "Notebook file" compatibility with other apps (not using KP)

@kevin-bates
Copy link
Member

October 22nd, 2020

Attendees

Name affiliation username
Kevin Bates IBM @kevin-bates
Eric Charles Datalayer @echarles
Vidar T Fauske JPMorgan Chase @vidartf
Afshin Darian Two Sigma @afshin
Gonzalo Peña-Castellanos Quansight @goanpeca

Agenda + Minutes

  • Update the Zoom Link in the README, meeting issue, and meeting notes.

  • Discussed whether to proceed with weekly meetings for the time being and decided to continue holding the weekly meeting. Kevin will be present, record minutes, and update the corresponding repo issue.

  • What is the next step after the closing of Kernel Provider JEP?

    • We discussed some alternatives, like abstracting the Popen layer so authors could plugin their own functionality to manage the kernel process in, say, Kubernetes, Hadoop YARN, etc.
    • Discovery may be a harder issue to resolve. One idea brought up would be to introduce the idea of addtional KernelSpecManagers that jupyter_client would then call upon to produce the set of avaiable kernelspecs.
    • We talked about the need to embrace the kernelspec fomat used today and try to extend that (as is the case today).
  • Gonzalo brought up the idea of moving the localization framework currently in jupyterlab_server into jupyter_server. The team agreed this sounded like a good idea. There may be some concern relative to nbclassic localization, but that shouldn't deter this progress.

@kevin-bates
Copy link
Member

October 29th, 2020

Attendees

Name affiliation username
Kevin Bates IBM @kevin-bates
Zach Sailer Apple @Zsailer
Josh Hamet Twitter @jhamet93
Mariko Wakabayashi Twitter @mwakaba2

Agenda + Minutes

@kevin-bates
Copy link
Member

November 5th, 2020

Attendees

Name affiliation username
Kevin Bates IBM @kevin-bates
Zach Sailer Apple @Zsailer
Gonzalo Peña-Castellanos Quansight @goanpeca
Eric Charles Datalayer @echarles

Agenda + Minutes

  • [Zach] Discourse post announcing Jupyter Server

  • [Kevin] pytest-jupyter repo - pytest fixture base_url conflict with pytest_base_url jupyter_server#322

    • add docs to pytest-jupyter
    • release pytest-jupyter (plugins: jupyter_core, jupyter_server)
    • update lab tests with jp_ fixture prefix
    • remove jupyter_server/pytest-plugin.py
  • [Eric] We have discussed in last Jupyter RTC meeting to add Authentication and Authorization in Jupyter Server core

    • It was suggested that we start sketching out ideas surrounding "identity management" and assess what kinds of overlap we might have with Hub's authentication/authorization capabilities, with the idea that perhaps those be shared and maintained separately.
    • Eric brought up that Hub's current authoriziation model is essentially "admin"/"not admin" at that we'd want to introduce finer-grained support.

@willingc
Copy link

willingc commented Nov 5, 2020

@kevin-bates @Zsailer what is the rationale for moving jupyter-server to its own org?

If this does happen, please announce beyond JupyterLab to all orgs including nteract.

@Zsailer
Copy link
Member Author

Zsailer commented Nov 5, 2020

Hi @willingc 😄

My apologies for not being clear in the notes above. We aren't moving the repo this week. Instead, we're drafting a discourse post to:

  1. announce the first major release of Jupyter Server
  2. propose to move jupyter_server to this new org.

Discourse will (hopefully) reach a broad audience (including nteract).

In short I shared this idea in the JupyterLab meeting and received the same feedback you gave—we need to announce this change more broadly so that other teams are aware of this change. We settled on posting to discourse. I'm working on that post now 😃 Does that seem reasonable to you?

what is the rationale for moving jupyter-server to its own org?

I think there are a few advantages to making jupyter-server its own org:

  1. Team-compass: perhaps the most compelling reason is that jupyter_server (and related projects) has gained enough momentum (regular meetings, multiple active team members, active discussion on future ideas+maintenance, etc.) to create a team-compass repo for team management. Organizing the team in this manner would greatly benefit those involved.

  2. Reduce friction for server-side sub projects: we have worked / are working on subprojects related to jupyter_server, but we don't have a "home" for these projects. Moving them into the jupyter github org isn't plausible, but leaving them under personal namespaces doesn't make sense either. Centralizing these experimental projects and having a team-compass page to track their discussion would be helpful.

  3. Governance: the current direction of the new Jupyter governance model suggests that subprojects will be given a "vote" in ecosystem-wide decisions. I think jupyter_server is emerging as a key component in the ecosystem and might be given one of these votes (?). Before that happens, I think it would be useful to have a home for open+clear+transparent discussion in place. My goal would be that the jupyter-server org/team provide high quality documentation, messaging, and regular updates about all things happening around server.

I'd love feedback on these ideas! We're doing our best to keep the Jupyter community up-to-date on jupyter_server's roadmap/future, though this can be challenging as we all know :)

@willingc
Copy link

willingc commented Nov 5, 2020

Thanks @Zsailer. Was great to see you the other morning at the RTC meeting.

@Zsailer
Copy link
Member Author

Zsailer commented Nov 5, 2020

🎉 Here's the discourse post announcing Jupyter Server and jupyter-server org 🎉
https://discourse.jupyter.org/t/jupyter-server-1-0-and-the-new-jupyter-server-github-org/6657

@meeseeksmachine
Copy link

This issue has been mentioned on Jupyter Community Forum. There might be relevant details there:

https://discourse.jupyter.org/t/jupyter-server-1-0-and-the-new-jupyter-server-github-org/6657/1

@kevin-bates
Copy link
Member

kevin-bates commented Nov 12, 2020

November 12th, 2020

Attendees

Name affiliation username
Kevin Bates IBM @kevin-bates
Zach Sailer Apple @Zsailer
Steve Silvester Apple @blink1073
A. T. Darian Two Sigma @afshin
Vidar T Fauske JPMorgan Chase @vidartf
Eric Charles Datalayer @echarles
Gonzalo Peña-C Quansight @goanpeca

Agenda + Minutes

@Zsailer Zsailer transferred this issue from jupyter-server/jupyter_server Nov 19, 2020
@Zsailer Zsailer pinned this issue Nov 19, 2020
@Zsailer
Copy link
Member Author

Zsailer commented Nov 19, 2020

November 19th, 2020

Attendees

Name affiliation username
Kevin Bates IBM @kevin-bates
Zach Sailer Apple @Zsailer
Jeremy Tuloup QuantStack @jtpio
A. T. Darian Two Sigma @afshin

Agenda + Minutes

  • [Kevin]

    • PRs released to prefix fixtures and removed previous plugin and entrypoint (Thanks to Nick Bollweg - @bollwvyl!). Release 1.0.6 (thanks Zach) can be used by apps using the non-prefixed fixtures.
    • Release 1.1 will be coming out soon. We need to get a patch into lab's test framework for prefixing the server-related fixtures prior to the release
    • I will be looking at the async contents PR (Asynchronous Contents API jupyter_server#324)
      • Would be good if others could check this out as well
    • Ported a couple more Notebook PRs, plenty to go still
    • I will be out starting 12/2 through 1/3 - Happy New Year - good riddance 2020!
  • [Jeremy]

    • Should nbresuse move to jupyter-server?
      • Yes. We will move to the jupyter-server org with a long-term goal of baking into the server and "closer" to kernels
  • [Zach]

    • Added steering council members as managers of jupyter-server org.
    • Move Jupyter Server to new org in this meeting, today!
    • Done! 🎉

@kevin-bates
Copy link
Member

kevin-bates commented Dec 3, 2020

December 3rd, 2020

Attendees

Name affiliation username
Pierre-Olivier Simonard ioapps.io / Quansight @pierrotsmnrd
Zach Sailer Apple @Zsailer
Kevin Bates IBM @kevin-bates
Mariko Wakabayashi @mwakaba2

Agenda + Minutes

  • Async ContentsManager PR #324
    • needs a bit more testing before review.
    • will work on documentation for how to use
  • Extension discovery for Python-based extensions Issue #351
    • Group was generally on board with using entrypoints as a discovery mechanism.
    • Would solve our issues with dev mode + data_files install.
    • Currently, data_files don't get installed in dev mode by default in setuptools. Jupyter packaging tries to address this issue. It moves data_files properly on dev install; however, it doesn't remove them when dev mode is uninstalled.
  • Move nbclassic to jupyter-server org? Yes. Will mention in next week's JupyterLab meeting.

@Zsailer
Copy link
Member Author

Zsailer commented Dec 10, 2020

December 10th, 2020

Attendees

Name affiliation username
Zach Sailer Apple @Zsailer
Kevin Bates IBM @kevin-bates

Agenda + Minutes

  • Backport #340 to 1.0.x branch.
  • Move pytest_plugin back into Jupyter Server from pytest-jupyter.
    • Open a PR in jupyter_core with the fixtures that are jupyter_core specific.
    • We don't need to wait for the jupyter_core side. We'll include a duplicate of those fixtures in Jupyter Server temporarily, then remove later.
  • Plan to release 1.1 Friday.
    • Merge Async Contents changes (#324) today.
    • Merge pytest_plugin work today.
    • Release 1.1 by tomorrow, EOD (pacific).
    • Bump jupyter_server version in JupyterLab and JupyterLab Server.

@Zsailer
Copy link
Member Author

Zsailer commented Dec 11, 2020

🎉 Next Thursday is our last meeting of the year! 🎉 (After that, it's Christmas Eve 🎅 and New Year's Eve).

Wear your ugly holiday sweater is you have one! 😉

@Zsailer
Copy link
Member Author

Zsailer commented Dec 17, 2020

December 17th, 2020

Attendees

Name affiliation username
Zach Sailer Apple @Zsailer
A. T. Darian Two Sigma @afshin
Jeremy Tuloup QuantStack @jtpio
Kevin Bates IBM @kevin-bates
Vidar T Fauske JP Morgan @vidartf

Agenda + Minutes

  • Deprecated the pytest-jupyter plugin.
    • Jupyter Server has its own pytest_plugin now.
    • Documentation on this plugin will be added to the jupyter_server docs.
    • Pytest-jupyter might become a "best practices" page for pytest around Jupyter.
  • Released 1.1.1 patch yesterday.
  • Notebook server and jupyter server extensions in one dist? Update to Jupyterlab 3.0 jupyter/nbdime#551
    • Server extensions should be both forwards and backwards compatible.
      • Jupyter Server's new JupyterHandler currently works with classic notebook server.
      • Notebook's IPythonHandler works with Jupyter Server.
  • Min's student, Kien, is working Telemetry in Jupyter Server.
    • Concerns about posting to /api/endpoint.
    • Posting events to the server without properly checking who "owns" the event seems like a problem.
  • Published jupyter-resource-usage to PyPI

@Zsailer Zsailer changed the title Jupyter Server Meeting Minutes Jupyter Server Notes 2020 Dec 17, 2020
@Zsailer
Copy link
Member Author

Zsailer commented Dec 17, 2020

I've opened a new issue for meeting notes in 2021. Let's leave this issue open through January 2021, then close it.

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

No branches or pull requests

7 participants