ipython / ipython/ipykernel

API for identifying overlaying frontend to help libraries interacting with the UI

Aperta
#380 0 commenti 4 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
734
Fork
412
Merge medio
1g 5h
PR unite (30g)
8

Descrizione

Due to this talk
[Discussion about the trial to detect correct renderer in altair](https://github.com/altair-viz/altair/issues/1291)

It would be nice to have information provided for query by an ipykernel-API about the overlaying frontend.

Imagine someone wrote following code in jupyter notebook to visualize something like this:

```
import altair as alt
from vega_datasets import data
cars = data.cars()
alt.renderers.enable('notebook') #jupyter notebook
#alt.renderers.enable('default') #jupyter lab
#dynamic
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
)
```
Now the user wants to share the code by his cars.ipynb file.
Another user wants to use it in jupyter lab and wonders why the graph is not shown.
He has again to modify the code, change e.g. 'notebook' to 'default' to make it run.

With an API from ipykernel which is identifying the frontend, the graphic-library could manage the configuration of the renderer by itself to set the optimal renderer and even give a warning when not supported even wrong renderer is used.

In the above link is a proposal hack to identify a frontend, but however, it should be registered in a correct way in the ipykernel.

Maybe someone would like to deal with it or implement that, that would be great!

The implementation of this proposal would mean a much simpler and more dynamic exchange and the faster use of different ipy user interfaces, because the user-code has not to be touched again.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with the linked Altair discussion and the ipykernel API context, then compare the notebook and JupyterLab renderer example in the issue. Done would mean a defined ipykernel API can identify the overlaying frontend so libraries can select a suitable renderer or warn when the current renderer is unsupported.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
jupyter, python
Ambito
api, backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.