Skip to content

Commit 3ca5eaf

Browse files
committed
Update proposal.
Remove qtConsole and parallel mentions
1 parent d7f532c commit 3ca5eaf

File tree

1 file changed

+53
-30
lines changed

1 file changed

+53
-30
lines changed

pycon-submission.md

Lines changed: 53 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Title
22

3-
IPython & Jupyter in depth: high productivity interactive and parallel python
3+
IPython & Jupyter in depth: high productivity interactive python
44

55
# Category
66

@@ -16,64 +16,87 @@ Introductory
1616

1717
# Description
1818

19-
IPython and Jupyter provide tools for interactive and parallel computing that are widely
19+
IPython and Jupyter provide tools for interactive computing that are widely
2020
used in scientific computing, but can benefit any Python developer.
2121

22-
We will show how to use IPython in different ways, as: an interactive shell,
23-
a graphical console, a network-aware VM in GUIs, a web-based
24-
notebook with code, graphics and rich HTML.
22+
We will show how to use IPython in different ways, as: an interactive shell, a
23+
graphical console, a network-aware VM in GUIs, a web-based notebook with code,
24+
graphics and rich HTML. We will demonstrate how to deploy a custom environment
25+
with Docker that not only contain multiple Python kernels as well as a couple
26+
of other languages.
2527

26-
# Audience
28+
# Audience
2729

2830
Programmers interested in using Python interactively, especially in data
2931
analysis environments.
3032

3133
# Objectives
3234

33-
At the end of this tutorial, attendees will have an understanding of the overall design of Jupyter as a suite of applications they can use and combine in multiple ways in the course of their development work with Python and other languages. They will learn:
35+
At the end of this tutorial, attendees will have an understanding of the
36+
overall design of Jupyter (and IPython) as a suite of applications they can use
37+
and combine in multiple ways in the course of their development work with
38+
Python and other languages. They will learn:
3439

3540
* Tricks from the IPython machinery that are useful in everyday development,
3641

37-
* What the high-level applications in Jupyter, the web-based notebooks and the graphical Qt console, can do and how they can be used.
42+
* What the high-level applications in Jupyter, the web-based notebooks can do
43+
and how they can be used.
3844

39-
* How the IPython's architecture forms a natural foundation for high-level parallel computing with low latency and high throughput.
45+
* How the overall picture of IPython and Jupyter fits together, so that they
46+
can better use its components for the problem at hand.
4047

41-
* How the overall picture of IPython and Jupyter fits together, so that they can better use its components for the problem at hand.
42-
4348
# Detailed Abstract
4449

45-
IPython started in 2001 simply as a better interactive Python shell. Over the last decade it has grown into a powerful set of interlocking tools that maximize developer productivity in Python while working interactively.
50+
IPython started in 2001 simply as a better interactive Python shell. Over the
51+
last decade it has grown into a powerful set of interlocking tools that
52+
maximize developer productivity in Python while working interactively.
4653

47-
Today, Jupyter consists of an IPython kernel that executes user code, provides many features for introspection and namespace manipulation, and tools to control this kernel either in-process or out-of-process thanks to a well specified communications protocol implemented over ZeroMQ. This architecture allows the core features to be accessed via a variety of clients, each providing unique functionality tuned to a specific use case:
54+
Today, Jupyter consists of an IPython kernel that executes user code, provides
55+
many features for introspection and namespace manipulation, and tools to
56+
control this kernel either in-process or out-of-process thanks to a well
57+
specified communications protocol implemented over ZeroMQ. This architecture
58+
allows the core features to be accessed via a variety of clients, each
59+
providing unique functionality tuned to a specific use case:
4860

49-
* An interactive, terminal-based shell with capabilities beyond the default Python interactive interpreter (this is the classic application opened by the `ipython` command that most users are familiar with).
61+
* An interactive, terminal-based shell with capabilities beyond the default
62+
Python interactive interpreter (this is the classic application opened by the
63+
`ipython` command that most users are familiar with).
5064

51-
* A [graphical, Qt-based console](http://ipython.org/ipython-doc/stable/interactive/qtconsole.html) that provides the look and feel of a terminal, but adds support for inline figures, graphical calltips, a persistent session that can survive crashes of the kernel process, and more. A user-based review of some of these features can be found [here](http://stronginference.com/weblog/2011/7/15/innovations-in-ipython.html).
65+
* A [web-based notebook](http://jupyter.org/) that can execute
66+
code and also contain rich text and figures, mathematical equations and
67+
arbitrary HTML. This notebook presents a document-like view with cells where
68+
code is executed but that can be edited in-place, reordered, mixed with
69+
explanatory text and figures, etc. The notebook provides an interactive
70+
experience that combines live code and results with literate documentation
71+
and the rich media that modern browsers can display:
5272

53-
* A [web-based notebook](http://ipython.org/notebook.html) that can execute code and also contain rich text and figures, mathematical equations and arbitrary HTML. This notebook presents a document-like view with cells where code is executed but that can be edited in-place, reordered, mixed with explanatory text and figures, etc. The notebook provides an interactive experience that combines live code and results with literate documentation and the rich media that modern browsers can display:
73+
![Notebook screenshot](http://jupyter.org/assets/jupyterpreview.png)
5474

55-
![Notebook screenshot](http://i.imgur.com/eo2SqS9.png)
75+
The notebooks also allow for code in multiple language allowing to mix Python
76+
with Cython, C, R and other languages to access features hard to obain from
77+
Python.
5678

57-
* A high-performance, low-latency system for [parallel computing](http://ipython.org/ipython-doc/stable/parallel/parallel_intro.html) that supports the control of a cluster of IPython engines communicating over ZeroMQ, with optimizations that minimize unnecessary copying of large objects (especially numpy arrays). These engines can be controlled interactively while developing and doing exploratory work, or can run in batch mode either on a local machine or in a large cluster/supercomputing environment via a batch scheduler.
58-
59-
These tools also increasingly work with languages other than Python, and we are renaming the language independent frontend components to *Jupyter* in order to make this clearer. The Python kernel we provide and the original terminal-based shell will continue to be called *IPython*.
79+
These tools also increasingly work with languages other than Python, and we are
80+
renaming the language independent frontend components to *Jupyter* in order to
81+
make this clearer. The Python kernel we provide and the original terminal-based
82+
shell will continue to be called *IPython*.
6083

6184
In this hands-on, in-depth tutorial, we will briefly describe IPython's
6285
architecture and will then show how to use the above tools for a highly
6386
productive workflow in Python.
6487

6588
# Outline
6689

67-
**IPython: Interactivity beyond Python**
90+
**IPython: Interactivity beyond Python**
6891

6992
- Introducing the IPython Notebook as an interactive environment.
7093
- Beyond Python: magic commands, shell access, object introspection, variable caching.
71-
- Development workflow: integrating IPython with scripts via the `%run` command.
94+
- Development workflow: integrating IPython with scripts via the `%run` command.
7295
- Tools for typical development tasks: timing, profiling, debugging.
7396

7497
**Back to the terminal(s)**
7598

76-
- The text and Qt-based consoles.
99+
- Demo and discussion of the last added features of the command line interpreter.
77100
- `IPython.embed`: a useful 'microscope' into your own scripts.
78101
- Control the namespace of your GUI codes with an IPython kernel.
79102
- Customizing IPython with profiles.
@@ -86,12 +109,11 @@ productive workflow in Python.
86109
- Converting notebooks to other formats for sharing, blogging and publication.
87110
- Sharing your notebooks: [nbviewer](http://nbviewer.ipython.org).
88111

89-
**Last section**
112+
**Last section**
90113

91-
- Widgets?
92-
- Libraries that make the most of IPython (dask, pandas, etc.)?
93-
- Parallel?
94-
- Deploying with docker?
114+
- Deploying with docker (locally or in the cloud).
115+
- have the attendees deploy a image that contain the latest development versions.
116+
- show how to write various extensions, and multi language integration.
95117

96118
# More info
97119

@@ -104,5 +126,6 @@ The materials for this tutorial are
104126

105127
# Additional Notes
106128

107-
Versions of this tutorial have been presented at PyCon 2012, 2014, and 2015.
108-
It has been well received so far, and we would like to do keep teaching about IPython!
129+
Versions of this tutorial have been presented at PyCon 2012, 2014, and 2015. It
130+
has been well received so far, and we would like to do keep teaching about
131+
IPython and Jupyter!

0 commit comments

Comments
 (0)