[IPython-dev] more bootstrap widgets

Matthias Bussonnier bussonniermatthias at gmail.com
Mon Sep 22 10:52:34 EDT 2014


Le 22 sept. 2014 à 15:23, Nicholas Bollweg a écrit :

> Thanks for the feedback!
> 
> About reuse: i haven't tried out other kernels yet, but portability to other backends seems easier than other frontends (say, polymer and icomoon)…
> 

> Is implementing the widget spec part of the price of admission for being a kernel?
> 
No it is not, a kernel is whatever does not make things crash :-) I suppose as soon as you get execute/reply you are a kernel. 
If something is not available, we do our best to just not expose functionality.

> I guess i haven't seen a Rosetta example of a widget for all known backends.
> 
> The widgets themselves are very simple, usually just declaring traits and maybe providing a vanity init... *args as children, or value. Other than the enums of bootstrap stuff, which could follow font-awesome into json files, a lot of non widget code is there for dealing with loading assets... Presumably this will get better when the require redactor lands.
> 

> What will widget distribution look like in a multi kernel world? it seems like an implementation of a front end would go on bower (or equivalent), and then one could see which other back ends had implementations for it, from their respective package managers.
> 
> I suppose this could go both ways, with a single, declarative, versioned spec of traits and events (ex. Bower:jptr-barchart-spec... As json or better still, .jsonld) in the middle.
> 
> Then multiple frontends (bower:jptr-barchart-nvd3 and bower:jptr-barchart-highcharts) as well as multiple backends (pypi:ip-barchart and cran:ir-barchart), even for a single kernel (pypi:ip-barchart-numpy), could harmoniously coexist, and develop independently. Presumably, the user would not have to know any of this, just install and use the implementation of their choice.
> 
Yes, these 3 were basically the center of my question. The only problem I see here, is that it is hard to force users to user YAPM (yet another package manager) to install dependencies. And problem with bower is that it requires node and npm IIRC. 

Also how do you tell bower the 'right location' to put theses components, and what if theses require different version of same component..

> This again raises the question of an extension registry website/cli where one could see all of this in one place, as this sounds hard to manage from a configuration management point of view... Is this already on the roadmap somewhere?
> 
No, unfortunately, and this might be a little bit out of scope for IPython/Jupyter right now. But definitively something we will have to handle at some point. 
-- 
M


> On Sep 22, 2014 3:28 AM, "Matthias Bussonnier" <bussonniermatthias at gmail.com> wrote:
> 
> Le 22 sept. 2014 à 06:12, Nicholas Bollweg a écrit :
> 
>> Here's a couple of widgets I've been putting together, extracted from other projects:
>> 
>> https://github.com/bollwyvl/ip-bootstrap
> 
> 
> thanks awesome.
> 
>> 
>> It's not a full release yet, but I figured some others might have some interest/opinions on the work up until now.
>> 
>> Background: I have recently, both here on the list and for work, been buiding things that are more application-like in notebooks. I end up hacking up "chrome junk": control groups, layout grids, icons on buttons. Yes, these are very boring from a data point of view, probably overkill as widgets, etc... but are useful nonetheless, as the result Looks Good. Since Bootstrap and FontAwesome are already available, it seemed like a no-brainer to use them as the basis for this. 
>> 
>> Future: Not sure if any of this would be an acceptable PR to core, as it is pretty heavily tied to BS/FA, but perhaps certain features could be. 
> 
> Probably not **now** we want to split widget in a separate repo to allow faster development. So we keep minimal things in the core. 
> 
>> 
>> The icon minilanguage is particularly funny: to show a huge, "good" space shuttle:
>> 
>> Icon(fa.space_shuttle.context_success.rotate_180 * 5)
> 
> You should add some screnshot to the read me :-) 
> 
> Haven't looked at the source deeply, but have you thought of how this would integrate into non-python package ? 
> Like a way to reuse the js part with julia/ruby… etc ? 
> 
> Thanks , you can add a link to that on the wiki, and don't forget the Framework:IPython on PyPi :-) 
> 
> --
> M
> 
> 
> 
>> 
>> Feedback welcome!
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
> 
> 
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
> 
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20140922/b0bb79f7/attachment.html>


More information about the IPython-dev mailing list