Changes in IPython Parallel¶
5.0¶
5.0.1¶
- Fix imports in
use_cloudpickle()
,use_dill()
. - Various typos and documentation updates to catch up with 5.0.
5.0.0¶
The highlight of ipyparallel 5.0 is that the Client has been reorganized a bit to use Futures. AsyncResults are now a Future subclass, so they can be `yield`ed in coroutines, etc. Views have also received an Executor interface. This rewrite better connects results to their handles, so the Client.results cache should no longer grow unbounded.
See also
- The Executor API
ipyparallel.ViewExecutor
- Creating an Executor from a Client:
ipyparallel.Client.executor()
- Each View has an
executor
attribute
Part of the Future refactor is that Client IO is now handled in a background thread,
which means that Client.spin_thread()
is obsolete and deprecated.
Other changes:
- Add ipcluster nbextension enable|disable to toggle the clusters tab in Jupyter notebook
Less interesting development changes for users:
Some IPython-parallel extensions to the IPython kernel have been moved to the ipyparallel package:
ipykernel.datapub
is nowipyparallel.datapub
- ipykernel Python serialization is now in
ipyparallel.serialize
- apply_request message handling is implememented in a Kernel subclass, rather than the base ipykernel Kernel.
4.1¶
- Add
Client.wait_interactive()
- Improvements for specifying engines with SSH launcher.