Merge pull request #5 from pkgw/front-door-email

Update the "front door" email address and add Notebook >= 7 compat
This commit is contained in:
Peter Williams 2023-08-18 20:31:07 +00:00 коммит произвёл GitHub
Родитель 4a0cfc5ef2 b97bdeecd2
Коммит b2d6afea64
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
12 изменённых файлов: 65 добавлений и 51 удалений

Просмотреть файл

@ -1,15 +1,16 @@
version: 2
build:
image: latest
os: ubuntu-22.04
tools:
python: "3.10"
python:
version: 3.7
install:
- method: pip
path: .
extra_requirements:
- docs
# Don't build any extra formats
formats: []
sphinx:
configuration: docs/conf.py

Просмотреть файл

@ -6,12 +6,12 @@
[wwt_kernel_data_relay] is a [Jupyter server extension][ext] that enables
[Jupyter kernels][kernels] to publish some of their data files to the Web; that
is, to request that the Jupyter HTTP server make them accessible at a
predictable URL. This functionality is used by [pywwt], the [AAS] [WorldWide
predictable URL. This functionality is used by [pywwt], the [WorldWide
Telescope] Python library, to expose kernel-side data assets for visualization
inside the WWT [research app][rapp].
[wwt_kernel_data_relay]: https://github.com/WorldWideTelescope/wwt_kernel_data_relay/
[ext]: https://jupyter-notebook.readthedocs.io/en/stable/extending/handlers.html
[ext]: https://jupyter-server.readthedocs.io/en/stable/developers/extensions.html
[kernels]: https://jupyter.readthedocs.io/en/latest/projects/kernels.html
[pywwt]: https://pywwt.readthedocs.io/
[AAS]: https://aas.org/
@ -56,7 +56,11 @@ maintained by
## Dependencies
[wwt_kernel_data_relay] is a [Jupyter server extension][ext] so it is only
useful if the Jupyter [notebook] package is installed.
useful if the Jupyter [jupyter_server] package is installed.
[jupyter_server]: https://jupyter-server.readthedocs.io/
It also is compatible with the older (version <= 6) [notebook] server package.
[notebook]: https://jupyter-notebook.readthedocs.io/
@ -69,10 +73,10 @@ useful if the Jupyter [notebook] package is installed.
## Acknowledgments
[wwt_kernel_data_relay] is part of the AAS WorldWide Telescope system, a [.NET
Foundation] project managed by the non-profit [American Astronomical Society]
(AAS). Work on WWT has been supported by the AAS, the US [National Science
Foundation], and other partners. See [the WWT user website][acks] for details.
[wwt_kernel_data_relay] is part of the WorldWide Telescope system, a [.NET
Foundation] project. Work on WWT has been supported by the [American
Astronomical Society] (AAS), the US [National Science Foundation], and other
partners. See [the WWT user website][acks] for details.
[.NET Foundation]: https://dotnetfoundation.org/
[American Astronomical Society]: https://aas.org/

Просмотреть файл

@ -6,17 +6,17 @@ parameters:
default:
- name: linux_39
vmImage: ubuntu-20.04
vmImage: ubuntu-22.04
vars:
PYTHON_SERIES: "3.9"
- name: macos_39
vmImage: macos-10.15
vmImage: macos-12
vars:
PYTHON_SERIES: "3.9"
- name: windows_39
vmImage: windows-2019
vmImage: windows-2022
vars:
PYTHON_SERIES: "3.9"
@ -54,7 +54,7 @@ jobs:
- job: docs
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-latest
steps:
- template: azure-job-setup.yml
parameters:

Просмотреть файл

@ -18,14 +18,14 @@ jobs:
- ${{ if parameters.isMainDev }}:
- job: dummy_setup_only
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-latest
steps:
- template: azure-job-setup.yml
- ${{ if parameters.isRelease }}:
- job: branch_and_tag
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-latest
variables:
- group: Deployment Credentials
steps:
@ -44,7 +44,7 @@ jobs:
- job: github_releases
dependsOn: branch_and_tag # otherwise, GitHub creates the tag itself
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-latest
variables:
- group: Deployment Credentials
steps:
@ -61,7 +61,7 @@ jobs:
- job: python_publish
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-latest
variables:
- group: Deployment Credentials
steps:

Просмотреть файл

@ -7,7 +7,7 @@ jobs:
- job: sdist
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-latest
steps:
@ -53,8 +53,8 @@ jobs:
conda config --add channels conda-forge
conda install -y \
jupyter_client \
jupyter_server \
jupyter-packaging \
notebook \
tornado \
traitlets
displayName: Set up dependencies

Просмотреть файл

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
project = 'wwt_kernel_data_relay'
author = 'The AAS WorldWide Telescope Team'
copyright = '2019-2021 the .NET Foundation'
author = 'The WorldWide Telescope Team'
copyright = '2019-2023 the .NET Foundation'
release = '0.dev0' # cranko project-version
version = '.'.join(release.split('.')[:2])
@ -21,7 +21,7 @@ extensions = [
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
language = None
language = 'en'
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
pygments_style = 'sphinx'
todo_include_todos = False

Просмотреть файл

@ -9,7 +9,7 @@ functionality is used by `pywwt`_ to expose kernel-side data assets for
visualization inside the `WWT research app`_.
.. _wwt_kernel_data_relay: https://github.com/WorldWideTelescope/wwt_kernel_data_relay/
.. _Jupyter server extension: https://jupyter-notebook.readthedocs.io/en/stable/extending/handlers.html
.. _Jupyter server extension: https://jupyter-server.readthedocs.io/en/stable/developers/extensions.html
.. _Jupyter kernels: https://jupyter.readthedocs.io/en/latest/projects/kernels.html
.. _pywwt: https://pywwt.readthedocs.io/
.. _WWT research app: https://docs.worldwidetelescope.org/research-app/latest/
@ -37,14 +37,12 @@ issue `on its GitHub repository
Acknowledgments
===============
`wwt_kernel_data_relay`_ is part of the `AAS`_ `WorldWide Telescope`_ system, a
`.NET Foundation`_ project managed by the non-profit `American Astronomical
Society`_ (AAS). Work on WWT has been supported by the AAS, the US `National
Science Foundation`_, and other partners. See `the WWT user website`_ for
details.
`wwt_kernel_data_relay`_ is part of the `WorldWide Telescope`_ system, a `.NET
Foundation`_ project. Work on WWT has been supported by the `American
Astronomical Society`_ (AAS), the US `National Science Foundation`_, and other
partners. See `the WWT user website`_ for details.
.. _.NET Foundation: https://dotnetfoundation.org/
.. _AAS: https://aas.org/
.. _WorldWide Telescope: https://worldwidetelescope.org/home/
.. _American Astronomical Society: https://aas.org/
.. _National Science Foundation: https://www.nsf.gov/

Просмотреть файл

@ -20,7 +20,7 @@ The URLs that are ultimately provided by the KDR have the form:
{base-url}/wwtkdr/{key}/{entry...}
Here, ``base-url`` is the base URL of the Jupyter notebook server, which is
Here, ``base-url`` is the base URL of the Jupyter server, which is
easily determined on the server side and is not-so-easily determined on the
kernel side. The base URL is not necessarily absolute, however, and there may be
different kinds of proxies or redirectors in place that prevent either the
@ -115,7 +115,7 @@ JSON content, the *first* reply message must contain additional fields
(analogous to HTTP header data). Every reply message, except for the last one,
must also be associated with one or more byte buffers, which contain the
resource binary content to be returned to the client that has connected to the
notebook server. The final reply message is allowed to arrive without any
server. The final reply message is allowed to arrive without any
associated buffers.
The JSON content of the *every* reply message should contain the following fields:

Просмотреть файл

@ -1,8 +1,6 @@
[build-system]
requires = ["jupyter_packaging~=0.10,<2", "jupyterlab~=3.1"]
requires = ["jupyter_packaging~=0.10,<2"]
build-backend = "jupyter_packaging.build_api"
[tool.cranko]
extra_python_rewrite_files = [
"docs/conf.py"
]
extra_python_rewrite_files = ["docs/conf.py"]

Просмотреть файл

@ -57,8 +57,8 @@ setup_args = dict(
url="https://github.com/WorldWideTelescope/wwt_kernel_data_relay/",
license="MIT",
platforms="Linux, Mac OS X, Windows",
author="AAS WorldWide Telescope Team",
author_email="wwt@aas.org",
author="WorldWide Telescope Team",
author_email="hello@worldwidetelescope.org",
classifiers=[
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
@ -71,12 +71,11 @@ setup_args = dict(
],
packages=[
"wwt_kernel_data_relay",
#'wwt_kernel_data_relay.tests',
],
include_package_data=True,
install_requires=[
"jupyter-client>=7",
"notebook>=6",
"jupyter-server>=2",
"tornado>=6",
"traitlets>=5",
],

Просмотреть файл

@ -9,6 +9,9 @@ It contains no nontrivial functionality of its own.
from .serverextension import load_jupyter_server_extension # noqa
# See: https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Distributing%20Jupyter%20Extensions%20as%20Python%20Packages.html
def _jupyter_server_extension_paths():
# See: https://jupyter.readthedocs.io/en/latest/projects/kernels.html
def _jupyter_server_extension_points():
return [{"module": "wwt_kernel_data_relay.serverextension"}]
# Backwards compatibility
_jupyter_server_extension_paths = _jupyter_server_extension_points

Просмотреть файл

@ -1,4 +1,4 @@
# Copyright 2021 the .NET Foundation
# Copyright 2021-2023 the .NET Foundation
# Licensed under the MIT License
"""
@ -8,11 +8,18 @@ The WWT kernel data relay Jupyter notebook server extension.
import json
from queue import Empty
from tornado import gen, web
from tornado import web
from jupyter_client.session import Session
from notebook.utils import url_path_join
from notebook.base.handlers import IPythonHandler
try:
from jupyter_server.utils import url_path_join
from jupyter_server.base.handlers import JupyterHandler
except ImportError:
# `notebook` <= 6
from notebook.utils import url_path_join
from notebook.base.handlers import IPythonHandler as JupyterHandler
from traitlets.config.configurable import LoggingConfigurable
__all__ = ["load_jupyter_server_extension"]
@ -75,7 +82,7 @@ class Registry(LoggingConfigurable):
self.log_debug("watching kernel %s in session %s", kernel_id, session.session)
def watch_iopubs(msg_list):
idents, fed_msg_list = session.feed_identities(msg_list)
_idents, fed_msg_list = session.feed_identities(msg_list)
msg = session.deserialize(fed_msg_list)
msg_type = msg["header"]["msg_type"]
@ -184,7 +191,7 @@ class Registry(LoggingConfigurable):
pass
class DataRequestHandler(IPythonHandler):
class DataRequestHandler(JupyterHandler):
def initialize(self, registry):
self.registry = registry
@ -301,7 +308,7 @@ class DataRequestHandler(IPythonHandler):
self.finish()
class ProbeRequestHandler(IPythonHandler):
class ProbeRequestHandler(JupyterHandler):
@web.authenticated
def get(self):
info = {"status": "ok"}
@ -312,7 +319,7 @@ class ProbeRequestHandler(IPythonHandler):
self.finish()
def load_jupyter_server_extension(nb_server_app):
def _load_jupyter_server_extension(nb_server_app):
"""
Initialize the server extension.
@ -356,3 +363,7 @@ def load_jupyter_server_extension(nb_server_app):
registry.watch_new_kernel(kernel_id, km)
app_km.start_watching_activity = shimmed_start_watching_activity
# Backwards compatibility
load_jupyter_server_extension = _load_jupyter_server_extension