Skip to content

Commit 13bf190

Browse files
committedSep 14, 2008
Final doc updates for 0.9 release.
Unless problems arise in final testing, this revision will be 0.9.
2 parents 9fc0079 + e2294a8 commit 13bf190

13 files changed

+1157
-344
lines changed
 

‎docs/source/changes.txt

+78-66
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ What's new
1515
1.4.2 Bug fixes
1616
1.4.3 Backwards incompatible changes
1717
2 Release 0.8.4
18-
3 Release 0.8.2
19-
4 Release 0.8.3
18+
3 Release 0.8.3
19+
4 Release 0.8.2
2020
5 Older releases
2121
..
2222

@@ -68,80 +68,84 @@ New features
6868
be run using the :command:`iptest` command line program.
6969

7070
* The notion of a task has been completely reworked. An `ITask` interface has
71-
been created. This interface defines the methods that tasks need to implement.
72-
These methods are now responsible for things like submitting tasks and processing
73-
results. There are two basic task types: :class:`IPython.kernel.task.StringTask`
74-
(this is the old `Task` object, but renamed) and the new
75-
:class:`IPython.kernel.task.MapTask`, which is based on a function.
71+
been created. This interface defines the methods that tasks need to
72+
implement. These methods are now responsible for things like submitting
73+
tasks and processing results. There are two basic task types:
74+
:class:`IPython.kernel.task.StringTask` (this is the old `Task` object, but
75+
renamed) and the new :class:`IPython.kernel.task.MapTask`, which is based on
76+
a function.
7677

7778
* A new interface, :class:`IPython.kernel.mapper.IMapper` has been defined to
78-
standardize the idea of a `map` method. This interface has a single
79-
`map` method that has the same syntax as the built-in `map`. We have also defined
79+
standardize the idea of a `map` method. This interface has a single `map`
80+
method that has the same syntax as the built-in `map`. We have also defined
8081
a `mapper` factory interface that creates objects that implement
81-
:class:`IPython.kernel.mapper.IMapper` for different controllers. Both
82-
the multiengine and task controller now have mapping capabilties.
82+
:class:`IPython.kernel.mapper.IMapper` for different controllers. Both the
83+
multiengine and task controller now have mapping capabilties.
8384

84-
* The parallel function capabilities have been reworks. The major changes are that
85-
i) there is now an `@parallel` magic that creates parallel functions, ii)
86-
the syntax for mulitple variable follows that of `map`, iii) both the
85+
* The parallel function capabilities have been reworks. The major changes are
86+
that i) there is now an `@parallel` magic that creates parallel functions,
87+
ii) the syntax for mulitple variable follows that of `map`, iii) both the
8788
multiengine and task controller now have a parallel function implementation.
8889

89-
* All of the parallel computing capabilities from `ipython1-dev` have been merged into
90-
IPython proper. This resulted in the following new subpackages:
90+
* All of the parallel computing capabilities from `ipython1-dev` have been
91+
merged into IPython proper. This resulted in the following new subpackages:
9192
:mod:`IPython.kernel`, :mod:`IPython.kernel.core`, :mod:`IPython.config`,
9293
:mod:`IPython.tools` and :mod:`IPython.testing`.
9394

94-
* As part of merging in the `ipython1-dev` stuff, the `setup.py` script and friends
95-
have been completely refactored. Now we are checking for dependencies using
96-
the approach that matplotlib uses.
95+
* As part of merging in the `ipython1-dev` stuff, the `setup.py` script and
96+
friends have been completely refactored. Now we are checking for
97+
dependencies using the approach that matplotlib uses.
9798

9899
* The documentation has been completely reorganized to accept the documentation
99100
from `ipython1-dev`.
100101

101102
* We have switched to using Foolscap for all of our network protocols in
102-
:mod:`IPython.kernel`. This gives us secure connections that are both encrypted
103-
and authenticated.
103+
:mod:`IPython.kernel`. This gives us secure connections that are both
104+
encrypted and authenticated.
104105

105106
* We have a brand new `COPYING.txt` files that describes the IPython license
106107
and copyright. The biggest change is that we are putting "The IPython
107-
Development Team" as the copyright holder. We give more details about exactly
108-
what this means in this file. All developer should read this and use the new
109-
banner in all IPython source code files.
108+
Development Team" as the copyright holder. We give more details about
109+
exactly what this means in this file. All developer should read this and use
110+
the new banner in all IPython source code files.
110111

111112
* sh profile: ./foo runs foo as system command, no need to do !./foo anymore
112113

113-
* String lists now support 'sort(field, nums = True)' method (to easily
114-
sort system command output). Try it with 'a = !ls -l ; a.sort(1, nums=1)'
114+
* String lists now support ``sort(field, nums = True)`` method (to easily sort
115+
system command output). Try it with ``a = !ls -l ; a.sort(1, nums=1)``.
115116

116117
* '%cpaste foo' now assigns the pasted block as string list, instead of string
117118

118-
* The ipcluster script now run by default with no security. This is done because
119-
the main usage of the script is for starting things on localhost. Eventually
120-
when ipcluster is able to start things on other hosts, we will put security
121-
back.
119+
* The ipcluster script now run by default with no security. This is done
120+
because the main usage of the script is for starting things on localhost.
121+
Eventually when ipcluster is able to start things on other hosts, we will put
122+
security back.
122123

123124
* 'cd --foo' searches directory history for string foo, and jumps to that dir.
124125
Last part of dir name is checked first. If no matches for that are found,
125126
look at the whole path.
126127

128+
127129
Bug fixes
128130
---------
129131

130132
* The Windows installer has been fixed. Now all IPython scripts have ``.bat``
131133
versions created. Also, the Start Menu shortcuts have been updated.
132134

133-
* The colors escapes in the multiengine client are now turned off on win32 as they
134-
don't print correctly.
135+
* The colors escapes in the multiengine client are now turned off on win32 as
136+
they don't print correctly.
135137

136-
* The :mod:`IPython.kernel.scripts.ipengine` script was exec'ing mpi_import_statement
137-
incorrectly, which was leading the engine to crash when mpi was enabled.
138+
* The :mod:`IPython.kernel.scripts.ipengine` script was exec'ing
139+
mpi_import_statement incorrectly, which was leading the engine to crash when
140+
mpi was enabled.
138141

139-
* A few subpackages has missing `__init__.py` files.
142+
* A few subpackages had missing ``__init__.py`` files.
140143

141-
* The documentation is only created if Sphinx is found. Previously, the `setup.py`
142-
script would fail if it was missing.
144+
* The documentation is only created if Sphinx is found. Previously, the
145+
``setup.py`` script would fail if it was missing.
143146

144-
* Greedy 'cd' completion has been disabled again (it was enabled in 0.8.4)
147+
* Greedy ``cd`` completion has been disabled again (it was enabled in 0.8.4) as
148+
it caused problems on certain platforms.
145149

146150

147151
Backwards incompatible changes
@@ -184,18 +188,18 @@ Backwards incompatible changes
184188
reflect the new Foolscap network protocol and the FURL files. Please see the
185189
help for these scripts for details.
186190

187-
* The configuration files for the kernel have changed because of the Foolscap stuff.
188-
If you were using custom config files before, you should delete them and regenerate
189-
new ones.
191+
* The configuration files for the kernel have changed because of the Foolscap
192+
stuff. If you were using custom config files before, you should delete them
193+
and regenerate new ones.
190194

191195
Changes merged in from IPython1
192196
-------------------------------
193197

194198
New features
195199
............
196200

197-
* Much improved ``setup.py`` and ``setupegg.py`` scripts. Because Twisted
198-
and zope.interface are now easy installable, we can declare them as dependencies
201+
* Much improved ``setup.py`` and ``setupegg.py`` scripts. Because Twisted and
202+
zope.interface are now easy installable, we can declare them as dependencies
199203
in our setupegg.py script.
200204

201205
* IPython is now compatible with Twisted 2.5.0 and 8.x.
@@ -222,7 +226,8 @@ New features
222226
:func:`blockingCallFromThread` function that is in recent versions of Twisted.
223227

224228
* Functions can now be pushed/pulled to/from engines using
225-
:meth:`MultiEngineClient.push_function` and :meth:`MultiEngineClient.pull_function`.
229+
:meth:`MultiEngineClient.push_function` and
230+
:meth:`MultiEngineClient.pull_function`.
226231

227232
* Gather/scatter are now implemented in the client to reduce the work load
228233
of the controller and improve performance.
@@ -234,9 +239,9 @@ New features
234239

235240
* New developer oriented documentation: development guidelines and roadmap.
236241

237-
* Traditional ``ChangeLog`` has been changed to a more useful ``changes.txt`` file
238-
that is organized by release and is meant to provide something more relevant
239-
for users.
242+
* Traditional ``ChangeLog`` has been changed to a more useful ``changes.txt``
243+
file that is organized by release and is meant to provide something more
244+
relevant for users.
240245

241246
Bug fixes
242247
.........
@@ -261,53 +266,60 @@ Backwards incompatible changes
261266
convention. This will require users to change references to all names like
262267
``queueStatus`` to ``queue_status``.
263268

264-
* Previously, methods like :meth:`MultiEngineClient.push` and
265-
:meth:`MultiEngineClient.push` used ``*args`` and ``**kwargs``. This was
269+
* Previously, methods like :meth:`MultiEngineClient.push` and
270+
:meth:`MultiEngineClient.push` used ``*args`` and ``**kwargs``. This was
266271
becoming a problem as we weren't able to introduce new keyword arguments into
267-
the API. Now these methods simple take a dict or sequence. This has also allowed
268-
us to get rid of the ``*All`` methods like :meth:`pushAll` and :meth:`pullAll`.
269-
These things are now handled with the ``targets`` keyword argument that defaults
270-
to ``'all'``.
272+
the API. Now these methods simple take a dict or sequence. This has also
273+
allowed us to get rid of the ``*All`` methods like :meth:`pushAll` and
274+
:meth:`pullAll`. These things are now handled with the ``targets`` keyword
275+
argument that defaults to ``'all'``.
271276

272277
* The :attr:`MultiEngineClient.magicTargets` has been renamed to
273278
:attr:`MultiEngineClient.targets`.
274279

275-
* All methods in the MultiEngine interface now accept the optional keyword argument
276-
``block``.
280+
* All methods in the MultiEngine interface now accept the optional keyword
281+
argument ``block``.
277282

278283
* Renamed :class:`RemoteController` to :class:`MultiEngineClient` and
279284
:class:`TaskController` to :class:`TaskClient`.
280285

281286
* Renamed the top-level module from :mod:`api` to :mod:`client`.
282287

283-
* Most methods in the multiengine interface now raise a :exc:`CompositeError` exception
284-
that wraps the user's exceptions, rather than just raising the raw user's exception.
288+
* Most methods in the multiengine interface now raise a :exc:`CompositeError`
289+
exception that wraps the user's exceptions, rather than just raising the raw
290+
user's exception.
285291

286292
* Changed the ``setupNS`` and ``resultNames`` in the ``Task`` class to ``push``
287293
and ``pull``.
288294

295+
289296
Release 0.8.4
290297
=============
291298

292-
Someone needs to describe what went into 0.8.4.
299+
This was a quick release to fix an unfortunate bug that slipped into the 0.8.3
300+
release. The ``--twisted`` option was disabled, as it turned out to be broken
301+
across several platforms.
293302

294-
Release 0.8.2
295-
=============
296303

297-
* %pushd/%popd behave differently; now "pushd /foo" pushes CURRENT directory
298-
and jumps to /foo. The current behaviour is closer to the documented
299-
behaviour, and should not trip anyone.
300-
301304
Release 0.8.3
302305
=============
303306

304307
* pydb is now disabled by default (due to %run -d problems). You can enable
305308
it by passing -pydb command line argument to IPython. Note that setting
306309
it in config file won't work.
307310

311+
312+
Release 0.8.2
313+
=============
314+
315+
* %pushd/%popd behave differently; now "pushd /foo" pushes CURRENT directory
316+
and jumps to /foo. The current behaviour is closer to the documented
317+
behaviour, and should not trip anyone.
318+
319+
308320
Older releases
309321
==============
310322

311-
Changes in earlier releases of IPython are described in the older file ``ChangeLog``.
312-
Please refer to this document for details.
323+
Changes in earlier releases of IPython are described in the older file
324+
``ChangeLog``. Please refer to this document for details.
313325

‎docs/source/conf.py

+16-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# -*- coding: utf-8 -*-
22
#
3-
# IPython documentation build configuration file, created by
4-
# sphinx-quickstart on Thu May 8 16:45:02 2008.
3+
# IPython documentation build configuration file.
54

65
# NOTE: This file has been edited manually from the auto-generated one from
76
# sphinx. Do NOT delete and re-generate. If any changes from sphinx are
@@ -21,7 +20,11 @@
2120
# If your extensions are in another directory, add it here. If the directory
2221
# is relative to the documentation root, use os.path.abspath to make it
2322
# absolute, like shown here.
24-
#sys.path.append(os.path.abspath('some/directory'))
23+
sys.path.append(os.path.abspath('../sphinxext'))
24+
25+
# Import support for ipython console session syntax highlighting (lives
26+
# in the sphinxext directory defined above)
27+
import ipython_console_highlighting
2528

2629
# We load the ipython release info into a dict by explicit execution
2730
iprelease = {}
@@ -32,7 +35,10 @@
3235

3336
# Add any Sphinx extension module names here, as strings. They can be extensions
3437
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
35-
#extensions = []
38+
extensions = ['sphinx.ext.autodoc',
39+
'inheritance_diagram', 'only_directives', 'plot_directive',
40+
'ipython_console_highlighting',
41+
]
3642

3743
# Add any paths that contain templates here, relative to this directory.
3844
templates_path = ['_templates']
@@ -67,7 +73,7 @@
6773

6874
# List of directories, relative to source directories, that shouldn't be searched
6975
# for source files.
70-
#exclude_dirs = []
76+
exclude_dirs = ['attic']
7177

7278
# If true, '()' will be appended to :func: etc. cross-reference text.
7379
#add_function_parentheses = True
@@ -135,7 +141,7 @@
135141
#html_file_suffix = ''
136142

137143
# Output file base name for HTML help builder.
138-
htmlhelp_basename = 'IPythondoc'
144+
htmlhelp_basename = 'ipythondoc'
139145

140146

141147
# Options for LaTeX output
@@ -173,5 +179,8 @@
173179
#latex_use_modindex = True
174180

175181

176-
# Cleanup: delete release info to avoid pickling errors from sphinx
182+
# Cleanup
183+
# -------
184+
# delete release info to avoid pickling errors from sphinx
185+
177186
del iprelease

‎docs/source/config/customization.txt

+14-12
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ time. A hybrid approach of specifying a few options in ipythonrc and
1818
doing the more advanced configuration in ipy_user_conf.py is also
1919
possible.
2020

21+
.. _ipythonrc:
22+
2123
The ipythonrc approach
2224
======================
2325

@@ -36,11 +38,11 @@ fairly primitive). Note that these are not python files, and this is
3638
deliberate, because it allows us to do some things which would be quite
3739
tricky to implement if they were normal python files.
3840

39-
First, an rcfile can contain permanent default values for almost all
40-
command line options (except things like -help or -Version). Sec
41-
`command line options`_ contains a description of all command-line
42-
options. However, values you explicitly specify at the command line
43-
override the values defined in the rcfile.
41+
First, an rcfile can contain permanent default values for almost all command
42+
line options (except things like -help or -Version). :ref:`This section
43+
<command_line_options>` contains a description of all command-line
44+
options. However, values you explicitly specify at the command line override
45+
the values defined in the rcfile.
4446

4547
Besides command line option values, the rcfile can specify values for
4648
certain extra special options which are not available at the command
@@ -266,13 +268,13 @@ which look like this::
266268
IPython profiles
267269
================
268270

269-
As we already mentioned, IPython supports the -profile command-line
270-
option (see sec. `command line options`_). A profile is nothing more
271-
than a particular configuration file like your basic ipythonrc one,
272-
but with particular customizations for a specific purpose. When you
273-
start IPython with 'ipython -profile <name>', it assumes that in your
274-
IPYTHONDIR there is a file called ipythonrc-<name> or
275-
ipy_profile_<name>.py, and loads it instead of the normal ipythonrc.
271+
As we already mentioned, IPython supports the -profile command-line option (see
272+
:ref:`here <command_line_options>`). A profile is nothing more than a
273+
particular configuration file like your basic ipythonrc one, but with
274+
particular customizations for a specific purpose. When you start IPython with
275+
'ipython -profile <name>', it assumes that in your IPYTHONDIR there is a file
276+
called ipythonrc-<name> or ipy_profile_<name>.py, and loads it instead of the
277+
normal ipythonrc.
276278

277279
This system allows you to maintain multiple configurations which load
278280
modules, set options, define functions, etc. suitable for different

0 commit comments

Comments
 (0)
Please sign in to comment.