ipython/ipython — pull request #2211 by minrk (2012-07-27 20:32:48+00:00)
Title: add data publication message

Functions just like displaypub, but sends a namespace of actual data instead of representations. This uses the serialization/zero-copy machinery of the parallel code.

The current interpretation of a sequence of data publications within a cell is *updates* of a single namespace. That is, a series of calls to `publish_data(dict(A=...))` during a given cell will result in a single dict with the latest value of `A`, updated in-place. An alternate interpretation could be to keep appending to a list, but I expect the current update approach to be preferable.

Changes along the way:

AsyncResults no longer protect metadata access while results are pending.
This was an artificial limitation, and impedes informed access of incomplete metadata,
which actually works just fine.

TODO:

* add to message spec doc
* decide what, if anything, belongs in the 'content' of a data_message.
* handle datapub in the Hub / TaskDB