<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Jupyter Blog - Jupyter Server</title><link href="https://jasongrout.github.io/medium-archive/pelican/" rel="alternate"/><link href="https://jasongrout.github.io/medium-archive/pelican/feeds/tag-jupyter-server.atom.xml" rel="self"/><id>https://jasongrout.github.io/medium-archive/pelican/</id><updated>2023-02-01T18:20:00+00:00</updated><subtitle>The Project Jupyter blog: news, releases, and community stories, archived from blog.jupyter.org.</subtitle><entry><title>Introducing Jupyter Scheduler</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/" rel="alternate"/><published>2022-12-14T15:26:00+00:00</published><updated>2023-02-01T18:20:00+00:00</updated><author><name>Jason Weill</name></author><id>tag:jasongrout.github.io,2022-12-14:/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/</id><summary type="html">&lt;p&gt;The Open Source Jupyter team at AWS is proud to announce the release of Jupyter Scheduler, a JupyterLab extension that can run your Jupyter…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;The Open Source Jupyter team at AWS is proud to announce the release of &lt;a href="https://github.com/jupyter-server/jupyter-scheduler/"&gt;Jupyter Scheduler&lt;/a&gt;, a JupyterLab extension that can run your Jupyter notebooks in the background. Jupyter Scheduler was developed from the start as an open-source project under the umbrella of the Jupyter project and governance. You can set up your notebooks to run once or on a schedule. By default, Jupyter Scheduler runs notebooks on your local system where Jupyter Server is installed; you can also extend the scheduler to run your notebooks in the cloud, on an on-premise cluster, on JupyterHub, or even on supercomputers.&lt;/p&gt;
&lt;p&gt;We hope you’ll find Jupyter Scheduler useful for running notebooks periodically, such as daily or weekly reports. You can install it in JupyterLab by running &lt;code&gt;pip install jupyter_scheduler&lt;/code&gt;, then restarting JupyterLab. You can create &lt;strong&gt;jobs&lt;/strong&gt; (single runs of an individual notebook) and &lt;strong&gt;job definitions&lt;/strong&gt; (scheduled recurring notebook jobs) in two ways. You can right-click on a notebook in the file browser and choose “Create Notebook Job” from the context menu, or you can use the new toolbar button in an open notebook file.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of the file browser showing the context menu for a notebook" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/001-1_nUcvmd-_anAtX4rT5MGPfA.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;When you right-click on a notebook file in the file browser, a “Create Notebook Job” option appears in the context menu.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of a notebook showing a “Create Notebook Job” button in the toolbar" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/002-1_OOLLSTNnsaCLnX_g46Rq9A.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;In a notebook, the “Create Notebook Job” option appears on the right of the toolbar.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;You can give your notebook job or job definition a name, choose an environment to run it in, select different output formats, and provide parameters that are set as local variables when your notebook gets executed. This parameterized execution is similar to &lt;a href="https://papermill.readthedocs.io/en/latest/"&gt;Papermill&lt;/a&gt;; Jupyter Scheduler provides a UI for managing and accessing the outputs of your notebook jobs inside JupyterLab.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of the Create Job form with sample input values provided" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/003-1_YGJD3HWvIenbouO7R8bJYg.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;You can use the Create Job form to run a notebook once or to create a job definition that runs on a schedule.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In addition, if you select “Run on a schedule,” you can run your job on a recurring schedule. The scheduler provides a few useful shortcuts to, for example, run your notebook at a specified interval by the minute, hour, day or week. You can also specify a custom schedule in &lt;a href="https://www.man7.org/linux/man-pages/man5/crontab.5.html"&gt;crontab format&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of the “run on a schedule” user interface in the Create Job form, with the “weekday” interval selected" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/004-1_TxAfPAOcW65yMfvmMiCi9A.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;You can schedule a job definition using preset intervals, such as every weekday.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of the “run on a schedule” user interface in the Create Job form, with the custom schedule” interval selected" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/005-1_pBEzuVXkDtPiopR_5DxQsA.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;You can also select “custom schedule” and specify a cron expression for the notebook job definition’s schedule.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Once you’ve created a job or job schedule, you can use the “Notebook Jobs” icon on the launcher to view lists of jobs and job definitions. Each item’s name links to a detail view.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of JupyterLab launcher showing “Notebook Jobs” button in the “Other” section" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/006-1_Bwbm_RIsRiZz-zfCsv43Hg.webp" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;With the Jupyter Scheduler extension installed, JupyterLab’s launcher screen shows a “Notebook Jobs” button in the “Other” section. Click on it to view a list of jobs or job definitions.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of the List Notebook Jobs view, showing many jobs, with links and information for each" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/007-1_RqogrC-XJlQLQhDJ-wml6A.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The list view shows a list of notebook jobs and a list of notebook job definitions. Each one includes links to view details, to download files, and buttons to take quick actions on them.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img alt="Screen shot of the Job Detail view, showing additional information and controls for a single job" src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/008-1_BpShpinXD9ifmkfzeT30Cg.jpeg" loading="lazy" data-body-image=""&gt;
&lt;figcaption&gt;The Job Detail view shows all available details for one job or one job definition.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;When one of your jobs has completed, you can download its files from the list or detail view. When your notebook runs, the scheduler saves a copy of the input file, so that even if you later change the file, it captures the state of the notebook at the time your job ran. Jupyter Scheduler uses unique names for the input and output files so that rerunning the same notebook produces new files every time.&lt;/p&gt;
&lt;p&gt;Jupyter Scheduler uses a REST API to create, update, delete and manage jobs and job definitions. You can also customize Jupyter Scheduler by plugging in your own scheduler class, for example, to replace the existing SQLite database or to run jobs in the cloud. AWS SageMaker Studio actually uses Jupyter Scheduler, with custom classes, as part of its automated notebooks feature, &lt;a href="https://aws.amazon.com/blogs/aws/next-generation-sagemaker-notebooks-now-with-built-in-data-preparation-real-time-collaboration-and-notebook-automation/"&gt;announced&lt;/a&gt; earlier this year. See the &lt;a href="https://jupyter-scheduler.readthedocs.io/en/latest/operators/index.html"&gt;Jupyter Scheduler operator documentation&lt;/a&gt; for more information about how to write and use your own scheduler.&lt;/p&gt;
&lt;p&gt;We’d love to hear what you think about Jupyter Scheduler! You can check out &lt;a href="https://jupyter-scheduler.readthedocs.io/"&gt;Jupyter Scheduler’s documentation on ReadTheDocs&lt;/a&gt;. Please &lt;a href="https://github.com/jupyter-server/jupyter-scheduler/issues"&gt;open issues&lt;/a&gt; with ideas for enhancements and about any bugs you find. If you’d like to contribute code, see the &lt;a href="https://jupyter-scheduler.readthedocs.io/en/latest/contributors/index.html"&gt;Jupyter Scheduler contributors guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This article does not represent the official position of amazon.com or any of its subsidiaries.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;About the authors&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/009-1_7kFoTl09bhq0WbJbO2kFtw.webp" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/andrii-i/"&gt;Andrii Ieroshenko&lt;/a&gt; is a Software Development Engineer at AWS. Previously, Andrii worked on the &lt;a href="https://github.com/jupytercalpoly/jupyterlab-notifications"&gt;Notifications&lt;/a&gt; project as a part of the Jupyter Cal Poly student internship program.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/010-1_3REz_2GLxridP9Uv6ZJjmQ.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/3coins"&gt;Piyush Jain&lt;/a&gt; is a Software Development Engineer at AWS working on open source contributions to Project Jupyter. He is also a member of the Jupyter Server team, actively participating in maintenance and development of Jupyter server project.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/011-1_HrkANk8wyWRqXocQdnQ5mA.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/dlqqq/"&gt;David Qiu&lt;/a&gt; is a Software Development Engineer at AWS working on Project Jupyter. Previously, David was researching physical chemistry at the University of Illinois at Urbana-Champaign.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://jasongrout.github.io/medium-archive/pelican/posts/2022/introducing-jupyter-scheduler/images/012-1_E40JRdqbPa7diRn6TXoCMQ.jpeg" alt="" loading="lazy" data-body-image=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/JasonWeill"&gt;Jason Weill&lt;/a&gt; is a Senior Front-End Engineer at Amazon Web Services; a contributor to JupyterLab, Jupyter Governance, and Jupyter Scheduler; and a member of the JupyterLab Council, the Jupyter Security Working Group, and the Jupyter Diversity, Equity, and Inclusion Standing Committee.&lt;/p&gt;
</content><category term="DevOps"/><category term="Jupyter Server"/><category term="JupyterLab"/></entry><entry><title>Jupyter Server 2.0 is released!</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2022/jupyter-server-2-0-is-released/" rel="alternate"/><published>2022-12-06T23:25:00+00:00</published><updated>2022-12-06T23:25:00+00:00</updated><author><name>Zach Sailer</name></author><id>tag:jasongrout.github.io,2022-12-06:/medium-archive/pelican/posts/2022/jupyter-server-2-0-is-released/</id><summary type="html">&lt;p&gt;This release brings many new features and lays groundwork for a more multi-user, (real-time) collaborative Jupyter experience.&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We are thrilled to announce the release of Jupyter Server 2.0!&lt;/p&gt;
&lt;p&gt;Jupyter Server provides the core web server that powers JupyterLab and Jupyter Notebook.&lt;/p&gt;
&lt;p&gt;This release brings many new features and lays groundwork for a more multi-user, (real-time) collaborative Jupyter experience.&lt;/p&gt;
&lt;h2 id="major-highlights"&gt;Major Highlights&lt;/h2&gt;
&lt;p&gt;Below is a short list of highlights for everyone! 🚀&lt;/p&gt;
&lt;h3 id="new-identity-api"&gt;New Identity API&lt;/h3&gt;
&lt;p&gt;As Jupyter continues to innovate its real-time collaboration experience, &lt;strong&gt;identity&lt;/strong&gt; is an important component. While we all love that mysterious “Anonymous Jovyan” appearing in our notebooks, we’d prefer to know who is editing/viewing our documents.&lt;/p&gt;
&lt;p&gt;The new &lt;a href="https://jupyter-server.readthedocs.io/en/latest/operators/security.html#identity-providers"&gt;Identity API&lt;/a&gt; in Jupyter Server makes this possible. It is a configurable, pluggable API that provides a clear extension point to customize how Jupyter Server authenticates and identifies its users.&lt;/p&gt;
&lt;p&gt;Deployers of Jupyter Server can configure Server’s default &lt;code&gt;IdentityProvider&lt;/code&gt; or swap in their own &lt;code&gt;IdentityProvider&lt;/code&gt; to authenticate users with any auth provider.&lt;/p&gt;
&lt;h3 id="new-authorization-api"&gt;New Authorization API&lt;/h3&gt;
&lt;p&gt;Enabling collaboration on a notebook shouldn’t mean &lt;em&gt;“allow everyone with access to my Jupyter Server to edit my notebooks”&lt;/em&gt;. What if I want to share my notebook with e.g. a subset of my teammates?&lt;/p&gt;
&lt;p&gt;The new J&lt;a href="https://jupyter-server.readthedocs.io/en/latest/operators/security.html#authorization"&gt;upyter Server Authorization API&lt;/a&gt; is a critical step towards making this type of “fine-grained” permission management possible.&lt;/p&gt;
&lt;p&gt;It provides a clear, pluggable extension point where we can build authorization layers (e.g. RBAC) backed by any auth provider. Deployers of Jupyter Server can extend Jupyter Server’s new &lt;code&gt;Authorizer&lt;/code&gt; API to control user access in a running Jupyter Server.&lt;/p&gt;
&lt;h3 id="new-event-system-api"&gt;New Event System API&lt;/h3&gt;
&lt;p&gt;Looking ahead at Jupyter’s future, it became clear that there is a whole class of untapped features — like &lt;strong&gt;notebook commenting&lt;/strong&gt; or &lt;strong&gt;notifications&lt;/strong&gt;— that need a Jupyter “&lt;a href="https://github.com/jupyter-server/jupyter_server/issues/780"&gt;event system&lt;/a&gt;&amp;quot;; these features &lt;em&gt;react&lt;/em&gt; to events happening in and around a running Server.&lt;/p&gt;
&lt;p&gt;This led us to create &lt;a href="https://github.com/jupyter/jupyter_events"&gt;jupyter_events&lt;/a&gt;—a package that provides a JSON-schema-based event-driven system to Jupyter Server and server extensions. Jupyter Server leverages this new system to emit events from the server. Keep an eye out for future development where we will define more “core” events (similar to the &lt;a href="https://github.com/jupyter-server/jupyter_server/blob/main/jupyter_server/event_schemas/contents_service/v1.yaml"&gt;Contents Service Events&lt;/a&gt;) to enable better event-driven functionality in the Server.&lt;/p&gt;
&lt;h2 id="other-major-changes"&gt;Other major changes&lt;/h2&gt;
&lt;p&gt;Below is list of other major changes and features that impact folks who extend + customize the Jupyter Server experience. This section is a little more technical in nature, but offers some exciting updates for folks who customize Jupyter Server.&lt;/p&gt;
&lt;h3 id="new-kernel-websocket-api"&gt;New Kernel Websocket API&lt;/h3&gt;
&lt;p&gt;Jupyter Server now provides a configurable, pluggable layer between the kernel’s ZMQ sockets and websocket, called the &lt;code&gt;KernelWebsocketConnection&lt;/code&gt;. This enables folks to innovate in the space between kernels and the server’s clients.&lt;/p&gt;
&lt;h3 id="server-ships-its-own-kernel-manager"&gt;Server ships its own Kernel Manager&lt;/h3&gt;
&lt;p&gt;Jupyter Server now provides its own kernel manager class, &lt;code&gt;ServerKernelManager&lt;/code&gt;. This enables us to innovate the kernel management layer to specifically fit the needs of Jupyter Server and add features like kernel-based events, persistence, and other kernel lifecycle-related functionality&lt;/p&gt;
&lt;p&gt;This affects folks who have extended the default &lt;code&gt;KernelManager&lt;/code&gt; with custom functionality — they will need to derive from this new class in order to take advantage of new server-specific functionality.&lt;/p&gt;
&lt;h3 id="terminals-service-is-now-a-server-extension"&gt;Terminals Service is now a Server Extension&lt;/h3&gt;
&lt;p&gt;Jupyter Server now ships the “Terminals Service” as an extension (installed and enabled by default) rather than a core Jupyter Service.&lt;/p&gt;
&lt;p&gt;Most users will not notice this change, but this enables terminals to be optionally &lt;em&gt;disabled&lt;/em&gt;. For more sensitive deployment environments, this is a big win!&lt;/p&gt;
&lt;h3 id="pytest-jupyter-a-pytest-plugin-for-jupyter"&gt;pytest-jupyter, a pytest plugin for Jupyter&lt;/h3&gt;
&lt;p&gt;As we worked to increase our test coverage to ~80% (major “thank you” to Steve Silvester!), we built a handy set of &lt;a href="https://docs.pytest.org/en/6.2.x/fixture.html"&gt;pytest fixtures&lt;/a&gt; that can benefit Jupyter developers and extension authors.&lt;/p&gt;
&lt;p&gt;This led us to release &lt;a href="https://github.com/jupyter-server/pytest-jupyter"&gt;pytest-jupyter&lt;/a&gt;, a packaged pytest plugin for testing Jupyter core libraries and extensions.&lt;/p&gt;
&lt;h2 id="changelog"&gt;Changelog&lt;/h2&gt;
&lt;p&gt;This post was only an overview of what’s new in 2.0! If you are looking for a more complete list of the changes including bug fixes, be sure to have a look at the &lt;a href="https://github.com/jupyter-server/jupyter_server/releases/tag/v2.0.0"&gt;changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;To install Jupyter Server with &lt;code&gt;pip&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pip install jupyter_server
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;or with conda:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;conda install -c conda-forge jupyter_server=2.0.0
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id="documentation"&gt;Documentation&lt;/h3&gt;
&lt;p&gt;Find our full documentation &lt;a href="https://jupyter-server.readthedocs.io/en/latest/index.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We are still catching up! Please have patience with us as we continue to update our documentation. If this is something you’d be interested in helping us improve, we’d love your help!&lt;/p&gt;
&lt;h2 id="acknowledgements"&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;Massive “thank you” to the whole Jupyter Server Team. The Jupyter Server project is largely shepherded by the amazing folks listed &lt;a href="https://jupyter-server-team-compass.readthedocs.io/en/latest/team.html#active-members"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We’re also incredibly grateful to the large list of contributors outside the team. Y’all are the best! Thank you for helping us make Jupyter Server better each day!&lt;/p&gt;
&lt;p&gt;If you’re interested in meeting or getting involved with the team, stop by one of our &lt;a href="https://jupyter-server.readthedocs.io/en/latest/contributors/team-meetings.html"&gt;weekly community meetings&lt;/a&gt;, or better yet, join our &lt;a href="https://github.com/jupyter-server/team-compass/issues/22"&gt;Contributing Hour&lt;/a&gt;!&lt;/p&gt;
&lt;h2 id="about-the-author"&gt;About the author&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/Zsailer"&gt;Zach Sailer&lt;/a&gt; is a Senior Software Engineer at Apple, where he is the Jupyter Open Source Champion. He is a Jupyter Distinguished Contributor and the Jupyter Server Steering Council Representative.&lt;/p&gt;
</content><category term="Jupyter Server"/><category term="releases"/></entry><entry><title>Jupyter Community Workshop: Jupyter Server Design and Roadmap Workshop</title><link href="https://jasongrout.github.io/medium-archive/pelican/posts/2019/jupyter-community-workshop-jupyter-server-design-and/" rel="alternate"/><published>2019-04-30T23:58:00+00:00</published><updated>2019-04-30T23:58:00+00:00</updated><author><name>Luciano Resende</name></author><id>tag:jasongrout.github.io,2019-04-30:/medium-archive/pelican/posts/2019/jupyter-community-workshop-jupyter-server-design-and/</id><summary type="html">&lt;p&gt;We have some exciting news to share regarding the Jupyter Server Design and Roadmap Workshop as part of the Jupyter Community Workshop…&lt;/p&gt;
</summary><content type="html">&lt;p&gt;We have some exciting news to share regarding the Jupyter Server Design and Roadmap Workshop as part of the &lt;a href="/posts/2019/jupyter-community-workshops/"&gt;Jupyter Community Workshop series&lt;/a&gt; funded by &lt;a href="https://www.techatbloomberg.com/"&gt;Bloomberg&lt;/a&gt;. This workshop will take place May 16th and 17th just outside Paris France at the &lt;a href="https://www.ibm.com/fr-fr"&gt;IBM facility in Bois-Colombes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jupyter Notebook has proven to be a tremendous tool in the scientific and analytic computing spaces. It is widely used at universities and businesses alike, enabling the ability to interactively analyze and view data in various ways, quickly and easily. However, as computational capabilities improve, the need to move Notebook kernels closer to the compute resources also increases. As a result, new requirements for how a given solution is configured and deployed are introduced.&lt;/p&gt;
&lt;p&gt;The Jupyter Server Design and Roadmap Workshop will focus on how we can bring together what has been learned over the years to address the needs of future environments, while clearly defining the separation between client and server. Items that will be discussed include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;What aspects of the current Jupyter Notebook framework should be considered as “the server”?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How will extensions be exposed and consumed?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Backwards compatibility is important. How can we move forward while retaining current capabilities?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How can we introduce the ability for others to provide kernel-deployment frameworks of their own and how those frameworks are discovered?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Basic improvements that bring the server up to date (e.g., async/await — particularly in kernel life-cycle management)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;General multi-tenancy capabilities will be explored such that the server can serve more than just a single client.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How to convey kernel-specific parameters from the client, thru the server, to the kernel launch framework?&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Should you be interested in joining us for this workshop, please fill out this &lt;a href="https://forms.gle/61Y2FPBwJFfhnK2G9"&gt;Google Form&lt;/a&gt;. Space is limited.&lt;/p&gt;
&lt;h3 id="acknowledgements"&gt;&lt;strong&gt;Acknowledgements&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;We’d like to acknowledge &lt;a href="https://www.techatbloomberg.com/"&gt;&lt;strong&gt;Bloomberg&lt;/strong&gt;&lt;/a&gt; for their generous support in making this workshop, and the entire series, possible. Thank you!&lt;/p&gt;
&lt;p&gt;We’d also like to thank &lt;a href="https://www.ibm.com/analytics/data-science"&gt;&lt;strong&gt;IBM&lt;/strong&gt;&lt;/a&gt; for providing the facility and hosting the Jupyter Server Design and Roadmap Workshop.&lt;/p&gt;
</content><category term="events"/><category term="Jupyter Server"/><category term="kernels"/><category term="workshops"/></entry></feed>