These are chat archives for ipython/ipython

30th
Jun 2015
Remi Rampin
@remram44
Jun 30 2015 00:16
I'm not using javascript, just trying to figure out how to do another frontend, a thing that would send code to a kernel (possibly any kernel, not just python) and print results back
Min RK
@minrk
Jun 30 2015 01:19
@remram44 Written in Python?
You will want to use the KernelClient interface.
See the message protocol here
The KernelClient provides a Python API for requesting execution and receiving the outputs associated with it.
Sylvain Corlay
@SylvainCorlay
Jun 30 2015 02:52
running the pip install -e notebook on a slow computer like a Rpy takes ages
Sylvain Corlay
@SylvainCorlay
Jun 30 2015 03:08
however everything seems to be working fine besides that.
zmq must be installed with the right arm package though because the pypi build won't work
Min RK
@minrk
Jun 30 2015 04:43
Yeah, the node steps take a long time. Installing from stable releases shouldn't be so bad.
Sylvain Corlay
@SylvainCorlay
Jun 30 2015 05:13
ok, it is still running! at the bower steps
Min RK
@minrk
Jun 30 2015 05:14
It's probably ~all unzipping MathJax.
That will take forever on rPi's extremely slow disk and cpu.
It might be worth making sdists/wheels on a real machine, rather than installing straight from git on the rPi.
Scott Sanderson
@ssanderson
Jun 30 2015 13:11
@/all in light of mailing list discussions about more-productively archiving gitter discussions, I just wrote up a quick summary of a problem I had the other day with customizing ipython.Completer. My hope is that the post can serve as a useful template for similar posts in the future: https://groups.google.com/forum/#!topic/jupyter/COhsW7rZgLc
Sylvain Corlay
@SylvainCorlay
Jun 30 2015 13:31
@mrinrk, I let it run and it was completed in the morning :)
Petra Chong
@rekcahpassyla
Jun 30 2015 15:58
I am calling "client.shutdown(hub=True)" - sometimes, I get this error: Exception(u'Unhandled message type: shutdown_notice',)
The cluster appears to shut down correctly
Am I doing something wrong?
Damian Avila
@damianavila
Jun 30 2015 16:24
@/all, I am just arriving Austin right now, so I will probably miss the meeting... I know there will be some changes in how we do the meetings (still I could not answer to all these nice discussion, but I will try to do it during this week). Have a nice meeting with the new format!!
Jason Grout
@jasongrout
Jun 30 2015 16:33
I see the chat about the meeting. We're happy to set up an audio conference, if it helps.
Thomas Kluyver
@takluyver
Jun 30 2015 16:36
@minrk @Carreau I've just got to BIDS; I take it we're not holding the meeting here. Are we up at the lab, or somewhere else?
Min RK
@minrk
Jun 30 2015 16:37
@takluyver I sent you a text, sorry. We went to the room in Evans where we had the dev meeting.
Yeah, it was a bit of a surprise this morning.
Thomas Kluyver
@takluyver
Jun 30 2015 16:38
ah, got it. I hadn't checked my phone. See you in a few minutes.
S. Chris Colbert
@sccolbert
Jun 30 2015 16:39
for the meeting
Matthias Bussonnier
@Carreau
Jun 30 2015 16:44
Figuring things out.
I think we can use BlueJeans from web.
Jason Grout
@jasongrout
Jun 30 2015 16:49
fyi, something just came up and we might miss the dev meeting.
Fernando Perez
@fperez
Jun 30 2015 16:49
ok, bummer...
btw, there turned out to be unexpectedly construction going on at BIDS, so we're going plan B at the last minute with a diffferent room.
audio/video issues might arise.
Kester Tong
@KesterTong
Jun 30 2015 16:54
Me and Craig Citro will also be attending remotely.
phone: 1 888 240 2560
passcode: 6394
Matthias Bussonnier
@Carreau
Jun 30 2015 16:57
can we use 0118 999 881 99 9119 7253 ?
Brian E. Granger
@ellisonbg
Jun 30 2015 16:59
What is the meeting id?
The 63954 is not right
6394
Jason Grout
@jasongrout
Jun 30 2015 16:59
Craig Citro?! Tell him hi for me!
Min RK
@minrk
Jun 30 2015 16:59
meeting id: 8019883485
Brian E. Granger
@ellisonbg
Jun 30 2015 17:01
thanks
Craig Citro
@craigcitro
Jun 30 2015 17:02
@jasongrout yo!
Jonathan Frederic
@jdfreder
Jun 30 2015 17:03
trying to connect
Jonathan Frederic
@jdfreder
Jun 30 2015 17:12
The web browser plugin does not want to install
trying the app...
Zachary Jones
@bigzachattack
Jun 30 2015 17:12
Will blue jeans allow for watching a replay later?
Min RK
@minrk
Jun 30 2015 17:13
it's recording. Not sure what the result of the recording will be.
Jason Grout
@jasongrout
Jun 30 2015 17:18
hey Craig!
Matthias Bussonnier
@Carreau
Jun 30 2015 17:20
@willwhitney Where are you based ?
Will Whitney
@willwhitney
Jun 30 2015 17:26
@Carreau Cambridge MA
I'm at MIT
Matthias Bussonnier
@Carreau
Jun 30 2015 17:27
Ok, you are tagged as beeing in Montain View on github, :-)
So I was wondering if you would be around.
Will Whitney
@willwhitney
Jun 30 2015 17:28
ah, that's out of date
Matthias Bussonnier
@Carreau
Jun 30 2015 17:30
ok :-) Cause we have a conf here in July 17, if if you had been nearby...
Matthias Bussonnier
@Carreau
Jun 30 2015 17:51
Jonathan Frederic
@jdfreder
Jun 30 2015 17:55
I like bluejeans
seemed to work well
S. Chris Colbert
@sccolbert
Jun 30 2015 17:56
the video quality is very smooth
it's nice
apparently they need to update their Chrome plugin soon, though :)_
Jason Grout
@jasongrout
Jun 30 2015 17:57
the audio quality for us was pretty terrible. It was hard to understand people.
Steven Silvester
Jun 30 2015 17:57
same here
Jason Grout
@jasongrout
Jun 30 2015 17:57
+1 on using draw.io. I've used that multiple times and have been impressed.
Brian E. Granger
@ellisonbg
Jun 30 2015 18:00
@minrk @fperez we should do some audio testing of different setups with bluejeans - the audio from your room was pretty bad - but it also sounds like other audio was bad as well
I am wondering if it would be better to have everyone call in separately unless we have access to the nice bluejeans room
Steven Silvester
Jun 30 2015 18:05
I think the feedback from the Berkeley room was affecting others’ audio
Jason Grout
@jasongrout
Jun 30 2015 18:06
Quite possibly it wasn't entirely blue jean's fault
Min RK
@minrk
Jun 30 2015 18:09
Yeah, much of the point of BlueJeans was the nice hardware setup we have at BIDS, but couldn't use today.
It seemed like the phone connections were quite bad.
We should test the BIDS hardware when it becomes available again later this week (not at the beginning of a dev meeting)
Jason Grout
@jasongrout
Jun 30 2015 18:13
@ellisonbg - is Ryan's work in a PR somewhere?
his work in matplotlib?
Sylvain Corlay
@SylvainCorlay
Jun 30 2015 18:26
Hey, IPKernelApp.connection_file only contains the filename, but not the path by default. Just by looking at the IPKernelApp, can one infer the location of the connection file?
There is ipython_dir
but then in the old IPython, it would be ipythondir + '/profile*/security'
Matthias Bussonnier
@Carreau
Jun 30 2015 18:31
Hackpad can be markdown exported :
Matthias Bussonnier
@Carreau
Jun 30 2015 18:46
@ellisonbg around ?
Jonathan Frederic
@jdfreder
Jun 30 2015 18:57
@jasongrout, I don't believe @rmorshea has a repository for that matplotlib work yet. I believe @ellisonbg and he were going to communicate with the matplotlib folks about the broad plan before opening a detailed PR.
Also @jasongrout , with regards to the call quality, I think when you connected the only people who were talking were those at Berkeley. They were sitting in a room with a horrible echo itself. I don't think anyone understood them well...
- maybe that was the problem.
Jason Grout
@jasongrout
Jun 30 2015 19:19
possibly. blue jeans probably wasn't entirely at fault for the call quality.
Răzvan Cosmin Rădulescu
@razvanc-r
Jun 30 2015 19:53
is there a way to connect a kernel (A) to another kernel (B) so that for example ipython console --existing kernel-settings.json works with kernel (A) only?...
Shashi Gowda
@shashi
Jun 30 2015 19:55
Hi all, I want to report an annoyance with the way many mime types are handled currently. In the IJulia kernel we have https://github.com/JuliaLang/IJulia.jl/blob/master/src/execute_request.jl#L24-L44 - which basically renders all possible mimetypes of an object and then sends all of them to the client and the client gets to pick the best one to show. I understand that this is because there are many consumers of the Jupyter messaging protocol and they want to be allowed to pick which mime type to show but this effectively makes Gadfly plots (which support rendering to HTML, SVG and PNG/JPEG) 3 times slower and 3 times as memory intensive, although only the HTML version is finally displayed in, say, the notebook interface.
A good way to handle this is probably have the client send an ordered list of its preferred mime types (probably as a separate message during start up) and the kernel can just use that to pick one to use.
Jason Grout
@jasongrout
Jun 30 2015 19:58
@shashi - that's bothered me also for a while
what if you have multiple clients connected to the same kernel, though?
Shashi Gowda
@shashi
Jun 30 2015 19:58
In Julia the first plot actually also compiles the code required for the rendering of other mime types which is a huge overkill and slows down the first plot considerably...
@jasongrout Each client can send an ordered list of mime types it prefers at the start up and the kernel can choose the best one to respond with.
Jason Grout
@jasongrout
Jun 30 2015 19:59
(by the way, kudos on escher...I want to dig into it more and see how you are doing things)
so the kernel arbitrates, not the clients?
or perhaps the kernel has a (adjustable) algorithm for some smart union of types
Shashi Gowda
@shashi
Jun 30 2015 20:01
The kernel basically selects a middle ground. Say the client says it wants to render either HTML, SVG, PNG - in that order, but for some specific object the kernel can render all three of them, then it will only respond with HTML.
Or if the kernel can render SVG and PNG but not HTML, then it would send SVG
There doesn't need to be a fancy algorithm, just pick the first mime type that works.
@jasongrout thanks, (about escher) :-) you should try it out.
Jason Grout
@jasongrout
Jun 30 2015 20:03
I mean to. We've been working a lot on IPython widgets, and I want to see what I can learn from you
are you planning on being at scipy next week, by chance?
are you Boston? (for some reason, I was thinking you were...)
S. Chris Colbert
@sccolbert
Jun 30 2015 20:06
+1 on this multi-mime type issue
Jason Grout
@jasongrout
Jun 30 2015 20:06
well, currently the kernel does a union of all possible clients, essentially. I'd be in favor of making that adjustable.
Shashi Gowda
@shashi
Jun 30 2015 20:06
@jasongrout I'm here at MIT will be leaving on thursday though
Jason Grout
@jasongrout
Jun 30 2015 20:06
For archival notebooks, for example, you probably want all the mimetypes
oh. if you happen to be in New York anytime, let me know and we can try to get together
where are you going?
Shashi Gowda
@shashi
Jun 30 2015 20:08
For further discussion about this and probable resolution, which github repo should I file an issue in?
Steven Silvester
Jun 30 2015 20:08
^ one problem with “the big split” :smile:
Jason Grout
@jasongrout
Jun 30 2015 20:08
that's always the question these days... It would touch the jupyter notebook, the messaging spec
at least
S. Chris Colbert
@sccolbert
Jun 30 2015 20:14
Where's the new home for IPython.kernel.zmq.session.Session?
more to the point, where can I find the canonical implementation of this: https://ipython.org/ipython-doc/dev/development/messaging.html#the-wire-protocol
because the serialization code in the notebook client doesn't seem to correspond to that
Steven Silvester
Jun 30 2015 20:18
This looks promising:
Jason Grout
@jasongrout
Jun 30 2015 20:18
right, or @blink1073's url for the zmq<->websocket transition
(mine is the zmq serialization from the kernel)
S. Chris Colbert
@sccolbert
Jun 30 2015 20:23
do I have that right?
ok, so there are two different protocols here - one which is an array of binary blobs ("the wire protocol") and another which is the bytestream actually send over the socket ("the real wire protocol")
also an extra list copy in there for most python versions
Steven Silvester
Jun 30 2015 20:26
“the wire protocol” == zmq, “the real wire protocol” == websocket
mayhaps we can optimize it from both ends?
Min RK
@minrk
Jun 30 2015 20:26
I would phrase it the other way around, but sure. There are two wire protocols - one over zmq (the 'real' one) and another over websockets (the band-aid for the web).
Prior to binary msg support, the 'wire' protocol over websockets was json.dumps(msg)
S. Chris Colbert
@sccolbert
Jun 30 2015 20:30
@minrk this link doesn't seem to correspond to the wire protocol though: https://ipython.org/ipython-doc/dev/development/messaging.html#the-wire-protocol
Min RK
@minrk
Jun 30 2015 20:31
It corresponds to the real one. The one over zmq.
S. Chris Colbert
@sccolbert
Jun 30 2015 20:31
which has 4-byte buffer count followed by packed buffer sizes
Steven Silvester
Jun 30 2015 20:31
can we/should we unify them?
Min RK
@minrk
Jun 30 2015 20:32
That doc is written for kernel authors
S. Chris Colbert
@sccolbert
Jun 30 2015 20:32
but a list is not binary
Steven Silvester
Jun 30 2015 20:32
but should it not also apply to front-end developers?
S. Chris Colbert
@sccolbert
Jun 30 2015 20:32
so that is still getting serialized to something
Min RK
@minrk
Jun 30 2015 20:33
zmq handles framing. The "native" format of messages for zmq is a sequence of buffers.
websockets don't provide framing, so for the websocket, we need to implement framing.
Plus the HMAC signature stuff and id routing are also irrelevant to the websocket connection.
So the two simply cannot use the same format, for a wide variety of reasons.
S. Chris Colbert
@sccolbert
Jun 30 2015 20:35
is the websocket format documented anywhere?
Steven Silvester
Jun 30 2015 20:35
in the docstring :smile:
Min RK
@minrk
Jun 30 2015 20:35
I don't think so. Not much of the implementation details of the js are.
And unlike the zmq format that the server uses to talk to kernels, I view the binary message serialization on the websocket as a private implementation detail of the notebook application.
Steven Silvester
Jun 30 2015 20:37
so it is fair game then :wink:
Min RK
@minrk
Jun 30 2015 20:38
sure. If you have a better way to frame the messages, that's fine.
epifanio
@epifanio
Jun 30 2015 21:09
i’m tring to install ipython and jupyter on a fresh ubuntu, i need to make .debs for each dependence (can’t install by pip for spme reason)
it istalls fine making .deb using this tool : https://github.com/jordansissel/fpm
Min RK
@minrk
Jun 30 2015 21:10
For which package?
epifanio
@epifanio
Jun 30 2015 21:10
but after install jupyter i have thois erro trying to start jupyterhub :
i’m tring to have jupyter installed via debs
Min RK
@minrk
Jun 30 2015 21:11
Then it didn't successfully get the dependencies
jupyterhub > traitlets > ipython_genutils
epifanio
@epifanio
Jun 30 2015 21:11
i got tartlets installed, where can i find ipython_genutils ?
is part of the big split ?
Min RK
@minrk
Jun 30 2015 21:12
it's a package on PyPI
yes, it's part of the split
epifanio
@epifanio
Jun 30 2015 21:12
oh shme on me .. was on github and pypi
Min RK
@minrk
Jun 30 2015 21:12
Do you have a way to go straight from a pip install to a deb with dependencies?
epifanio
@epifanio
Jun 30 2015 21:12
sorry
no i don't
i’m reading the requirement.txt and generating debs from that list
Min RK
@minrk
Jun 30 2015 21:14
That only goes one level. Each of those packages may have dependencies.
Try making a virtualenv, then doing a pip install, then pip list. That should show you all of the packages that were installed.
epifanio
@epifanio
Jun 30 2015 21:15
smart!
Min RK
@minrk
Jun 30 2015 21:15
Alternately (I'm not sure how possible this is) you might be able to make one .deb for the whole thing.
epifanio
@epifanio
Jun 30 2015 21:15
i’m makind debs for all of them and then store the debs on a deb-repo
is ipyparallel one of this dep ?
i guess so as it is ipywidget
right ?
i’m getting it, i’ll try to package all of them and then add them as dependencies to the main ipython.deb
Min RK
@minrk
Jun 30 2015 21:17
ipyparallel is not.
Do you want to get everything from master?
Or IPython stable?
epifanio
@epifanio
Jun 30 2015 21:17
master
Min RK
@minrk
Jun 30 2015 21:17
ok
Do you want to use IPython parallel? If so, add it.
If you want to use widgets, they are in ipywidgets. They are not needed, though.
epifanio
@epifanio
Jun 30 2015 21:18
yes i will, is it needed to start the ipython notebook cluster, right ?
Min RK
@minrk
Jun 30 2015 21:18
IPython clusters, yes.
epifanio
@epifanio
Jun 30 2015 21:18
cool, thanks!
epifanio
@epifanio
Jun 30 2015 21:44
ipython-components is the only one that requires bower to be installed, right ? i guess i need to clone the repo and install with : cd src/ ; bower install
Min RK
@minrk
Jun 30 2015 23:03
IPython-components isn't used by master at all.
That repo is defunct
epifanio
@epifanio
Jun 30 2015 23:03
good to know, thanks!
i saw no recent commit
and i missed the readme ...