Comments (12)
Another option would be to have each extension app decide whether they allow other server extensions or not when they are used as the main extension point.
from jupyter_server.
I thought that the selected app is responsible for enabling all extensions that should be running, besides the default stuff that comes with Jupyter Server itself. So if the Voila extension doesn't enable Lab, then Lab isn't there. Am I mistaken there?
from jupyter_server.
Ideally, I would like to have the voila command line to become an alias on jupyter voila.
Just for context, what is the motivation for this?
from jupyter_server.
Just for context, what is the motivation for this?
This would reduce the number of entry points and simplify the codebase (e.g. no need for a VoilaConfiguration object).
from jupyter_server.
In a way, voila and lab are two perfect examples of extension apps...
from jupyter_server.
In the current ExtensionApp
class, VoilaConfiguration already goes away (I desperately need to add documentation to demonstrate this).
In PR #59, I added logic to handle the extension-specific config. That way, extensions writers don't need to write their own mixin classes (like VoilaConfiguration).
How does this work?
ExtensionApp
creates aConfigurable
object to store the extension's trait- It then passes this object to tornado web-servers settings under the
'<extension_name>_config'
key. - If the extensions' handlers inherit the provided
ExtensionHandler
class, this object is accessible under the handler'sself.config
attribute.
from jupyter_server.
I'm also fine with adding a --standalone
mode.
from jupyter_server.
In the current ExtensionApp class, VoilaConfiguration already goes away (I desperately need to add documentation to demonstrate this).
Yep, but I guess this requires the voila command line to be an alias on jupyter voila
.
I'm also fine with adding a
--standalone
mode.
👍
from jupyter_server.
Yep, but I guess this requires the voila command line to be an alias on jupyter voila.
I think you're right.
You could, instead, have a small subclass that inherits the Voila
ExtensionApp, changes the standalone
trait to True, set this trait's tag config=False
, and add a new voila
entry-point pointing to this classes launch_instance
method.
from jupyter_server.
Adding in #70
from jupyter_server.
We added the option for ExtensionApps to shut off other extensions in #76
from jupyter_server.
Closing since we added standalone mode in #76.
from jupyter_server.
Related Issues (20)
- Custom ContentsManager with a NoOpCheckpoints cannot open notebook, raises Unhandled error HOT 1
- Navigating in the JupyterLab UI can prevent idle kernels from being culled. HOT 11
- Remove usages of tornado io_loop in favor of native asyncio HOT 4
- Latest release is breaking custom ContentManager HOT 4
- lots of ways to trigger unhandled errors via filesystem permissions
- Stop using deprecated function in tornado HOT 1
- Serve kernel WASM assets
- Enable EPUB and HTML outputs from the docs HOT 1
- Tests failing in the latest version HOT 2
- Removing `nbconvert` as a required dependency HOT 4
- Missing Python target version bound leads to incorrect `ruff` suggestions HOT 3
- Kernel's execution state is not updated after the kernel is crashed while executing code HOT 4
- Should `current_user` and `prepare` guards be set in `AuthenticatedHandler` rather than `JupyterHandler`? HOT 2
- The Shut Down and Log Out menu items disappeared between 2.12.5 and 2.13.0 HOT 2
- Invalid page_config.json can crash server HOT 1
- interface for switching between jupyter apps
- Add constraints fore saving/reading files
- Add an HTML endpoint for `/api` with interactive docs HOT 3
- Slower atexit methods do not run to completion HOT 2
- Running Out of memory in a process can cause the extension handler to crash HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jupyter_server.