Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 26 23:02
    codecov-commenter commented #851
  • May 26 23:02
    codecov-commenter commented #851
  • May 26 23:02
    codecov-commenter commented #851
  • May 26 23:00
    codecov-commenter commented #851
  • May 26 22:56
    3coins synchronize #851
  • May 26 21:47
    blink1073 ready_for_review #845
  • May 26 21:47
    blink1073 synchronize #845
  • May 26 21:47
    blink1073 synchronize #845
  • May 26 16:38
    3coins review_requested #851
  • May 26 16:37
    3coins review_requested #851
  • May 26 16:16
    codecov-commenter commented #851
  • May 26 16:15
    codecov-commenter commented #851
  • May 26 16:14
    codecov-commenter commented #851
  • May 26 16:09
    codecov-commenter commented #851
  • May 26 16:09
    3coins synchronize #851
  • May 26 16:07
    codecov-commenter commented #851
  • May 26 16:07
    codecov-commenter commented #851
  • May 26 16:04
    codecov-commenter commented #851
  • May 26 16:03
    codecov-commenter commented #851
  • May 26 16:02
    echarles commented #857
Zachary Sailer
@Zsailer
I would probably err on the side of extending JupyterHanlder instead of overriding APIHandler methods.
Loïc Huder
@loichuder
Interesting. I use APIHandler beacuse the cookiecutter pushed me towards it
Thanks for the helpful answers Zachary
Zachary Sailer
@Zsailer
If you have contributed to Jupyter Server recently, and would like to become an active team member that maintains the project, checkout this thread! https://github.com/jupyter-server/team-compass/issues/5#issuecomment-973286234
Rahul Goyal
@rahul26goyal
hello everyone!
I have recently started contributing to JEG and interested to learn and contribute to the dependent projects too.. thats bring me here to the world of "jupyter_server "..
please let me know how I can get started on this journey!
thanks!
Kevin Bates
@kevin-bates
Hi @rahul26goyal - welcome! We have weekly dev meetings on Thursdays in which we discuss current topics and directions. Previous meeting notes, if you’re unable to attend or would like to catch up, are available on the referenced team-compass repo.
You have probably noticed by now that jupyter_server is derived from the notebook source base sans front-end code. As a result, if you’re familiar with the notebook server, you should be able to jump right in to jupyter_server.
Also, feel free to ask questions here and we’ll do our best to get you on your journey. :smile:
David Brochart
@davidbrochart
@rahul26goyal also pointing to Jupyverse which is a FastAPI-based alternative implementation of a Jupyter server: https://github.com/jupyter-server/jupyverse
Rahul Goyal
@rahul26goyal
thanks @kevin-bates ....I will attend the call tomorrow.
I m not very familiar with "notebook server" but I have some context on how it works at high level..
yes, I did notice that "jupyter_server" is derived from notebook's server component.
thanks @davidbrochart ..I will go though the project and get back with follow up question..
Zachary Sailer
@Zsailer
Here's a quick fix to nudge both shell+control channel jupyter-server/jupyter_server#636
Ali
@alzaar
Hi everyone! I am starting out with the jupyter_server repo and so far I have been able to start up the server and run the notebook extension. I am currently trying to understand how logging works. I have tried simple print statements, the self.log statements and tried different log levels. Based on this link - https://jupyter-server.readthedocs.io/en/latest/operators/multiple-extensions.html - I ran on the following command
jupyter notebook --log-level='CRITICAL'
and I then used this
self.log.critical('Lorem ipsum')
in the handler (from jupyter_server code) for renaming.
How does logging work ? and how can I log debugging messages.
Thank you :)
Zachary Sailer
@Zsailer
@alzaar , yikes it looks like you found some outdated docs.
to launch Jupyter Notebook on jupyter_server you'll want to use jupyter nbclassic instead
Try something like
jupyter nbclassic --ServerApp.log_level="CRITICAL"
You may need to install nbclassic: pip install nbclassic
Ali
@alzaar
Thanks! @Zsailer are there latest docs out there which I am unaware of ? If so, could you please point me to them ?
Zachary Sailer
@Zsailer
No, you're looking at the correct docs. They just need to be updated, because they are currently wrong :sweat_smile:
Ali
@alzaar
Aah, I see :) Could I maybe modify the docs so that it includes newer instructions for new people like myself ? @Zsailer
Zachary Sailer
@Zsailer
Of course! We'd love to work with you to merge a pull request to the documentation. If you're comfortable to do so, feel free to open a PR and ping me for review.
Ali
@alzaar
@Zsailer Happy to help out :) Here is the PR link - jupyter-server/jupyter_server#649 - I tried adding you as a reviewer but it seems I don't have the correct permissions. Let me know if I missed anything or if more information is required. Thank you!
pklcoder
@pklcoder

i use the jupyterhub to support 20users deal data in python kernels.
The jupyterhub is installed as the GitHub - jupyterhub/jupyterhub: Multi-user server for Jupyter notebooks described .
jupyterhub include jupyterlab /jupter_server/notebook/juupyter_core and so on ,i want add some functions to jupyterhub.
i want to add my own custom handlers on jupyterhub platform to deal some request from browser .
i add a new handler on the jupyter_server( v1.11.1)[GitHub - jupyter-server/jupyter_server: The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications.] in the jupyter_server\jupyter_server\services\api\handlers.py .
the add content :
class UserCustomHandler(APIHandler):
“”"
User Customization function
“”"
_track_activity = False

@web.authenticated
def get(self):

# 
with open("/tmp/test.txt", 'a', encoding="utf-8") as f:
    f.write("====begain run in UserCustomHandler=====")

the default handler:
default_handlers = [
(r"/api/spec.yaml", APISpecHandler),
(r"/api/status", APIStatusHandler),
(r"/api/customhandler", UserCustomHandler),
]
then i build and install the jupyter_server in my jupyterhub.
i send the request to http:ip:9000/user/lihua//api/customhandler but it does not work .

who can tell me how to add a new handler in jupyter_server of jupyterhub platform or add a new handler directly on jupyterhub source code or add a new handler on jupyterlab ?

thanks.

pklcoder
@pklcoder

the version information

notebook==6.4.0
jupyter-client==6.2.0
jupyter-contrib-core==0.3.3
jupyter-contrib-nbextensions==0.5.1
jupyter-core==4.7.1
jupyter-hdfscm==0.2.0+0.g427e8c8.dirty
jupyter-highlight-selected-word==0.2.0
jupyter-latex-envs==1.4.6
jupyter-nbextensions-configurator==0.4.1
jupyter-resource-usage==0.6.0
jupyter-server==1.11.1
jupyterhub==1.0.0
jupyterhub-yarnspawner==0.4.0+2.g1c40f52.dirty
jupyterlab==3.2.1
jupyterlab-pygments==0.1.2
jupyterlab-server==2.8.2
jupyterlab-system-monitor==0.8.0
jupyterlab-topbar==0.6.1

pklcoder
@pklcoder
Finally i solve this issue by my self. this server of this version is notebook,so just add a new handler in the notebook\notebook\services\api\handlers.py .
Zachary Sailer
@Zsailer
@pklcoder glad you were able to answer your question. Many core maintainers are out on vacation/holiday, so response time is slower than usual. thank you for your patience with us.
Zachary Sailer
@Zsailer
We're live!
Congrats to a great looking team :smile:
Zachary Sailer
@Zsailer
I'm giving all team members owner access to the org and the readthedocs pages
Zachary Sailer
@Zsailer
@SylvainCorlay @afshin @mwakaba2 and @jess-x, do y'all have accounts on readthedocs? If so, do you mind sharing your usernames?
Luciano Resende
@lresende
lresende :)
Zachary Sailer
@Zsailer
I added you already :)
Luciano Resende
@lresende
thank you:)
Zachary Sailer
@Zsailer
I found your username easily :)
@lresende I also added you as an owenr to the jupyter server org
Sylvain Corlay
@SylvainCorlay
Hey, I should be SylvainCorlay on rtd
Zachary Sailer
@Zsailer
Ah, I see. It's case-sensitive...
added!
Afshin Taylor Darian
@afshin
Apparently I do, I didn't even know. It's darian
@Zsailer :arrow_heading_up:
Jessica Xu
@jess-x
i just made an account on readthedocs 😁 mine should be JXu.
Mariko Wakabayashi
@mwakaba2
@Zsailer sorry for the really late reply! I just created one. username: mwakaba2
Zachary Sailer
@Zsailer
@blink1073 thank you for the Jupyter Server 2.0 pre-release! :tada:
Afshin Taylor Darian
@afshin
:rocket:
Piyush Jain
@3coins
Hi Folks,
I am investigating a problem where calling an endpoint in a server extension is throwing 404 inside the binder, although it is working fine locally. So far, I have verified that the server extension is installed, jupyter server extension list shows the extension correctly.
How should I proceed to debug this further? Is there a way to print out all the hooked up APIs/Paths available for a running jupyter server? Is there a way to look at the binder installation logs?
Zachary Sailer
@Zsailer
Do anyone know if binder is using jupyter-server by default yet?
Piyush Jain
@3coins
Do I need "jupyter-server-proxy" in the dependencies? JupyterLab has these in the binder env.
dependencies:
  - jupyterlab-link-share=0.2
  - jupyter-server-proxy
  - matplotlib-base
  - nodejs=14
  - numpy
  - pip
  - python=3.8
  - vega_datasets
  - xeus-python
Zachary Sailer
@Zsailer
Good question. I’m not sure why jupyter-server-proxy is there. Based on what you saw above, I have a hunch that Binder isn’t running jupyter-server, but the classic notebook server. This would cause your server extensions to not be loaded
12 replies
Vidar Tonaas Fauske
@vidartf
I've just seen an error locally, and I wonder if could be a clue for unexpected race conditions:
Traceback (most recent call last):
  File "<env root>\lib\site-packages\tornado\web.py", line 1704, in _execute
    result = await result
  File "<env root>\lib\site-packages\jupyter_server\services\kernels\handlers.py", line 45, in get
    kernels = await ensure_async(km.list_kernels())
  File "<env root>\lib\site-packages\jupyter_server\services\kernels\kernelmanager.py", line 479, in list_kernels
    model = self.kernel_model(kernel_id)
  File "<env root>\lib\site-packages\jupyter_server\services\kernels\kernelmanager.py", line 465, in kernel_model
    "last_activity": isoformat(kernel.last_activity),
AttributeError: 'AsyncIOLoopKernelManager' object has no attribute 'last_activity'
(or maybe it is an artifact of using latest jupyter_server with slightly old jupyter_client (7.1.0) ? )
1 reply