jupyter-server / jupyter_server_terminals Goto Github PK
View Code? Open in Web Editor NEWA Jupyter Server Extension Providing Support for Terminals
License: BSD 3-Clause "New" or "Revised" License
A Jupyter Server Extension Providing Support for Terminals
License: BSD 3-Clause "New" or "Revised" License
Terminals not working when using version 0.5.0 or 0.5.1, after downgrading to 0.4.4 it works fine.
below is the error.
TypeError: object NoneType can't be used in 'await' expression
jupyter --versoin screenshot below. should be able to reproduce with jupyter-servier-terminals > 0.4.4
Selected Jupyter core packages...
IPython : 8.4.0
ipykernel : 6.28.0
ipywidgets : not installed
jupyter_client : 8.6.0
jupyter_core : 5.6.0
jupyter_server : 2.12.1
jupyterlab : 4.0.9
nbclient : 0.8.0
nbconvert : 7.13.1
nbformat : 5.9.2
notebook : not installed
qtconsole : not installed
traitlets : 5.14.0
Termianls should work, without any issues.
The jupyter server terminal is not disabled on jupyterhub after setting the jupyter_server_config.py
like so:
c.ServerApp.terminals_enabled = False
I can confirm that the configuration is acknowledged by the jupyter server by executing the following command jupyter server --show-config
which outputs:
...
Loaded config files:
/Users/rprater/.jupyter/jupyter_server_config.py
ServerApp
.jpserver_extensions = <LazyConfigValue value={'jupyter_lsp': True, 'jupyter_server_terminals': True, 'jupyterlab': True, 'nbclassic': True, 'notebook_shim': True}>
.terminals_enabled = False # <--- acknowledged
python -m venv venv
source venv/bin/activate
pip install jupyterhub jupyterlab notebook
jupyter server --generate-config
# Edit jupyter_server_config file as described above
jupyterhub
I can confirm this issue does not occur if I pin the jupyter_server
package to less than version 2.
Looking at the source code this may make sense, the value gets hard coded here.
I reran https://github.com/jupyter-server/jupyter_server_terminals/runs/4960949698?check_suite_focus=true, which had originally passed. It might be related to the 2.0.1 pywinpty release.
I confirmed that pinning to pywintpy<2
allows us to cull again. Merging #6 with a workaround for now.
When creating terminals via the REST api (i.e. a POST
request to /api/terminals
) the terminal name/id is an incrementing integer. For my use case I would like to control the names/ids of the terminals for organizational purposes.
I believe the solution is would be an easy update to the /api/terminals
POST
request by adding the ability to override the terminal name/id in the body of the request. Alternatively you could provide a /api/terminals/{terminal id}
POST
endpoint for creating named terminals.
We weren't able to publish 0.2.0
WARNING Error during upload. Retry with the --verbose option for more details.
ERROR HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
Invalid value for requires_dist. Error: Can't have direct dependency:
"jupyter-server[test] @ git+https://github.com/Zsailer/jupyter_server.g
it@jupyter_server_terminals ; extra == 'test'"
If we're switching to use this extension, it needs the authorizer support added in jupyter-server/jupyter_server#165
Add the auth handling here as well.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.