|
|
2005-07-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (ExceptionColors): Make a global variable
|
|
|
out of the color scheme table used for coloring exception
|
|
|
tracebacks. This allows user code to add new schemes at runtime.
|
|
|
This is a minimally modified version of the patch at
|
|
|
http://www.scipy.net/roundup/ipython/issue35, many thanks to pabw
|
|
|
for the contribution.
|
|
|
|
|
|
* IPython/FlexCompleter.py (Completer.attr_matches): Add a
|
|
|
slightly modified version of the patch in
|
|
|
http://www.scipy.net/roundup/ipython/issue34, which also allows me
|
|
|
to remove the previous try/except solution (which was costlier).
|
|
|
Thanks to glehmann for the fix.
|
|
|
|
|
|
2005-06-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (write/write_err): Add methods to abstract all
|
|
|
I/O a bit more.
|
|
|
|
|
|
* IPython/Shell.py (IPShellGTK.mainloop): Fix GTK deprecation
|
|
|
warning, reported by Aric Hagberg, fix by JD Hunter.
|
|
|
|
|
|
2005-06-02 *** Released version 0.6.15
|
|
|
|
|
|
2005-06-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (MagicCompleter.file_matches): Fix
|
|
|
tab-completion of filenames within open-quoted strings. Note that
|
|
|
this requires that in ~/.ipython/ipythonrc, users change the
|
|
|
readline delimiters configuration to read:
|
|
|
|
|
|
readline_remove_delims -/~
|
|
|
|
|
|
|
|
|
2005-05-31 *** Released version 0.6.14
|
|
|
|
|
|
2005-05-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.text): Fix crash for tracebacks
|
|
|
with files not on the filesystem. Reported by Eliyahu Sandler
|
|
|
<eli@gondolin.net>
|
|
|
|
|
|
2005-05-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py: Fix a few crashes in the --upgrade option.
|
|
|
After an initial report by LUK ShunTim <shuntim.luk@polyu.edu.hk>.
|
|
|
|
|
|
2005-05-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (safe_execfile): close a file which could be
|
|
|
left open (causing problems in win32, which locks open files).
|
|
|
Thanks to a bug report by D Brown <dbrown2@yahoo.com>.
|
|
|
|
|
|
2005-05-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase.mplot_exec): pass all
|
|
|
keyword arguments correctly to safe_execfile().
|
|
|
|
|
|
2005-05-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* ipython.1: Added info about Qt to manpage, and threads warning
|
|
|
to usage page (invoked with --help).
|
|
|
|
|
|
* IPython/iplib.py (MagicCompleter.python_func_kw_matches): Added
|
|
|
new matcher (it goes at the end of the priority list) to do
|
|
|
tab-completion on named function arguments. Submitted by George
|
|
|
Sakkis <gsakkis-AT-eden.rutgers.edu>. See the thread at
|
|
|
http://www.scipy.net/pipermail/ipython-dev/2005-April/000436.html
|
|
|
for more details.
|
|
|
|
|
|
* IPython/Magic.py (magic_run): Added new -e flag to ignore
|
|
|
SystemExit exceptions in the script being run. Thanks to a report
|
|
|
by danny shevitz <danny_shevitz-AT-yahoo.com>, about this
|
|
|
producing very annoying behavior when running unit tests.
|
|
|
|
|
|
2005-05-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (handle_auto): fixed auto-quoting and parens,
|
|
|
which I'd broken (again) due to a changed regexp. In the process,
|
|
|
added ';' as an escape to auto-quote the whole line without
|
|
|
splitting its arguments. Thanks to a report by Jerry McRae
|
|
|
<qrs0xyc02-AT-sneakemail.com>.
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.text): protect against rare but
|
|
|
possible crashes caused by a TokenError. Reported by Ed Schofield
|
|
|
<schofield-AT-ftw.at>.
|
|
|
|
|
|
2005-05-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (hijack_wx): Fix to work with WX v.2.6.
|
|
|
|
|
|
2005-04-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellQt): Thanks to Denis Rivière
|
|
|
<nudz-AT-free.fr>, Yann Cointepas <yann-AT-sapetnioc.org> and Benjamin
|
|
|
Thyreau <Benji2-AT-decideur.info>, we now have a -qthread option
|
|
|
which provides support for Qt interactive usage (similar to the
|
|
|
existing one for WX and GTK). This had been often requested.
|
|
|
|
|
|
2005-04-14 *** Released version 0.6.13
|
|
|
|
|
|
2005-04-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic._ofind): remove docstring evaluation
|
|
|
from _ofind, which gets called on almost every input line. Now,
|
|
|
we only try to get docstrings if they are actually going to be
|
|
|
used (the overhead of fetching unnecessary docstrings can be
|
|
|
noticeable for certain objects, such as Pyro proxies).
|
|
|
|
|
|
* IPython/iplib.py (MagicCompleter.python_matches): Change the API
|
|
|
for completers. For some reason I had been passing them the state
|
|
|
variable, which completers never actually need, and was in
|
|
|
conflict with the rlcompleter API. Custom completers ONLY need to
|
|
|
take the text parameter.
|
|
|
|
|
|
* IPython/Extensions/InterpreterExec.py: Fix regexp so that magics
|
|
|
work correctly in pysh. I've also moved all the logic which used
|
|
|
to be in pysh.py here, which will prevent problems with future
|
|
|
upgrades. However, this time I must warn users to update their
|
|
|
pysh profile to include the line
|
|
|
|
|
|
import_all IPython.Extensions.InterpreterExec
|
|
|
|
|
|
because otherwise things won't work for them. They MUST also
|
|
|
delete pysh.py and the line
|
|
|
|
|
|
execfile pysh.py
|
|
|
|
|
|
from their ipythonrc-pysh.
|
|
|
|
|
|
* IPython/FlexCompleter.py (Completer.attr_matches): Make more
|
|
|
robust in the face of objects whose dir() returns non-strings
|
|
|
(which it shouldn't, but some broken libs like ITK do). Thanks to
|
|
|
a patch by John Hunter (implemented differently, though). Also
|
|
|
minor improvements by using .extend instead of + on lists.
|
|
|
|
|
|
* pysh.py:
|
|
|
|
|
|
2005-04-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Make multi_line_specials on
|
|
|
by default, so that all users benefit from it. Those who don't
|
|
|
want it can still turn it off.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc: Add multi_line_specials to the
|
|
|
config file, I'd forgotten about this, so users were getting it
|
|
|
off by default.
|
|
|
|
|
|
* IPython/iplib.py (ipmagic): big overhaul of the magic system for
|
|
|
consistency. Now magics can be called in multiline statements,
|
|
|
and python variables can be expanded in magic calls via $var.
|
|
|
This makes the magic system behave just like aliases or !system
|
|
|
calls.
|
|
|
|
|
|
2005-03-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (handle_auto): cleanup to use %s instead of
|
|
|
expensive string additions for building command. Add support for
|
|
|
trailing ';' when autocall is used.
|
|
|
|
|
|
2005-03-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* ipython.el: Fix http://www.scipy.net/roundup/ipython/issue31.
|
|
|
Bugfix by A. Schmolck, the ipython.el maintainer. Also make
|
|
|
ipython.el robust against prompts with any number of spaces
|
|
|
(including 0) after the ':' character.
|
|
|
|
|
|
* IPython/Prompts.py (Prompt2.set_p_str): Fix spurious space in
|
|
|
continuation prompt, which misled users to think the line was
|
|
|
already indented. Closes debian Bug#300847, reported to me by
|
|
|
Norbert Tretkowski <tretkowski-AT-inittab.de>.
|
|
|
|
|
|
2005-03-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (Prompt1.__str__): Make sure that prompts are
|
|
|
properly aligned if they have embedded newlines.
|
|
|
|
|
|
* IPython/iplib.py (runlines): Add a public method to expose
|
|
|
IPython's code execution machinery, so that users can run strings
|
|
|
as if they had been typed at the prompt interactively.
|
|
|
(InteractiveShell.__init__): Added getoutput() to the __IPYTHON__
|
|
|
methods which can call the system shell, but with python variable
|
|
|
expansion. The three such methods are: __IPYTHON__.system,
|
|
|
.getoutput and .getoutputerror. These need to be documented in a
|
|
|
'public API' section (to be written) of the manual.
|
|
|
|
|
|
2005-03-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.set_custom_exc): new system
|
|
|
for custom exception handling. This is quite powerful, and it
|
|
|
allows for user-installable exception handlers which can trap
|
|
|
custom exceptions at runtime and treat them separately from
|
|
|
IPython's default mechanisms. At the request of Frédéric
|
|
|
Mantegazza <mantegazza-AT-ill.fr>.
|
|
|
(InteractiveShell.set_custom_completer): public API function to
|
|
|
add new completers at runtime.
|
|
|
|
|
|
2005-03-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/OInspect.py (getdoc): Add a call to obj.getdoc(), to
|
|
|
allow objects which provide their docstrings via non-standard
|
|
|
mechanisms (like Pyro proxies) to still be inspected by ipython's
|
|
|
? system.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): back off the _o/_e
|
|
|
automatic capture system. I tried quite hard to make it work
|
|
|
reliably, and simply failed. I tried many combinations with the
|
|
|
subprocess module, but eventually nothing worked in all needed
|
|
|
cases (not blocking stdin for the child, duplicating stdout
|
|
|
without blocking, etc). The new %sc/%sx still do capture to these
|
|
|
magical list/string objects which make shell use much more
|
|
|
conveninent, so not all is lost.
|
|
|
|
|
|
XXX - FIX MANUAL for the change above!
|
|
|
|
|
|
(runsource): I copied code.py's runsource() into ipython to modify
|
|
|
it a bit. Now the code object and source to be executed are
|
|
|
stored in ipython. This makes this info accessible to third-party
|
|
|
tools, like custom exception handlers. After a request by Frédéric
|
|
|
Mantegazza <mantegazza-AT-ill.fr>.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc: Add up/down arrow keys to
|
|
|
history-search via readline (like C-p/C-n). I'd wanted this for a
|
|
|
long time, but only recently found out how to do it. For users
|
|
|
who already have their ipythonrc files made and want this, just
|
|
|
add:
|
|
|
|
|
|
readline_parse_and_bind "\e[A": history-search-backward
|
|
|
readline_parse_and_bind "\e[B": history-search-forward
|
|
|
|
|
|
2005-03-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (magic_sc): %sc and %sx now use the fancy
|
|
|
LSString and SList classes which allow transparent conversions
|
|
|
between list mode and whitespace-separated string.
|
|
|
(magic_r): Fix recursion problem in %r.
|
|
|
|
|
|
* IPython/genutils.py (LSString): New class to be used for
|
|
|
automatic storage of the results of all alias/system calls in _o
|
|
|
and _e (stdout/err). These provide a .l/.list attribute which
|
|
|
does automatic splitting on newlines. This means that for most
|
|
|
uses, you'll never need to do capturing of output with %sc/%sx
|
|
|
anymore, since ipython keeps this always done for you. Note that
|
|
|
only the LAST results are stored, the _o/e variables are
|
|
|
overwritten on each call. If you need to save their contents
|
|
|
further, simply bind them to any other name.
|
|
|
|
|
|
2005-03-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (BasePrompt.cwd_filt): a few more fixes for
|
|
|
prompt namespace handling.
|
|
|
|
|
|
2005-03-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput.__init__): Fix default and
|
|
|
classic prompts to be '>>> ' (final space was missing, and it
|
|
|
trips the emacs python mode).
|
|
|
(BasePrompt.__str__): Added safe support for dynamic prompt
|
|
|
strings. Now you can set your prompt string to be '$x', and the
|
|
|
value of x will be printed from your interactive namespace. The
|
|
|
interpolation syntax includes the full Itpl support, so
|
|
|
${foo()+x+bar()} is a valid prompt string now, and the function
|
|
|
calls will be made at runtime.
|
|
|
|
|
|
2005-03-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (magic_history): renamed %hist to %history, to
|
|
|
avoid name clashes in pylab. %hist still works, it just forwards
|
|
|
the call to %history.
|
|
|
|
|
|
2005-03-02 *** Released version 0.6.12
|
|
|
|
|
|
2005-03-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (handle_magic): log magic calls properly as
|
|
|
ipmagic() function calls.
|
|
|
|
|
|
* IPython/Magic.py (magic_time): Improved %time to support
|
|
|
statements and provide wall-clock as well as CPU time.
|
|
|
|
|
|
2005-02-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/hooks.py: New hooks module, to expose user-modifiable
|
|
|
IPython functionality in a clean manner. For now only the editor
|
|
|
hook is actually written, and other thigns which I intend to turn
|
|
|
into proper hooks aren't yet there. The display and prefilter
|
|
|
stuff, for example, should be hooks. But at least now the
|
|
|
framework is in place, and the rest can be moved here with more
|
|
|
time later. IPython had had a .hooks variable for a long time for
|
|
|
this purpose, but I'd never actually used it for anything.
|
|
|
|
|
|
2005-02-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): make the default ipython
|
|
|
directory be called _ipython under win32, to follow more the
|
|
|
naming peculiarities of that platform (where buggy software like
|
|
|
Visual Sourcesafe breaks with .named directories). Reported by
|
|
|
Ville Vainio.
|
|
|
|
|
|
2005-02-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): removed a few
|
|
|
auto_aliases for win32 which were causing problems. Users can
|
|
|
define the ones they personally like.
|
|
|
|
|
|
2005-02-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (magic_time): new magic to time execution of
|
|
|
expressions. After a request by Charles Moad <cmoad-AT-indiana.edu>.
|
|
|
|
|
|
2005-02-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ConfigLoader.py (ConfigLoader.load): Allow empty strings
|
|
|
into keys (for prompts, for example).
|
|
|
|
|
|
* IPython/Prompts.py (BasePrompt.set_p_str): Fix to allow empty
|
|
|
prompts in case users want them. This introduces a small behavior
|
|
|
change: ipython does not automatically add a space to all prompts
|
|
|
anymore. To get the old prompts with a space, users should add it
|
|
|
manually to their ipythonrc file, so for example prompt_in1 should
|
|
|
now read 'In [\#]: ' instead of 'In [\#]:'.
|
|
|
(BasePrompt.__init__): New option prompts_pad_left (only in rc
|
|
|
file) to control left-padding of secondary prompts.
|
|
|
|
|
|
* IPython/Magic.py (Magic.profile_missing_notice): Don't crash if
|
|
|
the profiler can't be imported. Fix for Debian, which removed
|
|
|
profile.py because of License issues. I applied a slightly
|
|
|
modified version of the original Debian patch at
|
|
|
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=294500.
|
|
|
|
|
|
2005-02-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (native_line_ends): Fix bug which would
|
|
|
cause improper line-ends under win32 b/c I was not opening files
|
|
|
in binary mode. Bug report and fix thanks to Ville.
|
|
|
|
|
|
* IPython/iplib.py (handle_auto): Fix bug which I introduced when
|
|
|
trying to catch spurious foo[1] autocalls. My fix actually broke
|
|
|
',/' autoquote/call with explicit escape (bad regexp).
|
|
|
|
|
|
2005-02-15 *** Released version 0.6.11
|
|
|
|
|
|
2005-02-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/background_jobs.py: New background job management
|
|
|
subsystem. This is implemented via a new set of classes, and
|
|
|
IPython now provides a builtin 'jobs' object for background job
|
|
|
execution. A convenience %bg magic serves as a lightweight
|
|
|
frontend for starting the more common type of calls. This was
|
|
|
inspired by discussions with B. Granger and the BackgroundCommand
|
|
|
class described in the book Python Scripting for Computational
|
|
|
Science, by H. P. Langtangen: http://folk.uio.no/hpl/scripting
|
|
|
(although ultimately no code from this text was used, as IPython's
|
|
|
system is a separate implementation).
|
|
|
|
|
|
* IPython/iplib.py (MagicCompleter.python_matches): add new option
|
|
|
to control the completion of single/double underscore names
|
|
|
separately. As documented in the example ipytonrc file, the
|
|
|
readline_omit__names variable can now be set to 2, to omit even
|
|
|
single underscore names. Thanks to a patch by Brian Wong
|
|
|
<BrianWong-AT-AirgoNetworks.Com>.
|
|
|
(InteractiveShell.__init__): Fix bug which would cause foo[1] to
|
|
|
be autocalled as foo([1]) if foo were callable. A problem for
|
|
|
things which are both callable and implement __getitem__.
|
|
|
(init_readline): Fix autoindentation for win32. Thanks to a patch
|
|
|
by Vivian De Smedt <vivian-AT-vdesmedt.com>.
|
|
|
|
|
|
2005-02-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Disabled the stout traps
|
|
|
which I had written long ago to sort out user error messages which
|
|
|
may occur during startup. This seemed like a good idea initially,
|
|
|
but it has proven a disaster in retrospect. I don't want to
|
|
|
change much code for now, so my fix is to set the internal 'debug'
|
|
|
flag to true everywhere, whose only job was precisely to control
|
|
|
this subsystem. This closes issue 28 (as well as avoiding all
|
|
|
sorts of strange hangups which occur from time to time).
|
|
|
|
|
|
2005-02-07 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (magic_edit): Fix 'ed -p' not working when the
|
|
|
previous call produced a syntax error.
|
|
|
|
|
|
* IPython/OInspect.py (Inspector.pinfo): Fix crash when inspecting
|
|
|
classes without constructor.
|
|
|
|
|
|
2005-02-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (MagicCompleter.complete): Extend the list of
|
|
|
completions with the results of each matcher, so we return results
|
|
|
to the user from all namespaces. This breaks with ipython
|
|
|
tradition, but I think it's a nicer behavior. Now you get all
|
|
|
possible completions listed, from all possible namespaces (python,
|
|
|
filesystem, magics...) After a request by John Hunter
|
|
|
<jdhunter-AT-nitace.bsd.uchicago.edu>.
|
|
|
|
|
|
2005-02-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (magic_prun): Fix bug where prun would fail if
|
|
|
the call had quote characters in it (the quotes were stripped).
|
|
|
|
|
|
2005-01-31 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): reduce reliance on
|
|
|
Itpl.itpl() to make the code more robust against psyco
|
|
|
optimizations.
|
|
|
|
|
|
* IPython/Itpl.py (Itpl.__str__): Use a _getframe() call instead
|
|
|
of causing an exception. Quicker, cleaner.
|
|
|
|
|
|
2005-01-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* scripts/ipython_win_post_install.py (install): hardcode
|
|
|
sys.prefix+'python.exe' as the executable path. It turns out that
|
|
|
during the post-installation run, sys.executable resolves to the
|
|
|
name of the binary installer! I should report this as a distutils
|
|
|
bug, I think. I updated the .10 release with this tiny fix, to
|
|
|
avoid annoying the lists further.
|
|
|
|
|
|
2005-01-27 *** Released version 0.6.10
|
|
|
|
|
|
2005-01-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (norm): Added 'inf' as optional name for
|
|
|
L-infinity norm, included references to mathworld.com for vector
|
|
|
norm definitions.
|
|
|
(amin/amax): added amin/amax for array min/max. Similar to what
|
|
|
pylab ships with after the recent reorganization of names.
|
|
|
(spike/spike_odd): removed deprecated spike/spike_odd functions.
|
|
|
|
|
|
* ipython.el: committed Alex's recent fixes and improvements.
|
|
|
Tested with python-mode from CVS, and it looks excellent. Since
|
|
|
python-mode hasn't released anything in a while, I'm temporarily
|
|
|
putting a copy of today's CVS (v 4.70) of python-mode in:
|
|
|
http://ipython.scipy.org/tmp/python-mode.el
|
|
|
|
|
|
* scripts/ipython_win_post_install.py (install): Win32 fix to use
|
|
|
sys.executable for the executable name, instead of assuming it's
|
|
|
called 'python.exe' (the post-installer would have produced broken
|
|
|
setups on systems with a differently named python binary).
|
|
|
|
|
|
* IPython/PyColorize.py (Parser.__call__): change explicit '\n'
|
|
|
references to os.linesep, to make the code more
|
|
|
platform-independent. This is also part of the win32 coloring
|
|
|
fixes.
|
|
|
|
|
|
* IPython/genutils.py (page_dumb): Remove attempts to chop long
|
|
|
lines, which actually cause coloring bugs because the length of
|
|
|
the line is very difficult to correctly compute with embedded
|
|
|
escapes. This was the source of all the coloring problems under
|
|
|
Win32. I think that _finally_, Win32 users have a properly
|
|
|
working ipython in all respects. This would never have happened
|
|
|
if not for Gary Bishop and Viktor Ransmayr's great help and work.
|
|
|
|
|
|
2005-01-26 *** Released version 0.6.9
|
|
|
|
|
|
2005-01-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py: finally, we have a true Windows installer, thanks to
|
|
|
the excellent work of Viktor Ransmayr
|
|
|
<viktor.ransmayr-AT-t-online.de>. The docs have been updated for
|
|
|
Windows users. The setup routine is quite a bit cleaner thanks to
|
|
|
this, and the post-install script uses the proper functions to
|
|
|
allow a clean de-installation using the standard Windows Control
|
|
|
Panel.
|
|
|
|
|
|
* IPython/genutils.py (get_home_dir): changed to use the $HOME
|
|
|
environment variable under all OSes (including win32) if
|
|
|
available. This will give consistency to win32 users who have set
|
|
|
this variable for any reason. If os.environ['HOME'] fails, the
|
|
|
previous policy of using HOMEDRIVE\HOMEPATH kicks in.
|
|
|
|
|
|
2005-01-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (empty_like): add empty_like(), similar to
|
|
|
zeros_like() but taking advantage of the new empty() Numeric routine.
|
|
|
|
|
|
2005-01-23 *** Released version 0.6.8
|
|
|
|
|
|
2005-01-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase.mplot_exec): I removed the
|
|
|
automatic show() calls. After discussing things with JDH, it
|
|
|
turns out there are too many corner cases where this can go wrong.
|
|
|
It's best not to try to be 'too smart', and simply have ipython
|
|
|
reproduce as much as possible the default behavior of a normal
|
|
|
python shell.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): Modified the
|
|
|
line-splitting regexp and _prefilter() to avoid calling getattr()
|
|
|
on assignments. This closes
|
|
|
http://www.scipy.net/roundup/ipython/issue24. Note that Python's
|
|
|
readline uses getattr(), so a simple <TAB> keypress is still
|
|
|
enough to trigger getattr() calls on an object.
|
|
|
|
|
|
2005-01-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase.magic_run): Fix the %run
|
|
|
docstring under pylab so it doesn't mask the original.
|
|
|
|
|
|
2005-01-21 *** Released version 0.6.7
|
|
|
|
|
|
2005-01-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MTInteractiveShell.runcode): Trap a crash with
|
|
|
signal handling for win32 users in multithreaded mode.
|
|
|
|
|
|
2005-01-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/OInspect.py (Inspector.pinfo): Fix crash when inspecting
|
|
|
instances with no __init__. After a crash report by Norbert Nemec
|
|
|
<Norbert-AT-nemec-online.de>.
|
|
|
|
|
|
2005-01-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.text): Fix bug in reporting of
|
|
|
names for verbose exceptions, when multiple dotted names and the
|
|
|
'parent' object were present on the same line.
|
|
|
|
|
|
2005-01-11 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (flag_calls): new utility to trap and flag
|
|
|
calls in functions. I need it to clean up matplotlib support.
|
|
|
Also removed some deprecated code in genutils.
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase.mplot_exec): small fix so
|
|
|
that matplotlib scripts called with %run, which don't call show()
|
|
|
themselves, still have their plotting windows open.
|
|
|
|
|
|
2005-01-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellGTK.__init__): Patch by Andrew Straw
|
|
|
<astraw-AT-caltech.edu>, to fix gtk deprecation warnings.
|
|
|
|
|
|
2004-12-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MTInteractiveShell.runcode): Get rid of
|
|
|
parent_runcode, which was an eyesore. The same result can be
|
|
|
obtained with Python's regular superclass mechanisms.
|
|
|
|
|
|
2004-12-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_sc): Fix quote stripping problem
|
|
|
reported by Prabhu.
|
|
|
(Magic.magic_sx): direct all errors to Term.cerr (defaults to
|
|
|
sys.stderr) instead of explicitly calling sys.stderr. This helps
|
|
|
maintain our I/O abstractions clean, for future GUI embeddings.
|
|
|
|
|
|
* IPython/genutils.py (info): added new utility for sys.stderr
|
|
|
unified info message handling (thin wrapper around warn()).
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.text): Fix misreported global
|
|
|
composite (dotted) names on verbose exceptions.
|
|
|
(VerboseTB.nullrepr): harden against another kind of errors which
|
|
|
Python's inspect module can trigger, and which were crashing
|
|
|
IPython. Thanks to a report by Marco Lombardi
|
|
|
<mlombard-AT-ma010192.hq.eso.org>.
|
|
|
|
|
|
2004-12-13 *** Released version 0.6.6
|
|
|
|
|
|
2004-12-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellGTK.mainloop): catch RuntimeErrors
|
|
|
generated by pygtk upon initialization if it was built without
|
|
|
threads (for matplotlib users). After a crash reported by
|
|
|
Leguijt, Jaap J SIEP-EPT-RES <Jaap.Leguijt-AT-shell.com>.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): fix small bug in the
|
|
|
import_some parameter for multiple imports.
|
|
|
|
|
|
* IPython/iplib.py (ipmagic): simplified the interface of
|
|
|
ipmagic() to take a single string argument, just as it would be
|
|
|
typed at the IPython cmd line.
|
|
|
(ipalias): Added new ipalias() with an interface identical to
|
|
|
ipmagic(). This completes exposing a pure python interface to the
|
|
|
alias and magic system, which can be used in loops or more complex
|
|
|
code where IPython's automatic line mangling is not active.
|
|
|
|
|
|
* IPython/genutils.py (timing): changed interface of timing to
|
|
|
simply run code once, which is the most common case. timings()
|
|
|
remains unchanged, for the cases where you want multiple runs.
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase._matplotlib_config): Fix a
|
|
|
bug where Python2.2 crashes with exec'ing code which does not end
|
|
|
in a single newline. Python 2.3 is OK, so I hadn't noticed this
|
|
|
before.
|
|
|
|
|
|
2004-12-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_prun): changed name of option from
|
|
|
-t to -T, to accomodate the new -t flag in %run (the %run and
|
|
|
%prun options are kind of intermixed, and it's not easy to change
|
|
|
this with the limitations of python's getopt).
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_run): Added new -t option to time
|
|
|
the execution of scripts. It's not as fine-tuned as timeit.py,
|
|
|
but it works from inside ipython (and under 2.2, which lacks
|
|
|
timeit.py). Optionally a number of runs > 1 can be given for
|
|
|
timing very short-running code.
|
|
|
|
|
|
* IPython/genutils.py (uniq_stable): new routine which returns a
|
|
|
list of unique elements in any iterable, but in stable order of
|
|
|
appearance. I needed this for the ultraTB fixes, and it's a handy
|
|
|
utility.
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.text): Fix proper reporting of
|
|
|
dotted names in Verbose exceptions. This had been broken since
|
|
|
the very start, now x.y will properly be printed in a Verbose
|
|
|
traceback, instead of x being shown and y appearing always as an
|
|
|
'undefined global'. Getting this to work was a bit tricky,
|
|
|
because by default python tokenizers are stateless. Saved by
|
|
|
python's ability to easily add a bit of state to an arbitrary
|
|
|
function (without needing to build a full-blown callable object).
|
|
|
|
|
|
Also big cleanup of this code, which had horrendous runtime
|
|
|
lookups of zillions of attributes for colorization. Moved all
|
|
|
this code into a few templates, which make it cleaner and quicker.
|
|
|
|
|
|
Printout quality was also improved for Verbose exceptions: one
|
|
|
variable per line, and memory addresses are printed (this can be
|
|
|
quite handy in nasty debugging situations, which is what Verbose
|
|
|
is for).
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Do NOT execute files named in
|
|
|
the command line as scripts to be loaded by embedded instances.
|
|
|
Doing so has the potential for an infinite recursion if there are
|
|
|
exceptions thrown in the process. This fixes a strange crash
|
|
|
reported by Philippe MULLER <muller-AT-irit.fr>.
|
|
|
|
|
|
2004-12-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase.use): Change pylab support
|
|
|
to reflect new names in matplotlib, which now expose the
|
|
|
matlab-compatible interface via a pylab module instead of the
|
|
|
'matlab' name. The new code is backwards compatible, so users of
|
|
|
all matplotlib versions are OK. Patch by J. Hunter.
|
|
|
|
|
|
* IPython/OInspect.py (Inspector.pinfo): Add to object? printing
|
|
|
of __init__ docstrings for instances (class docstrings are already
|
|
|
automatically printed). Instances with customized docstrings
|
|
|
(indep. of the class) are also recognized and all 3 separate
|
|
|
docstrings are printed (instance, class, constructor). After some
|
|
|
comments/suggestions by J. Hunter.
|
|
|
|
|
|
2004-12-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (MagicCompleter.complete): Remove annoying
|
|
|
warnings when tab-completion fails and triggers an exception.
|
|
|
|
|
|
2004-12-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (magic_prun): Fix bug where an exception would
|
|
|
be triggered when using 'run -p'. An incorrect option flag was
|
|
|
being set ('d' instead of 'D').
|
|
|
(manpage): fix missing escaped \- sign.
|
|
|
|
|
|
2004-11-30 *** Released version 0.6.5
|
|
|
|
|
|
2004-11-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_run): Fix bug in breakpoint
|
|
|
setting with -d option.
|
|
|
|
|
|
* setup.py (docfiles): Fix problem where the doc glob I was using
|
|
|
was COMPLETELY BROKEN. It was giving the right files by pure
|
|
|
accident, but failed once I tried to include ipython.el. Note:
|
|
|
glob() does NOT allow you to do exclusion on multiple endings!
|
|
|
|
|
|
2004-11-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/usage.py (__doc__): cleaned up usage docstring, by using
|
|
|
the manpage as the source. Better formatting & consistency.
|
|
|
|
|
|
* IPython/Magic.py (magic_run): Added new -d option, to run
|
|
|
scripts under the control of the python pdb debugger. Note that
|
|
|
this required changing the %prun option -d to -D, to avoid a clash
|
|
|
(since %run must pass options to %prun, and getopt is too dumb to
|
|
|
handle options with string values with embedded spaces). Thanks
|
|
|
to a suggestion by Matthew Arnison <maffew-AT-cat.org.au>.
|
|
|
(magic_who_ls): added type matching to %who and %whos, so that one
|
|
|
can filter their output to only include variables of certain
|
|
|
types. Another suggestion by Matthew.
|
|
|
(magic_whos): Added memory summaries in kb and Mb for arrays.
|
|
|
(magic_who): Improve formatting (break lines every 9 vars).
|
|
|
|
|
|
2004-11-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.log): Fix bug in syncing the input
|
|
|
cache when empty lines were present.
|
|
|
|
|
|
2004-11-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/usage.py (__doc__): document the re-activated threading
|
|
|
options for WX and GTK.
|
|
|
|
|
|
2004-11-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (start): Added Prabhu's big patch to reactivate
|
|
|
the -wthread and -gthread options, along with a new -tk one to try
|
|
|
and coordinate Tk threading with wx/gtk. The tk support is very
|
|
|
platform dependent, since it seems to require Tcl and Tk to be
|
|
|
built with threads (Fedora1/2 appears NOT to have it, but in
|
|
|
Prabhu's Debian boxes it works OK). But even with some Tk
|
|
|
limitations, this is a great improvement.
|
|
|
|
|
|
* IPython/Prompts.py (prompt_specials_color): Added \t for time
|
|
|
info in user prompts. Patch by Prabhu.
|
|
|
|
|
|
2004-11-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (ask_yes_no): Add check for a max of 20
|
|
|
EOFErrors and bail, to avoid infinite loops if a non-terminating
|
|
|
file is fed into ipython. Patch submitted in issue 19 by user,
|
|
|
many thanks.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_auto): do NOT trigger
|
|
|
autoquote/parens in continuation prompts, which can cause lots of
|
|
|
problems. Closes roundup issue 20.
|
|
|
|
|
|
2004-11-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* debian/control (Build-Depends-Indep): Fix dpatch dependency,
|
|
|
reported as debian bug #280505. I'm not sure my local changelog
|
|
|
entry has the proper debian format (Jack?).
|
|
|
|
|
|
2004-11-08 *** Released version 0.6.4
|
|
|
|
|
|
2004-11-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (init_readline): Fix exit message for Windows
|
|
|
when readline is active. Thanks to a report by Eric Jones
|
|
|
<eric-AT-enthought.com>.
|
|
|
|
|
|
2004-11-07 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (page): Add a trap for OSError exceptions,
|
|
|
sometimes seen by win2k/cygwin users.
|
|
|
|
|
|
2004-11-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (interact): Change the handling of %Exit from
|
|
|
trying to propagate a SystemExit to an internal ipython flag.
|
|
|
This is less elegant than using Python's exception mechanism, but
|
|
|
I can't get that to work reliably with threads, so under -pylab
|
|
|
%Exit was hanging IPython. Cross-thread exception handling is
|
|
|
really a bitch. Thaks to a bug report by Stephen Walton
|
|
|
<stephen.walton-AT-csun.edu>.
|
|
|
|
|
|
2004-11-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (raw_input_original): store a pointer to the
|
|
|
true raw_input to harden against code which can modify it
|
|
|
(wx.py.PyShell does this and would otherwise crash ipython).
|
|
|
Thanks to a bug report by Jim Flowers <james.flowers-AT-lgx.com>.
|
|
|
|
|
|
* IPython/Shell.py (MTInteractiveShell.runsource): Cleaner fix for
|
|
|
Ctrl-C problem, which does not mess up the input line.
|
|
|
|
|
|
2004-11-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Release.py: Changed licensing to BSD, in all files.
|
|
|
(name): lowercase name for tarball/RPM release.
|
|
|
|
|
|
* IPython/OInspect.py (getdoc): wrap inspect.getdoc() safely for
|
|
|
use throughout ipython.
|
|
|
|
|
|
* IPython/Magic.py (Magic._ofind): Switch to using the new
|
|
|
OInspect.getdoc() function.
|
|
|
|
|
|
* IPython/Shell.py (sigint_handler): Hack to ignore the execution
|
|
|
of the line currently being canceled via Ctrl-C. It's extremely
|
|
|
ugly, but I don't know how to do it better (the problem is one of
|
|
|
handling cross-thread exceptions).
|
|
|
|
|
|
2004-10-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (signal_handler): add signal handlers to trap
|
|
|
SIGINT and SIGSEGV in threaded code properly. Thanks to a bug
|
|
|
report by Francesc Alted.
|
|
|
|
|
|
2004-10-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Extensions/InterpreterExec.py (prefilter_shell): Fix @
|
|
|
to % for pysh syntax extensions.
|
|
|
|
|
|
2004-10-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_whos): modify output of Numeric
|
|
|
arrays to print a more useful summary, without calling str(arr).
|
|
|
This avoids the problem of extremely lengthy computations which
|
|
|
occur if arr is large, and appear to the user as a system lockup
|
|
|
with 100% cpu activity. After a suggestion by Kristian Sandberg
|
|
|
<Kristian.Sandberg@colorado.edu>.
|
|
|
(Magic.__init__): fix bug in global magic escapes not being
|
|
|
correctly set.
|
|
|
|
|
|
2004-10-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (__license__): change to absolute imports of
|
|
|
ipython's own internal packages, to start adapting to the absolute
|
|
|
import requirement of PEP-328.
|
|
|
|
|
|
* IPython/genutils.py (__author__): Fix coding to utf-8 on all
|
|
|
files, and standardize author/license marks through the Release
|
|
|
module instead of having per/file stuff (except for files with
|
|
|
particular licenses, like the MIT/PSF-licensed codes).
|
|
|
|
|
|
* IPython/Debugger.py: remove dead code for python 2.1
|
|
|
|
|
|
2004-10-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (ipmagic): New function for accessing magics
|
|
|
via a normal python function call.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_magic): Change the magic escape
|
|
|
from '@' to '%', to accomodate the new @decorator syntax of python
|
|
|
2.4.
|
|
|
|
|
|
2004-09-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase.use): Added a wrapper to
|
|
|
matplotlib.use to prevent running scripts which try to switch
|
|
|
interactive backends from within ipython. This will just crash
|
|
|
the python interpreter, so we can't allow it (but a detailed error
|
|
|
is given to the user).
|
|
|
|
|
|
2004-09-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (MatplotlibShellBase.mplot_exec):
|
|
|
matplotlib-related fixes so that using @run with non-matplotlib
|
|
|
scripts doesn't pop up spurious plot windows. This requires
|
|
|
matplotlib >= 0.63, where I had to make some changes as well.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): update version requirement to
|
|
|
python 2.2.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.mainloop): Add an optional
|
|
|
banner arg for embedded customization.
|
|
|
|
|
|
* IPython/Magic.py (Magic.__init__): big cleanup to remove all
|
|
|
explicit uses of __IP as the IPython's instance name. Now things
|
|
|
are properly handled via the shell.name value. The actual code
|
|
|
is a bit ugly b/c I'm doing it via a global in Magic.py, but this
|
|
|
is much better than before. I'll clean things completely when the
|
|
|
magic stuff gets a real overhaul.
|
|
|
|
|
|
* ipython.1: small fixes, sent in by Jack Moffit. He also sent in
|
|
|
minor changes to debian dir.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): Fix adding a
|
|
|
pointer to the shell itself in the interactive namespace even when
|
|
|
a user-supplied dict is provided. This is needed for embedding
|
|
|
purposes (found by tests with Michel Sanner).
|
|
|
|
|
|
2004-09-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc: remove []{} from
|
|
|
readline_remove_delims, so that things like [modname.<TAB> do
|
|
|
proper completion. This disables [].TAB, but that's a less common
|
|
|
case than module names in list comprehensions, for example.
|
|
|
Thanks to a report by Andrea Riciputi.
|
|
|
|
|
|
2004-09-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellGTK.mainloop): reorder to avoid
|
|
|
blocking problems in win32 and osx. Fix by John.
|
|
|
|
|
|
2004-09-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellWX.OnInit): Fix output redirection bug
|
|
|
for Win32 and OSX. Fix by John Hunter.
|
|
|
|
|
|
2004-08-30 *** Released version 0.6.3
|
|
|
|
|
|
2004-08-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (isfile): Add manpages to list of dependent files to be
|
|
|
updated.
|
|
|
|
|
|
2004-08-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (start): I've disabled -wthread and -gthread
|
|
|
for now. They don't really work with standalone WX/GTK code
|
|
|
(though matplotlib IS working fine with both of those backends).
|
|
|
This will neeed much more testing. I disabled most things with
|
|
|
comments, so turning it back on later should be pretty easy.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): Fix accidental
|
|
|
autocalling of expressions like r'foo', by modifying the line
|
|
|
split regexp. Closes
|
|
|
http://www.scipy.net/roundup/ipython/issue18, reported by Nicholas
|
|
|
Riley <ipythonbugs-AT-sabi.net>.
|
|
|
(InteractiveShell.mainloop): honor --nobanner with banner
|
|
|
extensions.
|
|
|
|
|
|
* IPython/Shell.py: Significant refactoring of all classes, so
|
|
|
that we can really support ALL matplotlib backends and threading
|
|
|
models (John spotted a bug with Tk which required this). Now we
|
|
|
should support single-threaded, WX-threads and GTK-threads, both
|
|
|
for generic code and for matplotlib.
|
|
|
|
|
|
* IPython/ipmaker.py (__call__): Changed -mpthread option to
|
|
|
-pylab, to simplify things for users. Will also remove the pylab
|
|
|
profile, since now all of matplotlib configuration is directly
|
|
|
handled here. This also reduces startup time.
|
|
|
|
|
|
* IPython/Shell.py (IPShellGTK.run): Fixed bug where mainloop() of
|
|
|
shell wasn't being correctly called. Also in IPShellWX.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): Added option to
|
|
|
fine-tune banner.
|
|
|
|
|
|
* IPython/numutils.py (spike): Deprecate these spike functions,
|
|
|
delete (long deprecated) gnuplot_exec handler.
|
|
|
|
|
|
2004-08-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* ipython.1: Update for threading options, plus some others which
|
|
|
were missing.
|
|
|
|
|
|
* IPython/ipmaker.py (__call__): Added -wthread option for
|
|
|
wxpython thread handling. Make sure threading options are only
|
|
|
valid at the command line.
|
|
|
|
|
|
* scripts/ipython: moved shell selection into a factory function
|
|
|
in Shell.py, to keep the starter script to a minimum.
|
|
|
|
|
|
2004-08-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellWX.wxexit): fixes to WX threading, by
|
|
|
John. Along with some recent changes he made to matplotlib, the
|
|
|
next versions of both systems should work very well together.
|
|
|
|
|
|
2004-08-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_prun): cleanup some dead code. I
|
|
|
tried to switch the profiling to using hotshot, but I'm getting
|
|
|
strange errors from prof.runctx() there. I may be misreading the
|
|
|
docs, but it looks weird. For now the profiling code will
|
|
|
continue to use the standard profiler.
|
|
|
|
|
|
2004-08-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellWX.__init__): Improvements to the WX
|
|
|
threaded shell, by John Hunter. It's not quite ready yet, but
|
|
|
close.
|
|
|
|
|
|
2004-08-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): tab cleanups, also
|
|
|
in Magic and ultraTB.
|
|
|
|
|
|
* ipython.1: document threading options in manpage.
|
|
|
|
|
|
* scripts/ipython: Changed name of -thread option to -gthread,
|
|
|
since this is GTK specific. I want to leave the door open for a
|
|
|
-wthread option for WX, which will most likely be necessary. This
|
|
|
change affects usage and ipmaker as well.
|
|
|
|
|
|
* IPython/Shell.py (matplotlib_shell): Add a factory function to
|
|
|
handle the matplotlib shell issues. Code by John Hunter
|
|
|
<jdhunter-AT-nitace.bsd.uchicago.edu>.
|
|
|
(IPShellMatplotlibWX.__init__): Rudimentary WX support. It's
|
|
|
broken (and disabled for end users) for now, but it puts the
|
|
|
infrastructure in place.
|
|
|
|
|
|
2004-08-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* ipythonrc-pylab: Add matplotlib support.
|
|
|
|
|
|
* matplotlib_config.py: new files for matplotlib support, part of
|
|
|
the pylab profile.
|
|
|
|
|
|
* IPython/usage.py (__doc__): documented the threading options.
|
|
|
|
|
|
2004-08-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* ipython: Modified the main calling routine to handle the -thread
|
|
|
and -mpthread options. This needs to be done as a top-level hack,
|
|
|
because it determines which class to instantiate for IPython
|
|
|
itself.
|
|
|
|
|
|
* IPython/Shell.py (MTInteractiveShell.__init__): New set of
|
|
|
classes to support multithreaded GTK operation without blocking,
|
|
|
and matplotlib with all backends. This is a lot of still very
|
|
|
experimental code, and threads are tricky. So it may still have a
|
|
|
few rough edges... This code owes a lot to
|
|
|
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65109, by
|
|
|
Brian # McErlean and John Finlay, to Antoon Pardon for fixes, and
|
|
|
to John Hunter for all the matplotlib work.
|
|
|
|
|
|
* IPython/ipmaker.py (__call__): Added -thread and -mpthread
|
|
|
options for gtk thread and matplotlib support.
|
|
|
|
|
|
2004-08-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): don't trigger
|
|
|
autocall for things like p*q,p/q,p+q,p-q, when p is callable. Bug
|
|
|
reported by Stephen Walton <stephen.walton-AT-csun.edu>.
|
|
|
|
|
|
2004-08-11 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (isfile): Fix build so documentation gets updated for
|
|
|
rpms (it was only done for .tgz builds).
|
|
|
|
|
|
2004-08-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* genutils.py (Term): Fix misspell of stdin stream (sin->cin).
|
|
|
|
|
|
* iplib.py : Silence syntax error exceptions in tab-completion.
|
|
|
|
|
|
2004-08-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (Prompt2.set_colors): Fix incorrectly set
|
|
|
'color off' mark for continuation prompts. This was causing long
|
|
|
continuation lines to mis-wrap.
|
|
|
|
|
|
2004-08-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Allow the shell class used
|
|
|
for building ipython to be a parameter. All this is necessary
|
|
|
right now to have a multithreaded version, but this insane
|
|
|
non-design will be cleaned up soon. For now, it's a hack that
|
|
|
works.
|
|
|
|
|
|
* IPython/Shell.py (IPShell.__init__): Stop using mutable default
|
|
|
args in various places. No bugs so far, but it's a dangerous
|
|
|
practice.
|
|
|
|
|
|
2004-07-31 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (complete): ignore SyntaxError exceptions to
|
|
|
fix completion of files with dots in their names under most
|
|
|
profiles (pysh was OK because the completion order is different).
|
|
|
|
|
|
2004-07-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): build dict of
|
|
|
keywords manually, b/c the one in keyword.py was removed in python
|
|
|
2.4. Patch by Anakim Border <aborder-AT-users.sourceforge.net>.
|
|
|
This is NOT a bug under python 2.3 and earlier.
|
|
|
|
|
|
2004-07-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.text): Add another
|
|
|
linecache.checkcache() call to try to prevent inspect.py from
|
|
|
crashing under python 2.3. I think this fixes
|
|
|
http://www.scipy.net/roundup/ipython/issue17.
|
|
|
|
|
|
2004-07-26 *** Released version 0.6.2
|
|
|
|
|
|
2004-07-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_cd): Fix bug where 'cd -N' would
|
|
|
fail for any number.
|
|
|
(Magic.magic_bookmark): Fix bug where 'bookmark -l' would fail for
|
|
|
empty bookmarks.
|
|
|
|
|
|
2004-07-26 *** Released version 0.6.1
|
|
|
|
|
|
2004-07-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* ipython_win_post_install.py (run): Added pysh shortcut for Windows.
|
|
|
|
|
|
* IPython/iplib.py (protect_filename): Applied Ville's patch for
|
|
|
escaping '()[]{}' in filenames.
|
|
|
|
|
|
* IPython/Magic.py (shlex_split): Fix handling of '*' and '?' for
|
|
|
Python 2.2 users who lack a proper shlex.split.
|
|
|
|
|
|
2004-07-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.init_readline): Add support
|
|
|
for reading readline's init file. I follow the normal chain:
|
|
|
$INPUTRC is honored, otherwise ~/.inputrc is used. Thanks to a
|
|
|
report by Mike Heeter. This closes
|
|
|
http://www.scipy.net/roundup/ipython/issue16.
|
|
|
|
|
|
2004-07-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (__init__): Add better handling of '\' under
|
|
|
Win32 for filenames. After a patch by Ville.
|
|
|
|
|
|
2004-07-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): fix bug where
|
|
|
autocalling would be triggered for 'foo is bar' if foo is
|
|
|
callable. I also cleaned up the autocall detection code to use a
|
|
|
regexp, which is faster. Bug reported by Alexander Schmolck.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_pinfo): Fix bug where strings with
|
|
|
'?' in them would confuse the help system. Reported by Alex
|
|
|
Schmolck.
|
|
|
|
|
|
2004-07-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/GnuplotInteractive.py (__all__): added plot2.
|
|
|
|
|
|
* IPython/Gnuplot2.py (Gnuplot.plot2): added new function for
|
|
|
plotting dictionaries, lists or tuples of 1d arrays.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_hist): small clenaups and
|
|
|
optimizations.
|
|
|
|
|
|
* IPython/iplib.py:Remove old Changelog info for cleanup. This is
|
|
|
the information which was there from Janko's original IPP code:
|
|
|
|
|
|
03.05.99 20:53 porto.ifm.uni-kiel.de
|
|
|
--Started changelog.
|
|
|
--make clear do what it say it does
|
|
|
--added pretty output of lines from inputcache
|
|
|
--Made Logger a mixin class, simplifies handling of switches
|
|
|
--Added own completer class. .string<TAB> expands to last history
|
|
|
line which starts with string. The new expansion is also present
|
|
|
with Ctrl-r from the readline library. But this shows, who this
|
|
|
can be done for other cases.
|
|
|
--Added convention that all shell functions should accept a
|
|
|
parameter_string This opens the door for different behaviour for
|
|
|
each function. @cd is a good example of this.
|
|
|
|
|
|
04.05.99 12:12 porto.ifm.uni-kiel.de
|
|
|
--added logfile rotation
|
|
|
--added new mainloop method which freezes first the namespace
|
|
|
|
|
|
07.05.99 21:24 porto.ifm.uni-kiel.de
|
|
|
--added the docreader classes. Now there is a help system.
|
|
|
-This is only a first try. Currently it's not easy to put new
|
|
|
stuff in the indices. But this is the way to go. Info would be
|
|
|
better, but HTML is every where and not everybody has an info
|
|
|
system installed and it's not so easy to change html-docs to info.
|
|
|
--added global logfile option
|
|
|
--there is now a hook for object inspection method pinfo needs to
|
|
|
be provided for this. Can be reached by two '??'.
|
|
|
|
|
|
08.05.99 20:51 porto.ifm.uni-kiel.de
|
|
|
--added a README
|
|
|
--bug in rc file. Something has changed so functions in the rc
|
|
|
file need to reference the shell and not self. Not clear if it's a
|
|
|
bug or feature.
|
|
|
--changed rc file for new behavior
|
|
|
|
|
|
2004-07-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.log): fixed recent bug where the input
|
|
|
cache was falling out of sync in bizarre manners when multi-line
|
|
|
input was present. Minor optimizations and cleanup.
|
|
|
|
|
|
(Logger): Remove old Changelog info for cleanup. This is the
|
|
|
information which was there from Janko's original code:
|
|
|
|
|
|
Changes to Logger: - made the default log filename a parameter
|
|
|
|
|
|
- put a check for lines beginning with !@? in log(). Needed
|
|
|
(even if the handlers properly log their lines) for mid-session
|
|
|
logging activation to work properly. Without this, lines logged
|
|
|
in mid session, which get read from the cache, would end up
|
|
|
'bare' (with !@? in the open) in the log. Now they are caught
|
|
|
and prepended with a #.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.init_readline): added check
|
|
|
in case MagicCompleter fails to be defined, so we don't crash.
|
|
|
|
|
|
2004-07-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Gnuplot2.py (Gnuplot.hardcopy): add automatic generation
|
|
|
of EPS if the requested filename ends in '.eps'.
|
|
|
|
|
|
2004-07-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_shell_escape): Fix
|
|
|
escaping of quotes when calling the shell.
|
|
|
|
|
|
2004-07-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput.update): Fix problem with
|
|
|
gettext not working because we were clobbering '_'. Fixes
|
|
|
http://www.scipy.net/roundup/ipython/issue6.
|
|
|
|
|
|
2004-07-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_cd): integrated bookmark handling
|
|
|
into @cd. Patch by Ville.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.post_config_initialization):
|
|
|
new function to store things after ipmaker runs. Patch by Ville.
|
|
|
Eventually this will go away once ipmaker is removed and the class
|
|
|
gets cleaned up, but for now it's ok. Key functionality here is
|
|
|
the addition of the persistent storage mechanism, a dict for
|
|
|
keeping data across sessions (for now just bookmarks, but more can
|
|
|
be implemented later).
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_bookmark): New bookmark system,
|
|
|
persistent across sections. Patch by Ville, I modified it
|
|
|
soemwhat to allow bookmarking arbitrary dirs other than CWD. Also
|
|
|
added a '-l' option to list all bookmarks.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.atexit_operations): new
|
|
|
center for cleanup. Registered with atexit.register(). I moved
|
|
|
here the old exit_cleanup(). After a patch by Ville.
|
|
|
|
|
|
* IPython/Magic.py (get_py_filename): added '~' to the accepted
|
|
|
characters in the hacked shlex_split for python 2.2.
|
|
|
|
|
|
* IPython/iplib.py (file_matches): more fixes to filenames with
|
|
|
whitespace in them. It's not perfect, but limitations in python's
|
|
|
readline make it impossible to go further.
|
|
|
|
|
|
2004-06-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (file_matches): escape whitespace correctly in
|
|
|
filename completions. Bug reported by Ville.
|
|
|
|
|
|
2004-06-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (__call__): Added per-profile histories. Now
|
|
|
the history file will be called 'history-PROFNAME' (or just
|
|
|
'history' if no profile is loaded). I was getting annoyed at
|
|
|
getting my Numerical work history clobbered by pysh sessions.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): Internal
|
|
|
getoutputerror() function so that we can honor the system_verbose
|
|
|
flag for _all_ system calls. I also added escaping of #
|
|
|
characters here to avoid confusing Itpl.
|
|
|
|
|
|
* IPython/Magic.py (shlex_split): removed call to shell in
|
|
|
parse_options and replaced it with shlex.split(). The annoying
|
|
|
part was that in Python 2.2, shlex.split() doesn't exist, so I had
|
|
|
to backport it from 2.3, with several frail hacks (the shlex
|
|
|
module is rather limited in 2.2). Thanks to a suggestion by Ville
|
|
|
Vainio <vivainio@kolumbus.fi>. For Python 2.3 there should be no
|
|
|
problem.
|
|
|
|
|
|
(Magic.magic_system_verbose): new toggle to print the actual
|
|
|
system calls made by ipython. Mainly for debugging purposes.
|
|
|
|
|
|
* IPython/GnuplotRuntime.py (gnu_out): fix bug for cygwin, which
|
|
|
doesn't support persistence. Reported (and fix suggested) by
|
|
|
Travis Caldwell <travis_caldwell2000@yahoo.com>.
|
|
|
|
|
|
2004-06-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.log): fix to handle correctly empty
|
|
|
continue prompts.
|
|
|
|
|
|
* IPython/Extensions/InterpreterExec.py (pysh): moved the pysh()
|
|
|
function (basically a big docstring) and a few more things here to
|
|
|
speedup startup. pysh.py is now very lightweight. We want because
|
|
|
it gets execfile'd, while InterpreterExec gets imported, so
|
|
|
byte-compilation saves time.
|
|
|
|
|
|
2004-06-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_cd): Fixed to restore usage of 'cd
|
|
|
-NUM', which was recently broken.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_shell_escape): allow !
|
|
|
in multi-line input (but not !!, which doesn't make sense there).
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc: made autoindent on by default.
|
|
|
It's just too useful, and people can turn it off in the less
|
|
|
common cases where it's a problem.
|
|
|
|
|
|
2004-06-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): big change -
|
|
|
special syntaxes (like alias calling) is now allied in multi-line
|
|
|
input. This is still _very_ experimental, but it's necessary for
|
|
|
efficient shell usage combining python looping syntax with system
|
|
|
calls. For now it's restricted to aliases, I don't think it
|
|
|
really even makes sense to have this for magics.
|
|
|
|
|
|
2004-06-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Extensions/InterpreterExec.py (prefilter_shell): Added
|
|
|
$var=cmd <=> @sc var=cmd and $$var=cmd <=> @sc -l var=cmd.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_rehashx): modified to handle
|
|
|
extensions under Windows (after code sent by Gary Bishop). The
|
|
|
extensions considered 'executable' are stored in IPython's rc
|
|
|
structure as win_exec_ext.
|
|
|
|
|
|
* IPython/genutils.py (shell): new function, like system() but
|
|
|
without return value. Very useful for interactive shell work.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_unalias): New @unalias function to
|
|
|
delete aliases.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.alias_table_update): make
|
|
|
sure that the alias table doesn't contain python keywords.
|
|
|
|
|
|
2004-06-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_rehash): Fix crash when
|
|
|
non-existent items are found in $PATH. Reported by Thorsten.
|
|
|
|
|
|
2004-06-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (complete): modified the completer so that the
|
|
|
order of priorities can be easily changed at runtime.
|
|
|
|
|
|
* IPython/Extensions/InterpreterExec.py (prefilter_shell):
|
|
|
Modified to auto-execute all lines beginning with '~', '/' or '.'.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_sx): modified @sc and @sx to
|
|
|
expand Python variables prepended with $ in all system calls. The
|
|
|
same was done to InteractiveShell.handle_shell_escape. Now all
|
|
|
system access mechanisms (!, !!, @sc, @sx and aliases) allow the
|
|
|
expansion of python variables and expressions according to the
|
|
|
syntax of PEP-215 - http://www.python.org/peps/pep-0215.html.
|
|
|
|
|
|
Though PEP-215 has been rejected, a similar (but simpler) one
|
|
|
seems like it will go into Python 2.4, PEP-292 -
|
|
|
http://www.python.org/peps/pep-0292.html.
|
|
|
|
|
|
I'll keep the full syntax of PEP-215, since IPython has since the
|
|
|
start used Ka-Ping Yee's reference implementation discussed there
|
|
|
(Itpl), and I actually like the powerful semantics it offers.
|
|
|
|
|
|
In order to access normal shell variables, the $ has to be escaped
|
|
|
via an extra $. For example:
|
|
|
|
|
|
In [7]: PATH='a python variable'
|
|
|
|
|
|
In [8]: !echo $PATH
|
|
|
a python variable
|
|
|
|
|
|
In [9]: !echo $$PATH
|
|
|
/usr/local/lf9560/bin:/usr/local/intel/compiler70/ia32/bin:...
|
|
|
|
|
|
(Magic.parse_options): escape $ so the shell doesn't evaluate
|
|
|
things prematurely.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.call_alias): added the
|
|
|
ability for aliases to expand python variables via $.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_rehash): based on the new alias
|
|
|
system, now there's a @rehash/@rehashx pair of magics. These work
|
|
|
like the csh rehash command, and can be invoked at any time. They
|
|
|
build a table of aliases to everything in the user's $PATH
|
|
|
(@rehash uses everything, @rehashx is slower but only adds
|
|
|
executable files). With this, the pysh.py-based shell profile can
|
|
|
now simply call rehash upon startup, and full access to all
|
|
|
programs in the user's path is obtained.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.call_alias): The new alias
|
|
|
functionality is now fully in place. I removed the old dynamic
|
|
|
code generation based approach, in favor of a much lighter one
|
|
|
based on a simple dict. The advantage is that this allows me to
|
|
|
now have thousands of aliases with negligible cost (unthinkable
|
|
|
with the old system).
|
|
|
|
|
|
2004-06-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (__init__): extended MagicCompleter class to
|
|
|
also complete (last in priority) on user aliases.
|
|
|
|
|
|
* IPython/Itpl.py (Itpl.__str__): fixed order of globals/locals in
|
|
|
call to eval.
|
|
|
(ItplNS.__init__): Added a new class which functions like Itpl,
|
|
|
but allows configuring the namespace for the evaluation to occur
|
|
|
in.
|
|
|
|
|
|
2004-06-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.runcode): modify to print a
|
|
|
better message when 'exit' or 'quit' are typed (a common newbie
|
|
|
confusion).
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_colors): Added the runtime color
|
|
|
check for Windows users.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.user_setup): removed
|
|
|
disabling of colors for Windows. I'll test at runtime and issue a
|
|
|
warning if Gary's readline isn't found, as to nudge users to
|
|
|
download it.
|
|
|
|
|
|
2004-06-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (Stream.__init__): changed to print errors
|
|
|
to sys.stderr. I had a circular dependency here. Now it's
|
|
|
possible to run ipython as IDLE's shell (consider this pre-alpha,
|
|
|
since true stdout things end up in the starting terminal instead
|
|
|
of IDLE's out).
|
|
|
|
|
|
* IPython/Prompts.py (Prompt2.set_colors): prevent crashes for
|
|
|
users who haven't # updated their prompt_in2 definitions. Remove
|
|
|
eventually.
|
|
|
(multiple_replace): added credit to original ASPN recipe.
|
|
|
|
|
|
2004-06-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): add 'cp' to the
|
|
|
list of auto-defined aliases.
|
|
|
|
|
|
2004-06-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (scriptfiles): Don't trigger win_post_install unless an
|
|
|
install was really requested (so setup.py can be used for other
|
|
|
things under Windows).
|
|
|
|
|
|
2004-06-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.create_log): Manually remove any old
|
|
|
backup, since os.remove may fail under Windows. Fixes bug
|
|
|
reported by Thorsten.
|
|
|
|
|
|
2004-06-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* examples/example-embed.py: fixed all references to %n (replaced
|
|
|
with \\# for ps1/out prompts and with \\D for ps2 prompts). Done
|
|
|
for all examples and the manual as well.
|
|
|
|
|
|
2004-06-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (Prompt2.set_p_str): fixed all prompt
|
|
|
alignment and color management. All 3 prompt subsystems now
|
|
|
inherit from BasePrompt.
|
|
|
|
|
|
* tools/release: updates for windows installer build and tag rpms
|
|
|
with python version (since paths are fixed).
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc: modified to use \# instead of %n,
|
|
|
which will become eventually obsolete. Also fixed the default
|
|
|
prompt_in2 to use \D, so at least new users start with the correct
|
|
|
defaults.
|
|
|
WARNING: Users with existing ipythonrc files will need to apply
|
|
|
this fix manually!
|
|
|
|
|
|
* setup.py: make windows installer (.exe). This is finally the
|
|
|
integration of an old patch by Cory Dodt <dodt-AT-fcoe.k12.ca.us>,
|
|
|
which I hadn't included because it required Python 2.3 (or recent
|
|
|
distutils).
|
|
|
|
|
|
* IPython/usage.py (__doc__): update docs (and manpage) to reflect
|
|
|
usage of new '\D' escape.
|
|
|
|
|
|
* IPython/Prompts.py (ROOT_SYMBOL): Small fix for Windows (which
|
|
|
lacks os.getuid())
|
|
|
(CachedOutput.set_colors): Added the ability to turn coloring
|
|
|
on/off with @colors even for manually defined prompt colors. It
|
|
|
uses a nasty global, but it works safely and via the generic color
|
|
|
handling mechanism.
|
|
|
(Prompt2.__init__): Introduced new escape '\D' for continuation
|
|
|
prompts. It represents the counter ('\#') as dots.
|
|
|
*** NOTE *** THIS IS A BACKWARDS-INCOMPATIBLE CHANGE. Users will
|
|
|
need to update their ipythonrc files and replace '%n' with '\D' in
|
|
|
their prompt_in2 settings everywhere. Sorry, but there's
|
|
|
otherwise no clean way to get all prompts to properly align. The
|
|
|
ipythonrc shipped with IPython has been updated.
|
|
|
|
|
|
2004-06-07 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (isfile): Pass local_icons option to latex2html, so the
|
|
|
resulting HTML file is self-contained. Thanks to
|
|
|
dryice-AT-liu.com.cn for the tip.
|
|
|
|
|
|
* pysh.py: I created a new profile 'shell', which implements a
|
|
|
_rudimentary_ IPython-based shell. This is in NO WAY a realy
|
|
|
system shell, nor will it become one anytime soon. It's mainly
|
|
|
meant to illustrate the use of the new flexible bash-like prompts.
|
|
|
I guess it could be used by hardy souls for true shell management,
|
|
|
but it's no tcsh/bash... pysh.py is loaded by the 'shell'
|
|
|
profile. This uses the InterpreterExec extension provided by
|
|
|
W.J. van der Laan <gnufnork-AT-hetdigitalegat.nl>
|
|
|
|
|
|
* IPython/Prompts.py (PromptOut.__str__): now it will correctly
|
|
|
auto-align itself with the length of the previous input prompt
|
|
|
(taking into account the invisible color escapes).
|
|
|
(CachedOutput.__init__): Large restructuring of this class. Now
|
|
|
all three prompts (primary1, primary2, output) are proper objects,
|
|
|
managed by the 'parent' CachedOutput class. The code is still a
|
|
|
bit hackish (all prompts share state via a pointer to the cache),
|
|
|
but it's overall far cleaner than before.
|
|
|
|
|
|
* IPython/genutils.py (getoutputerror): modified to add verbose,
|
|
|
debug and header options. This makes the interface of all getout*
|
|
|
functions uniform.
|
|
|
(SystemExec.getoutputerror): added getoutputerror to SystemExec.
|
|
|
|
|
|
* IPython/Magic.py (Magic.default_option): added a function to
|
|
|
allow registering default options for any magic command. This
|
|
|
makes it easy to have profiles which customize the magics globally
|
|
|
for a certain use. The values set through this function are
|
|
|
picked up by the parse_options() method, which all magics should
|
|
|
use to parse their options.
|
|
|
|
|
|
* IPython/genutils.py (warn): modified the warnings framework to
|
|
|
use the Term I/O class. I'm trying to slowly unify all of
|
|
|
IPython's I/O operations to pass through Term.
|
|
|
|
|
|
* IPython/Prompts.py (Prompt2._str_other): Added functionality in
|
|
|
the secondary prompt to correctly match the length of the primary
|
|
|
one for any prompt. Now multi-line code will properly line up
|
|
|
even for path dependent prompts, such as the new ones available
|
|
|
via the prompt_specials.
|
|
|
|
|
|
2004-06-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (prompt_specials): Added the ability to have
|
|
|
bash-like special sequences in the prompts, which get
|
|
|
automatically expanded. Things like hostname, current working
|
|
|
directory and username are implemented already, but it's easy to
|
|
|
add more in the future. Thanks to a patch by W.J. van der Laan
|
|
|
<gnufnork-AT-hetdigitalegat.nl>
|
|
|
(prompt_specials): Added color support for prompt strings, so
|
|
|
users can define arbitrary color setups for their prompts.
|
|
|
|
|
|
2004-06-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (Term.reopen_all): Added Windows-specific
|
|
|
code to load Gary Bishop's readline and configure it
|
|
|
automatically. Thanks to Gary for help on this.
|
|
|
|
|
|
2004-06-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.create_log): fix bug for logging
|
|
|
with no filename (previous fix was incomplete).
|
|
|
|
|
|
2004-05-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.parse_options): fix bug where naked
|
|
|
parens would get passed to the shell.
|
|
|
|
|
|
2004-05-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_prun): changed default profile
|
|
|
sort order to 'time' (the more common profiling need).
|
|
|
|
|
|
* IPython/OInspect.py (Inspector.pinfo): flush the inspect cache
|
|
|
so that source code shown is guaranteed in sync with the file on
|
|
|
disk (also changed in psource). Similar fix to the one for
|
|
|
ultraTB on 2004-05-06. Thanks to a bug report by Yann Le Du
|
|
|
<yann.ledu-AT-noos.fr>.
|
|
|
|
|
|
* IPython/Magic.py (Magic.parse_options): Fixed bug where commands
|
|
|
with a single option would not be correctly parsed. Closes
|
|
|
http://www.scipy.net/roundup/ipython/issue14. This bug had been
|
|
|
introduced in 0.6.0 (on 2004-05-06).
|
|
|
|
|
|
2004-05-13 *** Released version 0.6.0
|
|
|
|
|
|
2004-05-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* debian/: Added debian/ directory to CVS, so that debian support
|
|
|
is publicly accessible. The debian package is maintained by Jack
|
|
|
Moffit <jack-AT-xiph.org>.
|
|
|
|
|
|
* Documentation: included the notes about an ipython-based system
|
|
|
shell (the hypothetical 'pysh') into the new_design.pdf document,
|
|
|
so that these ideas get distributed to users along with the
|
|
|
official documentation.
|
|
|
|
|
|
2004-05-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.create_log): fix recently introduced
|
|
|
bug (misindented line) where logstart would fail when not given an
|
|
|
explicit filename.
|
|
|
|
|
|
2004-05-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.parse_options): skip system call when
|
|
|
there are no options to look for. Faster, cleaner for the common
|
|
|
case.
|
|
|
|
|
|
* Documentation: many updates to the manual: describing Windows
|
|
|
support better, Gnuplot updates, credits, misc small stuff. Also
|
|
|
updated the new_design doc a bit.
|
|
|
|
|
|
2004-05-06 *** Released version 0.6.0.rc1
|
|
|
|
|
|
2004-05-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (ListTB.text): modified a ton of string +=
|
|
|
operations to use the vastly more efficient list/''.join() method.
|
|
|
(FormattedTB.text): Fix
|
|
|
http://www.scipy.net/roundup/ipython/issue12 - exception source
|
|
|
extract not updated after reload. Thanks to Mike Salib
|
|
|
<msalib-AT-mit.edu> for pinning the source of the problem.
|
|
|
Fortunately, the solution works inside ipython and doesn't require
|
|
|
any changes to python proper.
|
|
|
|
|
|
* IPython/Magic.py (Magic.parse_options): Improved to process the
|
|
|
argument list as a true shell would (by actually using the
|
|
|
underlying system shell). This way, all @magics automatically get
|
|
|
shell expansion for variables. Thanks to a comment by Alex
|
|
|
Schmolck.
|
|
|
|
|
|
2004-04-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): Added a special
|
|
|
trap for a debugger quit exception, which is basically impossible
|
|
|
to handle by normal mechanisms, given what pdb does to the stack.
|
|
|
This fixes a crash reported by <fgibbons-AT-llama.med.harvard.edu>.
|
|
|
|
|
|
2004-04-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (Term): Standardized the names of the Term
|
|
|
class streams to cin/cout/cerr, following C++ naming conventions
|
|
|
(I can't use in/out/err because 'in' is not a valid attribute
|
|
|
name).
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): don't increment
|
|
|
the prompt if there's no user input. By Daniel 'Dang' Griffith
|
|
|
<pythondev-dang-AT-lazytwinacres.net>, after a suggestion from
|
|
|
Francois Pinard.
|
|
|
|
|
|
2004-04-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (Stream.__init__): Modified to survive at
|
|
|
least importing in contexts where stdin/out/err aren't true file
|
|
|
objects, such as PyCrust (they lack fileno() and mode). However,
|
|
|
the recovery facilities which rely on these things existing will
|
|
|
not work.
|
|
|
|
|
|
2004-04-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_sx): modified (as well as @sc) to
|
|
|
use the new getoutputerror() function, so it properly
|
|
|
distinguishes stdout/err.
|
|
|
|
|
|
* IPython/genutils.py (getoutputerror): added a function to
|
|
|
capture separately the standard output and error of a command.
|
|
|
After a comment from dang on the mailing lists. This code is
|
|
|
basically a modified version of commands.getstatusoutput(), from
|
|
|
the standard library.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_shell_escape): added
|
|
|
'!!' as a special syntax (shorthand) to access @sx.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_sx): new magic, to execute a shell
|
|
|
command and return its output as a list split on '\n'.
|
|
|
|
|
|
2004-03-31 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/FakeModule.py (FakeModule.__init__): added __nonzero__
|
|
|
method to dictionaries used as FakeModule instances if they lack
|
|
|
it. At least pydoc in python2.3 breaks for runtime-defined
|
|
|
functions without this hack. At some point I need to _really_
|
|
|
understand what FakeModule is doing, because it's a gross hack.
|
|
|
But it solves Arnd's problem for now...
|
|
|
|
|
|
2004-02-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.create_log): Fix bug where 'rotate'
|
|
|
mode would behave erratically. Also increased the number of
|
|
|
possible logs in rotate mod to 999. Thanks to Rod Holland
|
|
|
<rhh@StructureLABS.com> for the report and fixes.
|
|
|
|
|
|
2004-02-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (page): Check that the curses module really
|
|
|
has the initscr attribute before trying to use it. For some
|
|
|
reason, the Solaris curses module is missing this. I think this
|
|
|
should be considered a Solaris python bug, but I'm not sure.
|
|
|
|
|
|
2004-01-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (Stream.__init__): Changes to try to make
|
|
|
ipython robust against stdin/out/err being closed by the user.
|
|
|
This is 'user error' (and blocks a normal python session, at least
|
|
|
the stdout case). However, Ipython should be able to survive such
|
|
|
instances of abuse as gracefully as possible. To simplify the
|
|
|
coding and maintain compatibility with Gary Bishop's Term
|
|
|
contributions, I've made use of classmethods for this. I think
|
|
|
this introduces a dependency on python 2.2.
|
|
|
|
|
|
2004-01-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (exp_safe): simplified the code a bit and
|
|
|
removed the need for importing the kinds module altogether.
|
|
|
|
|
|
2004-01-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_sc): Made the shell capture system
|
|
|
a magic function instead, after some community feedback. No
|
|
|
special syntax will exist for it, but its name is deliberately
|
|
|
very short.
|
|
|
|
|
|
2003-12-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_shell_assign): Added
|
|
|
new functionality, to automagically assign the result of a shell
|
|
|
command to a variable. I'll solicit some community feedback on
|
|
|
this before making it permanent.
|
|
|
|
|
|
* IPython/OInspect.py (Inspector.pinfo): Fix crash when info was
|
|
|
requested about callables for which inspect couldn't obtain a
|
|
|
proper argspec. Thanks to a crash report sent by Etienne
|
|
|
Posthumus <etienne-AT-apple01.cs.vu.nl>.
|
|
|
|
|
|
2003-12-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (page): patch for the pager to work across
|
|
|
various versions of Windows. By Gary Bishop.
|
|
|
|
|
|
2003-12-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Gnuplot2.py (PlotItems): Fixes for working with
|
|
|
Gnuplot.py version 1.7, whose internal names changed quite a bit.
|
|
|
While I tested this and it looks ok, there may still be corner
|
|
|
cases I've missed.
|
|
|
|
|
|
2003-12-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): Fixed a bug
|
|
|
where a line like 'p,q=1,2' would fail because the automagic
|
|
|
system would be triggered for @p.
|
|
|
|
|
|
* IPython/DPyGetOpt.py (DPyGetOpt.processArguments): Tab-related
|
|
|
cleanups, code unmodified.
|
|
|
|
|
|
* IPython/genutils.py (Term): added a class for IPython to handle
|
|
|
output. In most cases it will just be a proxy for stdout/err, but
|
|
|
having this allows modifications to be made for some platforms,
|
|
|
such as handling color escapes under Windows. All of this code
|
|
|
was contributed by Gary Bishop, with minor modifications by me.
|
|
|
The actual changes affect many files.
|
|
|
|
|
|
2003-11-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (file_matches): new completion code, courtesy
|
|
|
of Jeff Collins. This enables filename completion again under
|
|
|
python 2.3, which disabled it at the C level.
|
|
|
|
|
|
2003-11-11 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (amap): Added amap() fn. Simple shorthand
|
|
|
for Numeric.array(map(...)), but often convenient.
|
|
|
|
|
|
2003-11-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (frange): Changed a call from int() to
|
|
|
int(round()) to prevent a problem reported with arange() in the
|
|
|
numpy list.
|
|
|
|
|
|
2003-10-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/DPyGetOpt.py (DPyGetOpt.processArguments): changed to
|
|
|
prevent crashes if sys lacks an argv attribute (it happens with
|
|
|
embedded interpreters which build a bare-bones sys module).
|
|
|
Thanks to a report/bugfix by Adam Hupp <hupp-AT-cs.wisc.edu>.
|
|
|
|
|
|
2003-09-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic._ofind): blanket except around getattr()
|
|
|
to protect against poorly written user objects where __getattr__
|
|
|
raises exceptions other than AttributeError. Thanks to a bug
|
|
|
report by Oliver Sander <osander-AT-gmx.de>.
|
|
|
|
|
|
* IPython/FakeModule.py (FakeModule.__repr__): this method was
|
|
|
missing. Thanks to bug report by Ralf Schmitt <ralf-AT-brainbot.com>.
|
|
|
|
|
|
2003-09-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): fix bug where
|
|
|
unpacking a list whith a callable as first element would
|
|
|
mistakenly trigger autocalling. Thanks to a bug report by Jeffery
|
|
|
Collins.
|
|
|
|
|
|
2003-08-25 *** Released version 0.5.0
|
|
|
|
|
|
2003-08-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.linereader): Improved handling of
|
|
|
improperly defined user exceptions. Thanks to feedback from Mark
|
|
|
Russell <mrussell-AT-verio.net>.
|
|
|
|
|
|
2003-08-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/OInspect.py (Inspector.pinfo): changed String Form
|
|
|
printing so that it would print multi-line string forms starting
|
|
|
with a new line. This way the formatting is better respected for
|
|
|
objects which work hard to make nice string forms.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_auto): Fix bug where
|
|
|
autocall would overtake data access for objects with both
|
|
|
__getitem__ and __call__.
|
|
|
|
|
|
2003-08-19 *** Released version 0.5.0-rc1
|
|
|
|
|
|
2003-08-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/deep_reload.py (load_tail): single tiny change here
|
|
|
seems to fix the long-standing bug of dreload() failing to work
|
|
|
for dotted names. But this module is pretty tricky, so I may have
|
|
|
missed some subtlety. Needs more testing!.
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.linereader): harden against user
|
|
|
exceptions which have badly implemented __str__ methods.
|
|
|
(VerboseTB.text): harden against inspect.getinnerframes crashing,
|
|
|
which I've been getting reports about from Python 2.3 users. I
|
|
|
wish I had a simple test case to reproduce the problem, so I could
|
|
|
either write a cleaner workaround or file a bug report if
|
|
|
necessary.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_edit): fixed bug where after
|
|
|
making a class 'foo', file 'foo.py' couldn't be edited. Thanks to
|
|
|
a bug report by Tjabo Kloppenburg.
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.debugger): hardened against pdb
|
|
|
crashes. Wrapped the pdb call in a blanket try/except, since pdb
|
|
|
seems rather unstable. Thanks to a bug report by Tjabo
|
|
|
Kloppenburg <tjabo.kloppenburg-AT-unix-ag.uni-siegen.de>.
|
|
|
|
|
|
* IPython/Release.py (version): release 0.5.0-rc1. I want to put
|
|
|
this out soon because of the critical fixes in the inner loop for
|
|
|
generators.
|
|
|
|
|
|
* IPython/Magic.py (Magic.getargspec): removed. This (and
|
|
|
_get_def) have been obsoleted by OInspect for a long time, I
|
|
|
hadn't noticed that they were dead code.
|
|
|
(Magic._ofind): restored _ofind functionality for a few literals
|
|
|
(those in ["''",'""','[]','{}','()']). But it won't work anymore
|
|
|
for things like "hello".capitalize?, since that would require a
|
|
|
potentially dangerous eval() again.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): reorganized the
|
|
|
logic a bit more to clean up the escapes handling and minimize the
|
|
|
use of _ofind to only necessary cases. The interactive 'feel' of
|
|
|
IPython should have improved quite a bit with the changes in
|
|
|
_prefilter and _ofind (besides being far safer than before).
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_edit): Fixed old bug (but rather
|
|
|
obscure, never reported). Edit would fail to find the object to
|
|
|
edit under some circumstances.
|
|
|
(Magic._ofind): CRITICAL FIX. Finally removed the eval() calls
|
|
|
which were causing double-calling of generators. Those eval calls
|
|
|
were _very_ dangerous, since code with side effects could be
|
|
|
triggered. As they say, 'eval is evil'... These were the
|
|
|
nastiest evals in IPython. Besides, _ofind is now far simpler,
|
|
|
and it should also be quite a bit faster. Its use of inspect is
|
|
|
also safer, so perhaps some of the inspect-related crashes I've
|
|
|
seen lately with Python 2.3 might be taken care of. That will
|
|
|
need more testing.
|
|
|
|
|
|
2003-08-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): significant
|
|
|
simplifications to the logic for handling user escapes. Faster
|
|
|
and simpler code.
|
|
|
|
|
|
2003-08-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (sum_flat): rewrote to be non-recursive.
|
|
|
Now it requires O(N) storage (N=size(a)) for non-contiguous input,
|
|
|
but it should be quite a bit faster. And the recursive version
|
|
|
generated O(log N) intermediate storage for all rank>1 arrays,
|
|
|
even if they were contiguous.
|
|
|
(l1norm): Added this function.
|
|
|
(norm): Added this function for arbitrary norms (including
|
|
|
l-infinity). l1 and l2 are still special cases for convenience
|
|
|
and speed.
|
|
|
|
|
|
2003-08-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_edit): Removed all remaining string
|
|
|
exceptions, which now raise PendingDeprecationWarnings in Python
|
|
|
2.3. There were some in Magic and some in Gnuplot2.
|
|
|
|
|
|
2003-06-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (page): modified to call curses only for
|
|
|
terminals where TERM=='xterm'. After problems under many other
|
|
|
terminals were reported by Keith Beattie <KSBeattie-AT-lbl.gov>.
|
|
|
|
|
|
* IPython/iplib.py (complete): removed spurious 'print "IE"' which
|
|
|
would be triggered when readline was absent. This was just an old
|
|
|
debugging statement I'd forgotten to take out.
|
|
|
|
|
|
2003-06-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (clock): modified to return only user time
|
|
|
(not counting system time), after a discussion on scipy. While
|
|
|
system time may be a useful quantity occasionally, it may much
|
|
|
more easily be skewed by occasional swapping or other similar
|
|
|
activity.
|
|
|
|
|
|
2003-06-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (identity): new function, for building
|
|
|
arbitrary rank Kronecker deltas (mostly backwards compatible with
|
|
|
Numeric.identity)
|
|
|
|
|
|
2003-06-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_magic): protect
|
|
|
arguments passed to magics with spaces, to allow trailing '\' to
|
|
|
work normally (mainly for Windows users).
|
|
|
|
|
|
2003-05-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Load site._Helper() as help
|
|
|
instead of pydoc.help. This fixes a bizarre behavior where
|
|
|
printing '%s' % locals() would trigger the help system. Now
|
|
|
ipython behaves like normal python does.
|
|
|
|
|
|
Note that if one does 'from pydoc import help', the bizarre
|
|
|
behavior returns, but this will also happen in normal python, so
|
|
|
it's not an ipython bug anymore (it has to do with how pydoc.help
|
|
|
is implemented).
|
|
|
|
|
|
2003-05-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/FlexCompleter.py (Completer.attr_matches): fixed to
|
|
|
return [] instead of None when nothing matches, also match to end
|
|
|
of line. Patch by Gary Bishop.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Added same sys.excepthook
|
|
|
protection as before, for files passed on the command line. This
|
|
|
prevents the CrashHandler from kicking in if user files call into
|
|
|
sys.excepthook (such as PyQt and WxWindows have a nasty habit of
|
|
|
doing). After a report by Kasper Souren <Kasper.Souren-AT-ircam.fr>
|
|
|
|
|
|
2003-05-20 *** Released version 0.4.0
|
|
|
|
|
|
2003-05-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py: added support for manpages. It's a bit hackish b/c of
|
|
|
a bug in the way the bdist_rpm distutils target handles gzipped
|
|
|
manpages, but it works. After a patch by Jack.
|
|
|
|
|
|
2003-05-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py: added a mockup of the kinds module, since
|
|
|
it was recently removed from Numeric. This way, numutils will
|
|
|
work for all users even if they are missing kinds.
|
|
|
|
|
|
* IPython/Magic.py (Magic._ofind): Harden against an inspect
|
|
|
failure, which can occur with SWIG-wrapped extensions. After a
|
|
|
crash report from Prabhu.
|
|
|
|
|
|
2003-05-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.excepthook): New method to
|
|
|
protect ipython from user code which may call directly
|
|
|
sys.excepthook (this looks like an ipython crash to the user, even
|
|
|
when it isn't). After a patch by Gary Bishop <gb-AT-cs.unc.edu>.
|
|
|
This is especially important to help users of WxWindows, but may
|
|
|
also be useful in other cases.
|
|
|
|
|
|
* IPython/ultraTB.py (AutoFormattedTB.__call__): Changed to allow
|
|
|
an optional tb_offset to be specified, and to preserve exception
|
|
|
info if given. After a patch by Gary Bishop <gb-AT-cs.unc.edu>.
|
|
|
|
|
|
* ipython.1 (Default): Thanks to Jack's work, we now have manpages!
|
|
|
|
|
|
2003-05-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.user_setup): Fix crash when
|
|
|
installing for a new user under Windows.
|
|
|
|
|
|
2003-05-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_emacs): New line
|
|
|
handler for Emacs comint-based lines. Currently it doesn't do
|
|
|
much (but importantly, it doesn't update the history cache). In
|
|
|
the future it may be expanded if Alex needs more functionality
|
|
|
there.
|
|
|
|
|
|
* IPython/CrashHandler.py (CrashHandler.__call__): Added platform
|
|
|
info to crash reports.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.mainloop): Added -c option,
|
|
|
just like Python's -c. Also fixed crash with invalid -color
|
|
|
option value at startup. Thanks to Will French
|
|
|
<wfrench-AT-bestweb.net> for the bug report.
|
|
|
|
|
|
2003-05-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (EvalDict.__getitem__): Renamed EvalString
|
|
|
to EvalDict (it's a mapping, after all) and simplified its code
|
|
|
quite a bit, after a nice discussion on c.l.py where Gustavo
|
|
|
Córdova <gcordova-AT-sismex.com> suggested the new version.
|
|
|
|
|
|
2003-04-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (timings_out): modified it to reduce its
|
|
|
overhead in the common reps==1 case.
|
|
|
|
|
|
2003-04-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (timings_out): Modified to use the resource
|
|
|
module, which avoids the wraparound problems of time.clock().
|
|
|
|
|
|
2003-04-17 *** Released version 0.2.15pre4
|
|
|
|
|
|
2003-04-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (scriptfiles): Split windows-specific stuff over to a
|
|
|
separate file, in an attempt to have a Windows GUI installer.
|
|
|
That didn't work, but part of the groundwork is done.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc: Added M-i, M-o and M-I for
|
|
|
indent/unindent with 4 spaces. Particularly useful in combination
|
|
|
with the new auto-indent option.
|
|
|
|
|
|
2003-04-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py: various replacements of self.rc for
|
|
|
self.shell.rc. A lot more remains to be done to fully disentangle
|
|
|
this class from the main Shell class.
|
|
|
|
|
|
* IPython/GnuplotRuntime.py: added checks for mouse support so
|
|
|
that we don't try to enable it if the current gnuplot doesn't
|
|
|
really support it. Also added checks so that we don't try to
|
|
|
enable persist under Windows (where Gnuplot doesn't recognize the
|
|
|
option).
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): Added optional
|
|
|
auto-indenting code, after a patch by King C. Shu
|
|
|
<kingshu-AT-myrealbox.com>. It's off by default because it doesn't
|
|
|
get along well with pasting indented code. If I ever figure out
|
|
|
how to make that part go well, it will become on by default.
|
|
|
|
|
|
* IPython/Prompts.py (Prompt1.auto_rewrite): Fixed bug which would
|
|
|
crash ipython if there was an unmatched '%' in the user's prompt
|
|
|
string. Reported by Thorsten Kampe <thorsten-AT-thorstenkampe.de>.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): removed the
|
|
|
ability to ask the user whether he wants to crash or not at the
|
|
|
'last line' exception handler. Calling functions at that point
|
|
|
changes the stack, and the error reports would have incorrect
|
|
|
tracebacks.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_page): Added new @page magic, to
|
|
|
pass through a peger a pretty-printed form of any object. After a
|
|
|
contribution by Olivier Aubert <oaubert-AT-bat710.univ-lyon1.fr>
|
|
|
|
|
|
2003-04-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.user_setup): Fixed bug where
|
|
|
all files in ~ would be modified at first install (instead of
|
|
|
~/.ipython). This could be potentially disastrous, as the
|
|
|
modification (make line-endings native) could damage binary files.
|
|
|
|
|
|
2003-04-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_help): Modified to
|
|
|
handle only lines which are invalid python. This now means that
|
|
|
lines like 'x=1 #?' execute properly. Thanks to Jeffery Collins
|
|
|
for the bug report.
|
|
|
|
|
|
2003-04-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.showtraceback): Fixed bug
|
|
|
where failing to set sys.last_traceback would crash pdb.pm().
|
|
|
Thanks to Jeffery D. Collins <Jeff.Collins-AT-vexcel.com> for the bug
|
|
|
report.
|
|
|
|
|
|
2003-03-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_prun): rstrip() output of profiler
|
|
|
before printing it (it had a lot of spurious blank lines at the
|
|
|
end).
|
|
|
|
|
|
* IPython/Gnuplot2.py (Gnuplot.hardcopy): fixed bug where lpr
|
|
|
output would be sent 21 times! Obviously people don't use this
|
|
|
too often, or I would have heard about it.
|
|
|
|
|
|
2003-03-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (scriptfiles): renamed the data_files parameter from
|
|
|
'base' to 'data' to fix rpm build issues. Thanks to Ralf Ahlbrink
|
|
|
for the patch.
|
|
|
|
|
|
2003-03-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (error): added error() and fatal()
|
|
|
functions.
|
|
|
|
|
|
2003-03-18 *** Released version 0.2.15pre3
|
|
|
|
|
|
2003-03-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setupext/install_data_ext.py
|
|
|
(install_data_ext.initialize_options): Class contributed by Jack
|
|
|
Moffit for fixing the old distutils hack. He is sending this to
|
|
|
the distutils folks so in the future we may not need it as a
|
|
|
private fix.
|
|
|
|
|
|
* MANIFEST.in: Extensive reorganization, based on Jack Moffit's
|
|
|
changes for Debian packaging. See his patch for full details.
|
|
|
The old distutils hack of making the ipythonrc* files carry a
|
|
|
bogus .py extension is gone, at last. Examples were moved to a
|
|
|
separate subdir under doc/, and the separate executable scripts
|
|
|
now live in their own directory. Overall a great cleanup. The
|
|
|
manual was updated to use the new files, and setup.py has been
|
|
|
fixed for this setup.
|
|
|
|
|
|
* IPython/PyColorize.py (Parser.usage): made non-executable and
|
|
|
created a pycolor wrapper around it to be included as a script.
|
|
|
|
|
|
2003-03-12 *** Released version 0.2.15pre2
|
|
|
|
|
|
2003-03-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ColorANSI.py (make_color_table): Finally fixed the
|
|
|
long-standing problem with garbage characters in some terminals.
|
|
|
The issue was really that the \001 and \002 escapes must _only_ be
|
|
|
passed to input prompts (which call readline), but _never_ to
|
|
|
normal text to be printed on screen. I changed ColorANSI to have
|
|
|
two classes: TermColors and InputTermColors, each with the
|
|
|
appropriate escapes for input prompts or normal text. The code in
|
|
|
Prompts.py got slightly more complicated, but this very old and
|
|
|
annoying bug is finally fixed.
|
|
|
|
|
|
All the credit for nailing down the real origin of this problem
|
|
|
and the correct solution goes to Jack Moffit <jack-AT-xiph.org>.
|
|
|
*Many* thanks to him for spending quite a bit of effort on this.
|
|
|
|
|
|
2003-03-05 *** Released version 0.2.15pre1
|
|
|
|
|
|
2003-03-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/FakeModule.py: Moved the former _FakeModule to a
|
|
|
separate file, because it's also needed by Magic (to fix a similar
|
|
|
pickle-related issue in @run).
|
|
|
|
|
|
2003-03-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_autocall): new magic to control
|
|
|
the autocall option at runtime.
|
|
|
(Magic.magic_dhist): changed self.user_ns to self.shell.user_ns
|
|
|
across Magic.py to start separating Magic from InteractiveShell.
|
|
|
(Magic._ofind): Fixed to return proper namespace for dotted
|
|
|
names. Before, a dotted name would always return 'not currently
|
|
|
defined', because it would find the 'parent'. s.x would be found,
|
|
|
but since 'x' isn't defined by itself, it would get confused.
|
|
|
(Magic.magic_run): Fixed pickling problems reported by Ralf
|
|
|
Ahlbrink <RAhlbrink-AT-RosenInspection.net>. The fix was similar to
|
|
|
that I'd used when Mike Heeter reported similar issues at the
|
|
|
top-level, but now for @run. It boils down to injecting the
|
|
|
namespace where code is being executed with something that looks
|
|
|
enough like a module to fool pickle.dump(). Since a pickle stores
|
|
|
a named reference to the importing module, we need this for
|
|
|
pickles to save something sensible.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): added an autocall option.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): reordered all of
|
|
|
the auto-eval code. Now autocalling is an option, and the code is
|
|
|
also vastly safer. There is no more eval() involved at all.
|
|
|
|
|
|
2003-03-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic._ofind): Changed interface to return a
|
|
|
dict with named keys instead of a tuple.
|
|
|
|
|
|
* IPython: Started using CVS for IPython as of 0.2.15pre1.
|
|
|
|
|
|
* setup.py (make_shortcut): Fixed message about directories
|
|
|
created during Windows installation (the directories were ok, just
|
|
|
the printed message was misleading). Thanks to Chris Liechti
|
|
|
<cliechti-AT-gmx.net> for the heads up.
|
|
|
|
|
|
2003-02-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): Fixed catching
|
|
|
of ValueError exception when checking for auto-execution. This
|
|
|
one is raised by things like Numeric arrays arr.flat when the
|
|
|
array is non-contiguous.
|
|
|
|
|
|
2003-01-31 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (SystemExec.bq): Fixed bug where bq would
|
|
|
not return any value at all (even though the command would get
|
|
|
executed).
|
|
|
(xsys): Flush stdout right after printing the command to ensure
|
|
|
proper ordering of commands and command output in the total
|
|
|
output.
|
|
|
(SystemExec/xsys/bq): Switched the names of xsys/bq and
|
|
|
system/getoutput as defaults. The old ones are kept for
|
|
|
compatibility reasons, so no code which uses this library needs
|
|
|
changing.
|
|
|
|
|
|
2003-01-27 *** Released version 0.2.14
|
|
|
|
|
|
2003-01-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_edit): Fixed problem where
|
|
|
functions defined in previous edit sessions could not be re-edited
|
|
|
(because the temp files were immediately removed). Now temp files
|
|
|
are removed only at IPython's exit.
|
|
|
(Magic.magic_run): Improved @run to perform shell-like expansions
|
|
|
on its arguments (~users and $VARS). With this, @run becomes more
|
|
|
like a normal command-line.
|
|
|
|
|
|
* IPython/Shell.py (IPShellEmbed.__call__): Fixed a bunch of small
|
|
|
bugs related to embedding and cleaned up that code. A fairly
|
|
|
important one was the impossibility to access the global namespace
|
|
|
through the embedded IPython (only local variables were visible).
|
|
|
|
|
|
2003-01-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): Fixed
|
|
|
auto-calling to be a bit more conservative. Now it doesn't get
|
|
|
triggered if any of '!=()<>' are in the rest of the input line, to
|
|
|
allow comparing callables. Thanks to Alex for the heads up.
|
|
|
|
|
|
2003-01-07 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (page): fixed estimation of the number of
|
|
|
lines in a string to be paged to simply count newlines. This
|
|
|
prevents over-guessing due to embedded escape sequences. A better
|
|
|
long-term solution would involve stripping out the control chars
|
|
|
for the count, but it's potentially so expensive I just don't
|
|
|
think it's worth doing.
|
|
|
|
|
|
2002-12-19 *** Released version 0.2.14pre50
|
|
|
|
|
|
2002-12-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* tools/release (version): Changed release scripts to inform
|
|
|
Andrea and build a NEWS file with a list of recent changes.
|
|
|
|
|
|
* IPython/ColorANSI.py (__all__): changed terminal detection
|
|
|
code. Seems to work better for xterms without breaking
|
|
|
konsole. Will need more testing to determine if WinXP and Mac OSX
|
|
|
also work ok.
|
|
|
|
|
|
2002-12-18 *** Released version 0.2.14pre49
|
|
|
|
|
|
2002-12-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Docs: added new info about Mac OSX, from Andrea.
|
|
|
|
|
|
* IPython/Gnuplot2.py (String): Added a String PlotItem class to
|
|
|
allow direct plotting of python strings whose format is the same
|
|
|
of gnuplot data files.
|
|
|
|
|
|
2002-12-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): fixed default (y)
|
|
|
value of exit question to be acknowledged.
|
|
|
|
|
|
2002-12-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py: removed generators, which had been added
|
|
|
by mistake in an earlier debugging run. This was causing trouble
|
|
|
to users of python 2.1.x. Thanks to Abel Daniel <abli-AT-freemail.hu>
|
|
|
for pointing this out.
|
|
|
|
|
|
2002-11-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Manual: updated the Gnuplot section.
|
|
|
|
|
|
* IPython/GnuplotRuntime.py: refactored a lot all this code, with
|
|
|
a much better split of what goes in Runtime and what goes in
|
|
|
Interactive.
|
|
|
|
|
|
* IPython/ipmaker.py: fixed bug where import_fail_info wasn't
|
|
|
being imported from iplib.
|
|
|
|
|
|
* IPython/GnuplotInteractive.py (magic_gpc): renamed @gp to @gpc
|
|
|
for command-passing. Now the global Gnuplot instance is called
|
|
|
'gp' instead of 'g', which was really a far too fragile and
|
|
|
common name.
|
|
|
|
|
|
* IPython/Gnuplot2.py (eps_fix_bbox): added this to fix broken
|
|
|
bounding boxes generated by Gnuplot for square plots.
|
|
|
|
|
|
* IPython/genutils.py (popkey): new function added. I should
|
|
|
suggest this on c.l.py as a dict method, it seems useful.
|
|
|
|
|
|
* IPython/Gnuplot2.py (Gnuplot.plot): Overhauled plot and replot
|
|
|
to transparently handle PostScript generation. MUCH better than
|
|
|
the previous plot_eps/replot_eps (which I removed now). The code
|
|
|
is also fairly clean and well documented now (including
|
|
|
docstrings).
|
|
|
|
|
|
2002-11-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_edit): fixed docstring
|
|
|
(inconsistent with options).
|
|
|
|
|
|
* IPython/Gnuplot2.py (Gnuplot.hardcopy): hardcopy had been
|
|
|
manually disabled, I don't know why. Fixed it.
|
|
|
(Gnuplot._plot_eps): added new plot_eps/replot_eps to get directly
|
|
|
eps output.
|
|
|
|
|
|
2002-11-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (ask_yes_no): trap EOF and ^C so that they
|
|
|
don't propagate up to caller. Fixes crash reported by François
|
|
|
Pinard.
|
|
|
|
|
|
2002-11-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): fixed problem with writing
|
|
|
history file for new users.
|
|
|
(make_IPython): fixed bug where initial install would leave the
|
|
|
user running in the .ipython dir.
|
|
|
(make_IPython): fixed bug where config dir .ipython would be
|
|
|
created regardless of the given -ipythondir option. Thanks to Cory
|
|
|
Dodt <cdodt-AT-fcoe.k12.ca.us> for the bug report.
|
|
|
|
|
|
* IPython/genutils.py (ask_yes_no): new function for asking yes/no
|
|
|
type confirmations. Will need to use it in all of IPython's code
|
|
|
consistently.
|
|
|
|
|
|
* IPython/CrashHandler.py (CrashHandler.__call__): changed the
|
|
|
context to print 31 lines instead of the default 5. This will make
|
|
|
the crash reports extremely detailed in case the problem is in
|
|
|
libraries I don't have access to.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): changed the 'last
|
|
|
line of defense' code to still crash, but giving users fair
|
|
|
warning. I don't want internal errors to go unreported: if there's
|
|
|
an internal problem, IPython should crash and generate a full
|
|
|
report.
|
|
|
|
|
|
2002-11-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): added code to trap
|
|
|
otherwise uncaught exceptions which can appear if people set
|
|
|
sys.stdout to something badly broken. Thanks to a crash report
|
|
|
from henni-AT-mail.brainbot.com.
|
|
|
|
|
|
2002-11-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): added
|
|
|
__IPYTHON__active to the builtins. It's a flag which goes on when
|
|
|
the interaction starts and goes off again when it stops. This
|
|
|
allows embedding code to detect being inside IPython. Before this
|
|
|
was done via __IPYTHON__, but that only shows that an IPython
|
|
|
instance has been created.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_env): I realized that in a
|
|
|
UserDict, instance.data holds the data as a normal dict. So I
|
|
|
modified @env to return os.environ.data instead of rebuilding a
|
|
|
dict by hand.
|
|
|
|
|
|
2002-11-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (warn): changed so that level 1 prints no
|
|
|
header. Level 2 is now the default (with 'WARNING' header, as
|
|
|
before). I think I tracked all places where changes were needed in
|
|
|
IPython, but outside code using the old level numbering may have
|
|
|
broken.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.runcode): added this to
|
|
|
handle the tracebacks in SystemExit traps correctly. The previous
|
|
|
code (through interact) was printing more of the stack than
|
|
|
necessary, showing IPython internal code to the user.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc.py: Made confirm_exit 1 by
|
|
|
default. Now that the default at the confirmation prompt is yes,
|
|
|
it's not so intrusive. François' argument that ipython sessions
|
|
|
tend to be complex enough not to lose them from an accidental C-d,
|
|
|
is a valid one.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): added a
|
|
|
showtraceback() call to the SystemExit trap, and modified the exit
|
|
|
confirmation to have yes as the default.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc.py: removed 'session' option from
|
|
|
this file. It's been gone from the code for a long time, this was
|
|
|
simply leftover junk.
|
|
|
|
|
|
2002-11-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc.py: new confirm_exit option
|
|
|
added. If set, IPython now traps EOF and asks for
|
|
|
confirmation. After a request by François Pinard.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_Exit): New @Exit and @Quit instead
|
|
|
of @abort, and with a new (better) mechanism for handling the
|
|
|
exceptions.
|
|
|
|
|
|
2002-10-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/usage.py (__doc__): updated the --help information and
|
|
|
the ipythonrc file to indicate that -log generates
|
|
|
./ipython.log. Also fixed the corresponding info in @logstart.
|
|
|
This and several other fixes in the manuals thanks to reports by
|
|
|
François Pinard <pinard-AT-iro.umontreal.ca>.
|
|
|
|
|
|
* IPython/Logger.py (Logger.switch_log): Fixed error message to
|
|
|
refer to @logstart (instead of @log, which doesn't exist).
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): fixed
|
|
|
AttributeError crash. Thanks to Christopher Armstrong
|
|
|
<radix-AT-twistedmatrix.com> for the report/fix. This bug had been
|
|
|
introduced recently (in 0.2.14pre37) with the fix to the eval
|
|
|
problem mentioned below.
|
|
|
|
|
|
2002-10-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ConfigLoader.py (ConfigLoader.load): Fixes for Windows
|
|
|
installation. Thanks to Leonardo Santagada <retype-AT-terra.com.br>.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell._prefilter): Many changes to
|
|
|
this function to fix a problem reported by Alex Schmolck. He saw
|
|
|
it with list comprehensions and generators, which were getting
|
|
|
called twice. The real problem was an 'eval' call in testing for
|
|
|
automagic which was evaluating the input line silently.
|
|
|
|
|
|
This is a potentially very nasty bug, if the input has side
|
|
|
effects which must not be repeated. The code is much cleaner now,
|
|
|
without any blanket 'except' left and with a regexp test for
|
|
|
actual function names.
|
|
|
|
|
|
But an eval remains, which I'm not fully comfortable with. I just
|
|
|
don't know how to find out if an expression could be a callable in
|
|
|
the user's namespace without doing an eval on the string. However
|
|
|
that string is now much more strictly checked so that no code
|
|
|
slips by, so the eval should only happen for things that can
|
|
|
really be only function/method names.
|
|
|
|
|
|
2002-10-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Updated LyX to 1.2.1 so I can work on the docs again. Added Mac
|
|
|
OSX information to main manual, removed README_Mac_OSX file from
|
|
|
distribution. Also updated credits for recent additions.
|
|
|
|
|
|
2002-10-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* README_Mac_OSX: Added a README for Mac OSX users for fixing
|
|
|
terminal-related issues. Many thanks to Andrea Riciputi
|
|
|
<andrea.riciputi-AT-libero.it> for writing it.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc.py: Fixes to various small issues,
|
|
|
thanks to Thorsten Kampe <thorsten-AT-thorstenkampe.de>.
|
|
|
|
|
|
* setup.py (make_shortcut): Fixes for Windows installation. Thanks
|
|
|
to Fredrik Kant <fredrik.kant-AT-front.com> and Syver Enstad
|
|
|
<syver-en-AT-online.no> who both submitted patches for this problem.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.embed_mainloop): Patch for
|
|
|
global embedding to make sure that things don't overwrite user
|
|
|
globals accidentally. Thanks to Richard <rxe-AT-renre-europe.com>
|
|
|
|
|
|
* IPython/Gnuplot2.py (gp): Patch for Gnuplot.py 1.6
|
|
|
compatibility. Thanks to Hayden Callow
|
|
|
<h.callow-AT-elec.canterbury.ac.nz>
|
|
|
|
|
|
2002-10-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Gnuplot2.py (PlotItem): Added 'index' option for
|
|
|
Gnuplot.File objects.
|
|
|
|
|
|
2002-07-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (timing): Added timings() and timing() for
|
|
|
quick access to the most commonly needed data, the execution
|
|
|
times. Old timing() renamed to timings_out().
|
|
|
|
|
|
2002-07-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShellEmbed.restore_system_completer): fixed
|
|
|
bug with nested instances disrupting the parent's tab completion.
|
|
|
|
|
|
* IPython/iplib.py (all_completions): Added Alex Schmolck's
|
|
|
all_completions code to begin the emacs integration.
|
|
|
|
|
|
* IPython/Gnuplot2.py (zip_items): Added optional 'titles'
|
|
|
argument to allow titling individual arrays when plotting.
|
|
|
|
|
|
2002-07-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (make_shortcut): changed to retrieve the value of
|
|
|
'Program Files' directory from the registry (this value changes in
|
|
|
non-english versions of Windows). Thanks to Thomas Fanslau
|
|
|
<tfanslau-AT-gmx.de> for the report.
|
|
|
|
|
|
2002-07-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.debugger): enabled workaround for
|
|
|
a bug in pdb, which crashes if a line with only whitespace is
|
|
|
entered. Bug report submitted to sourceforge.
|
|
|
|
|
|
2002-07-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.nullrepr): fixed rare crash when
|
|
|
reporting exceptions (it's a bug in inspect.py, I just set a
|
|
|
workaround).
|
|
|
|
|
|
2002-07-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): fixed reference to
|
|
|
__IPYTHON__ in __builtins__ to show up in user_ns.
|
|
|
|
|
|
2002-07-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/GnuplotInteractive.py (magic_gp_set_default): changed
|
|
|
name from @gp_set_instance to @gp_set_default.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): default editor value set to
|
|
|
'0' (a string), to match the rc file. Otherwise will crash when
|
|
|
.strip() is called on it.
|
|
|
|
|
|
|
|
|
2002-06-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.safe_execfile): fix importing
|
|
|
of files in current directory when a file is executed via
|
|
|
@run. Patch also by RA <ralf_ahlbrink-AT-web.de>.
|
|
|
|
|
|
* setup.py (manfiles): fix for rpm builds, submitted by RA
|
|
|
<ralf_ahlbrink-AT-web.de>. Now we have RPMs!
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): fixed lookup of default
|
|
|
editor when set to '0'. Problem was, '0' evaluates to True (it's a
|
|
|
string!). A. Schmolck caught this one.
|
|
|
|
|
|
2002-06-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): fixed bug when running user
|
|
|
defined files at the cmd line. __name__ wasn't being set to
|
|
|
__main__.
|
|
|
|
|
|
* IPython/Gnuplot2.py (zip_items): improved it so it can plot also
|
|
|
regular lists and tuples besides Numeric arrays.
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput.__call__): Added output
|
|
|
supression for input ending with ';'. Similar to Mathematica and
|
|
|
Matlab. The _* vars and Out[] list are still updated, just like
|
|
|
Mathematica behaves.
|
|
|
|
|
|
2002-06-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ConfigLoader.py (ConfigLoader.load): fixed checking of
|
|
|
.ini extensions for profiels under Windows.
|
|
|
|
|
|
* IPython/OInspect.py (Inspector.pinfo): improved alignment of
|
|
|
string form. Fix contributed by Alexander Schmolck
|
|
|
<a.schmolck-AT-gmx.net>
|
|
|
|
|
|
* IPython/GnuplotRuntime.py (gp_new): new function. Returns a
|
|
|
pre-configured Gnuplot instance.
|
|
|
|
|
|
2002-06-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py (exp_safe): new function, works around the
|
|
|
underflow problems in Numeric.
|
|
|
(log2): New fn. Safe log in base 2: returns exact integer answer
|
|
|
for exact integer powers of 2.
|
|
|
|
|
|
* IPython/Magic.py (get_py_filename): fixed it not expanding '~'
|
|
|
properly.
|
|
|
|
|
|
2002-06-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (timing): new function like
|
|
|
Mathematica's. Similar to time_test, but returns more info.
|
|
|
|
|
|
2002-06-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_save): modified @save and @r
|
|
|
according to Mike Heeter's suggestions.
|
|
|
|
|
|
2002-06-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/GnuplotRuntime.py: Massive overhaul to the Gnuplot
|
|
|
system. GnuplotMagic is gone as a user-directory option. New files
|
|
|
make it easier to use all the gnuplot stuff both from external
|
|
|
programs as well as from IPython. Had to rewrite part of
|
|
|
hardcopy() b/c of a strange bug: often the ps files simply don't
|
|
|
get created, and require a repeat of the command (often several
|
|
|
times).
|
|
|
|
|
|
* IPython/ultraTB.py (AutoFormattedTB.__call__): changed to
|
|
|
resolve output channel at call time, so that if sys.stderr has
|
|
|
been redirected by user this gets honored.
|
|
|
|
|
|
2002-06-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPShell.__init__): Changed IPythonShell to
|
|
|
IPShell. Kept a copy with the old names to avoid breaking people's
|
|
|
embedded code.
|
|
|
|
|
|
* IPython/ipython: simplified it to the bare minimum after
|
|
|
Holger's suggestions. Added info about how to use it in
|
|
|
PYTHONSTARTUP.
|
|
|
|
|
|
* IPython/Shell.py (IPythonShell): changed the options passing
|
|
|
from a string with funky %s replacements to a straight list. Maybe
|
|
|
a bit more typing, but it follows sys.argv conventions, so there's
|
|
|
less special-casing to remember.
|
|
|
|
|
|
2002-06-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_r): new magic auto-repeat
|
|
|
command. Thanks to a suggestion by Mike Heeter.
|
|
|
(Magic.magic_pfile): added behavior to look at filenames if given
|
|
|
arg is not a defined object.
|
|
|
(Magic.magic_save): New @save function to save code snippets. Also
|
|
|
a Mike Heeter idea.
|
|
|
|
|
|
* IPython/UserConfig/GnuplotMagic.py (plot): Improvements to
|
|
|
plot() and replot(). Much more convenient now, especially for
|
|
|
interactive use.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_run): Added .py automatically to
|
|
|
filenames.
|
|
|
|
|
|
2002-06-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Struct.py (Struct.__init__): modified to admit
|
|
|
initialization via another struct.
|
|
|
|
|
|
* IPython/genutils.py (SystemExec.__init__): New stateful
|
|
|
interface to xsys and bq. Useful for writing system scripts.
|
|
|
|
|
|
2002-05-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* MANIFEST.in: Changed docfile selection to exclude all the lyx
|
|
|
documents. This will make the user download smaller (it's getting
|
|
|
too big).
|
|
|
|
|
|
2002-05-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (_FakeModule.__init__): New class introduced to
|
|
|
fix problems with shelve and pickle. Seems to work, but I don't
|
|
|
know if corner cases break it. Thanks to Mike Heeter
|
|
|
<korora-AT-SDF.LONESTAR.ORG> for the bug reports and test cases.
|
|
|
|
|
|
2002-05-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Macro.__init__): fixed magics embedded in
|
|
|
macros having broken.
|
|
|
|
|
|
2002-05-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_logstart): fixed recently
|
|
|
introduced logging bug: all history before logging started was
|
|
|
being written one character per line! This came from the redesign
|
|
|
of the input history as a special list which slices to strings,
|
|
|
not to lists.
|
|
|
|
|
|
2002-05-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput.__init__): made the color table
|
|
|
be an attribute of all classes in this module. The design of these
|
|
|
classes needs some serious overhauling.
|
|
|
|
|
|
* IPython/DPyGetOpt.py (DPyGetOpt.setPosixCompliance): fixed bug
|
|
|
which was ignoring '_' in option names.
|
|
|
|
|
|
* IPython/ultraTB.py (FormattedTB.__init__): Changed
|
|
|
'Verbose_novars' to 'Context' and made it the new default. It's a
|
|
|
bit more readable and also safer than verbose.
|
|
|
|
|
|
* IPython/PyColorize.py (Parser.__call__): Fixed coloring of
|
|
|
triple-quoted strings.
|
|
|
|
|
|
* IPython/OInspect.py (__all__): new module exposing the object
|
|
|
introspection facilities. Now the corresponding magics are dummy
|
|
|
wrappers around this. Having this module will make it much easier
|
|
|
to put these functions into our modified pdb.
|
|
|
This new object inspector system uses the new colorizing module,
|
|
|
so source code and other things are nicely syntax highlighted.
|
|
|
|
|
|
2002-05-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ColorANSI.py: Split the coloring tools into a separate
|
|
|
module so I can use them in other code easier (they were part of
|
|
|
ultraTB).
|
|
|
|
|
|
2002-05-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/UserConfig/GnuplotMagic.py (magic_gp_set_instance):
|
|
|
fixed it to set the global 'g' also to the called instance, as
|
|
|
long as 'g' was still a gnuplot instance (so it doesn't overwrite
|
|
|
user's 'g' variables).
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): Added In/Out
|
|
|
global variables (aliases to _ih,_oh) so that users which expect
|
|
|
In[5] or Out[7] to work aren't unpleasantly surprised.
|
|
|
(InputList.__getslice__): new class to allow executing slices of
|
|
|
input history directly. Very simple class, complements the use of
|
|
|
macros.
|
|
|
|
|
|
2002-05-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py (docdirbase): make doc directory be just doc/IPython
|
|
|
without version numbers, it will reduce clutter for users.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_run): Add explicit local dict to
|
|
|
execfile call to prevent possible memory leak. See for details:
|
|
|
http://mail.python.org/pipermail/python-list/2002-February/088476.html
|
|
|
|
|
|
2002-05-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_psource): made the object
|
|
|
introspection names be more standard: pdoc, pdef, pfile and
|
|
|
psource. They all print/page their output, and it makes
|
|
|
remembering them easier. Kept old names for compatibility as
|
|
|
aliases.
|
|
|
|
|
|
2002-05-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/UserConfig/GnuplotMagic.py: I think I finally understood
|
|
|
what the mouse problem was. The trick is to use gnuplot with temp
|
|
|
files and NOT with pipes (for data communication), because having
|
|
|
both pipes and the mouse on is bad news.
|
|
|
|
|
|
2002-05-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic._ofind): fixed namespace order search
|
|
|
bug. Information would be reported about builtins even when
|
|
|
user-defined functions overrode them.
|
|
|
|
|
|
2002-05-11 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/__init__.py (__all__): removed FlexCompleter from
|
|
|
__all__ so that things don't fail in platforms without readline.
|
|
|
|
|
|
2002-05-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/__init__.py (__all__): removed numutils from __all__ b/c
|
|
|
it requires Numeric, effectively making Numeric a dependency for
|
|
|
IPython.
|
|
|
|
|
|
* Released 0.2.13
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_prun): big overhaul to the
|
|
|
profiler interface. Now all the major options from the profiler
|
|
|
module are directly supported in IPython, both for single
|
|
|
expressions (@prun) and for full programs (@run -p).
|
|
|
|
|
|
2002-05-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_doc): fixed to show docstrings of
|
|
|
magic properly formatted for screen.
|
|
|
|
|
|
* setup.py (make_shortcut): Changed things to put pdf version in
|
|
|
doc/ instead of doc/manual (had to change lyxport a bit).
|
|
|
|
|
|
* IPython/Magic.py (Profile.string_stats): made profile runs go
|
|
|
through pager (they are long and a pager allows searching, saving,
|
|
|
etc.)
|
|
|
|
|
|
2002-05-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.12
|
|
|
|
|
|
2002-05-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_hist): small bug fixed (recently
|
|
|
introduced); 'hist n1 n2' was broken.
|
|
|
(Magic.magic_pdb): added optional on/off arguments to @pdb
|
|
|
(Magic.magic_run): added option -i to @run, which executes code in
|
|
|
the IPython namespace instead of a clean one. Also added @irun as
|
|
|
an alias to @run -i.
|
|
|
|
|
|
* IPython/UserConfig/GnuplotMagic.py (magic_gp_set_instance):
|
|
|
fixed (it didn't really do anything, the namespaces were wrong).
|
|
|
|
|
|
* IPython/Debugger.py (__init__): Added workaround for python 2.1
|
|
|
|
|
|
* IPython/__init__.py (__all__): Fixed package namespace, now
|
|
|
'import IPython' does give access to IPython.<all> as
|
|
|
expected. Also renamed __release__ to Release.
|
|
|
|
|
|
* IPython/Debugger.py (__license__): created new Pdb class which
|
|
|
functions like a drop-in for the normal pdb.Pdb but does NOT
|
|
|
import readline by default. This way it doesn't muck up IPython's
|
|
|
readline handling, and now tab-completion finally works in the
|
|
|
debugger -- sort of. It completes things globally visible, but the
|
|
|
completer doesn't track the stack as pdb walks it. That's a bit
|
|
|
tricky, and I'll have to implement it later.
|
|
|
|
|
|
2002-05-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_oinfo): fixed formatting bug for
|
|
|
magic docstrings when printed via ? (explicit \'s were being
|
|
|
printed).
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): fixed namespace
|
|
|
identification bug. Now variables loaded via logs or command-line
|
|
|
files are recognized in the interactive namespace by @who.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.safe_execfile): Fixed bug in
|
|
|
log replay system stemming from the string form of Structs.
|
|
|
|
|
|
* IPython/Magic.py (Macro.__init__): improved macros to properly
|
|
|
handle magic commands in them.
|
|
|
(Magic.magic_logstart): usernames are now expanded so 'logstart
|
|
|
~/mylog' now works.
|
|
|
|
|
|
* IPython/iplib.py (complete): fixed bug where paths starting with
|
|
|
'/' would be completed as magic names.
|
|
|
|
|
|
2002-05-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_run): added options -p and -f to
|
|
|
allow running full programs under the profiler's control.
|
|
|
|
|
|
* IPython/ultraTB.py (FormattedTB.__init__): Added Verbose_novars
|
|
|
mode to report exceptions verbosely but without formatting
|
|
|
variables. This addresses the issue of ipython 'freezing' (it's
|
|
|
not frozen, but caught in an expensive formatting loop) when huge
|
|
|
variables are in the context of an exception.
|
|
|
(VerboseTB.text): Added '--->' markers at line where exception was
|
|
|
triggered. Much clearer to read, especially in NoColor modes.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_run): bugfix: -n option had been
|
|
|
implemented in reverse when changing to the new parse_options().
|
|
|
|
|
|
2002-05-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.parse_options): new function so that
|
|
|
magics can parse options easier.
|
|
|
(Magic.magic_prun): new function similar to profile.run(),
|
|
|
suggested by Chris Hart.
|
|
|
(Magic.magic_cd): fixed behavior so that it only changes if
|
|
|
directory actually is in history.
|
|
|
|
|
|
* IPython/usage.py (__doc__): added information about potential
|
|
|
slowness of Verbose exception mode when there are huge data
|
|
|
structures to be formatted (thanks to Archie Paulson).
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Changed default logging
|
|
|
(when simply called with -log) to use curr_dir/ipython.log in
|
|
|
rotate mode. Fixed crash which was occuring with -log before
|
|
|
(thanks to Jim Boyle).
|
|
|
|
|
|
2002-05-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.11 for these fixes (mainly the ultraTB one which
|
|
|
was nasty -- though somewhat of a corner case).
|
|
|
|
|
|
* IPython/ultraTB.py (AutoFormattedTB.text): renamed __text to
|
|
|
text (was a bug).
|
|
|
|
|
|
2002-04-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/UserConfig/GnuplotMagic.py (magic_gp): Minor fix to add
|
|
|
a print after ^D or ^C from the user so that the In[] prompt
|
|
|
doesn't over-run the gnuplot one.
|
|
|
|
|
|
2002-04-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.10
|
|
|
|
|
|
* IPython/__release__.py (version): get date dynamically.
|
|
|
|
|
|
* Misc. documentation updates thanks to Arnd's comments. Also ran
|
|
|
a full spellcheck on the manual (hadn't been done in a while).
|
|
|
|
|
|
2002-04-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_logstart): Fixed bug where
|
|
|
starting a log in mid-session would reset the input history list.
|
|
|
|
|
|
2002-04-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.wait): Fixed bug where not
|
|
|
all files were being included in an update. Now anything in
|
|
|
UserConfig that matches [A-Za-z]*.py will go (this excludes
|
|
|
__init__.py)
|
|
|
|
|
|
2002-04-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.__init__): Added __IPYTHON__
|
|
|
to __builtins__ so that any form of embedded or imported code can
|
|
|
test for being inside IPython.
|
|
|
|
|
|
* IPython/UserConfig/GnuplotMagic.py: (magic_gp_set_instance):
|
|
|
changed to GnuplotMagic because it's now an importable module,
|
|
|
this makes the name follow that of the standard Gnuplot module.
|
|
|
GnuplotMagic can now be loaded at any time in mid-session.
|
|
|
|
|
|
2002-04-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/numutils.py: removed SIUnits. It doesn't properly set
|
|
|
the globals (IPython has its own namespace) and the
|
|
|
PhysicalQuantity stuff is much better anyway.
|
|
|
|
|
|
* IPython/UserConfig/example-gnuplot.py (g2): Added gnuplot
|
|
|
embedding example to standard user directory for
|
|
|
distribution. Also put it in the manual.
|
|
|
|
|
|
* IPython/numutils.py (gnuplot_exec): Changed to take a gnuplot
|
|
|
instance as first argument (so it doesn't rely on some obscure
|
|
|
hidden global).
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc.py: put () back in accepted
|
|
|
delimiters. While it prevents ().TAB from working, it allows
|
|
|
completions in open (... expressions. This is by far a more common
|
|
|
case.
|
|
|
|
|
|
2002-04-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Extensions/InterpreterPasteInput.py: new
|
|
|
syntax-processing module for pasting lines with >>> or ... at the
|
|
|
start.
|
|
|
|
|
|
* IPython/Extensions/PhysicalQ_Interactive.py
|
|
|
(PhysicalQuantityInteractive.__int__): fixed to work with either
|
|
|
Numeric or math.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc-numeric.py: reorganized the
|
|
|
provided profiles. Now we have:
|
|
|
-math -> math module as * and cmath with its own namespace.
|
|
|
-numeric -> Numeric as *, plus gnuplot & grace
|
|
|
-physics -> same as before
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_magic): Fixed bug where
|
|
|
user-defined magics wouldn't be found by @magic if they were
|
|
|
defined as class methods. Also cleaned up the namespace search
|
|
|
logic and the string building (to use %s instead of many repeated
|
|
|
string adds).
|
|
|
|
|
|
* IPython/UserConfig/example-magic.py (magic_foo): updated example
|
|
|
of user-defined magics to operate with class methods (cleaner, in
|
|
|
line with the gnuplot code).
|
|
|
|
|
|
2002-04-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py: updated dependency list so that manual is updated when
|
|
|
all included files change.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): Fixed bug which was ignoring
|
|
|
the delimiter removal option (the fix is ugly right now).
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc-physics.py: simplified not to load
|
|
|
all of the math profile (quicker loading, no conflict between
|
|
|
g-9.8 and g-gnuplot).
|
|
|
|
|
|
* IPython/CrashHandler.py (CrashHandler.__call__): changed default
|
|
|
name of post-mortem files to IPython_crash_report.txt.
|
|
|
|
|
|
* Cleanup/update of the docs. Added all the new readline info and
|
|
|
formatted all lists as 'real lists'.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): removed now-obsolete
|
|
|
tab-completion options, since the full readline parse_and_bind is
|
|
|
now accessible.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.init_readline): Changed
|
|
|
handling of readline options. Now users can specify any string to
|
|
|
be passed to parse_and_bind(), as well as the delimiters to be
|
|
|
removed.
|
|
|
(InteractiveShell.__init__): Added __name__ to the global
|
|
|
namespace so that things like Itpl which rely on its existence
|
|
|
don't crash.
|
|
|
(InteractiveShell._prefilter): Defined the default with a _ so
|
|
|
that prefilter() is easier to override, while the default one
|
|
|
remains available.
|
|
|
|
|
|
2002-04-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Added information about pdb in the docs.
|
|
|
|
|
|
2002-04-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): added rc_override option to
|
|
|
allow passing config options at creation time which may override
|
|
|
anything set in the config files or command line. This is
|
|
|
particularly useful for configuring embedded instances.
|
|
|
|
|
|
2002-04-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Logger.py (Logger.log): Fixed a nasty bug which could
|
|
|
crash embedded instances because of the input cache falling out of
|
|
|
sync with the output counter.
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.__init__): added a debug
|
|
|
mode which calls pdb after an uncaught exception in IPython itself.
|
|
|
|
|
|
2002-04-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.showtraceback): pdb mucks up
|
|
|
readline, fix it back after each call.
|
|
|
|
|
|
* IPython/ultraTB.py (AutoFormattedTB.__text): made text a private
|
|
|
method to force all access via __call__(), which guarantees that
|
|
|
traceback references are properly deleted.
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput._display): minor fixes to
|
|
|
improve printing when pprint is in use.
|
|
|
|
|
|
2002-04-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.__call__): SystemExit
|
|
|
exceptions aren't caught anymore. If the user triggers one, he
|
|
|
should know why he's doing it and it should go all the way up,
|
|
|
just like any other exception. So now @abort will fully kill the
|
|
|
embedded interpreter and the embedding code (unless that happens
|
|
|
to catch SystemExit).
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.__init__): added a call_pdb flag
|
|
|
and a debugger() method to invoke the interactive pdb debugger
|
|
|
after printing exception information. Also added the corresponding
|
|
|
-pdb option and @pdb magic to control this feature, and updated
|
|
|
the docs. After a suggestion from Christopher Hart
|
|
|
(hart-AT-caltech.edu).
|
|
|
|
|
|
2002-04-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.__init__): modified to use
|
|
|
the exception handlers defined by the user (not the CrashHandler)
|
|
|
so that user exceptions don't trigger an ipython bug report.
|
|
|
|
|
|
* IPython/ultraTB.py (ColorTB.__init__): made the color scheme
|
|
|
configurable (it should have always been so).
|
|
|
|
|
|
2002-03-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.__call__): many changes here
|
|
|
and there to fix embedding namespace issues. This should all be
|
|
|
done in a more elegant way.
|
|
|
|
|
|
2002-03-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (get_home_dir): Try to make it work under
|
|
|
win9x also.
|
|
|
|
|
|
2002-03-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.__init__): leave
|
|
|
sys.displayhook untouched upon __init__.
|
|
|
|
|
|
2002-03-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.9 (for embedding bug, basically).
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.__call__): Trap SystemExit
|
|
|
exceptions so that enclosing shell's state can be restored.
|
|
|
|
|
|
* Changed magic_gnuplot.py to magic-gnuplot.py to standardize
|
|
|
naming conventions in the .ipython/ dir.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.init_readline): removed '-'
|
|
|
from delimiters list so filenames with - in them get expanded.
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.__call__): fixed bug with
|
|
|
sys.displayhook not being properly restored after an embedded call.
|
|
|
|
|
|
2002-03-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.8
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.user_setup): fixed bug where
|
|
|
some files weren't being included in a -upgrade.
|
|
|
(InteractiveShell.init_readline): Added 'set show-all-if-ambiguous
|
|
|
on' so that the first tab completes.
|
|
|
(InteractiveShell.handle_magic): fixed bug with spaces around
|
|
|
quotes breaking many magic commands.
|
|
|
|
|
|
* setup.py: added note about ignoring the syntax error messages at
|
|
|
installation.
|
|
|
|
|
|
* IPython/UserConfig/magic_gnuplot.py (magic_gp): finished
|
|
|
streamlining the gnuplot interface, now there's only one magic @gp.
|
|
|
|
|
|
2002-03-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/UserConfig/magic_gnuplot.py: new name for the
|
|
|
example-magic_pm.py file. Much enhanced system, now with a shell
|
|
|
for communicating directly with gnuplot, one command at a time.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_run): added option -n to prevent
|
|
|
setting __name__=='__main__'.
|
|
|
|
|
|
* IPython/UserConfig/example-magic_pm.py (magic_pm): Added
|
|
|
mini-shell for accessing gnuplot from inside ipython. Should
|
|
|
extend it later for grace access too. Inspired by Arnd's
|
|
|
suggestion.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.handle_magic): fixed bug when
|
|
|
calling magic functions with () in their arguments. Thanks to Arnd
|
|
|
Baecker for pointing this to me.
|
|
|
|
|
|
* IPython/numutils.py (sum_flat): fixed bug. Would recurse
|
|
|
infinitely for integer or complex arrays (only worked with floats).
|
|
|
|
|
|
2002-03-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py: Merged setup and setup_windows into a single script
|
|
|
which properly handles things for windows users.
|
|
|
|
|
|
2002-03-15 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Big change to the manual: now the magics are all automatically
|
|
|
documented. This information is generated from their docstrings
|
|
|
and put in a latex file included by the manual lyx file. This way
|
|
|
we get always up to date information for the magics. The manual
|
|
|
now also has proper version information, also auto-synced.
|
|
|
|
|
|
For this to work, an undocumented --magic_docstrings option was added.
|
|
|
|
|
|
2002-03-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (TermColors): fixed problem with dark colors
|
|
|
under CDE terminals. An explicit ;2 color reset is needed in the escapes.
|
|
|
|
|
|
2002-03-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (TermColors): changed color escapes again to
|
|
|
fix the (old, reintroduced) line-wrapping bug. Basically, if
|
|
|
\001..\002 aren't given in the color escapes, lines get wrapped
|
|
|
weirdly. But giving those screws up old xterms and emacs terms. So
|
|
|
I added some logic for emacs terms to be ok, but I can't identify old
|
|
|
xterms separately ($TERM=='xterm' for many terminals, like konsole).
|
|
|
|
|
|
2002-03-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/usage.py (__doc__): Various documentation cleanups and
|
|
|
updates, both in usage docstrings and in the manual.
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput.set_colors): cleanups for
|
|
|
handling of caching. Set minimum acceptabe value for having a
|
|
|
cache at 20 values.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.user_setup): moved the
|
|
|
install_first_time function to a method, renamed it and added an
|
|
|
'upgrade' mode. Now people can update their config directory with
|
|
|
a simple command line switch (-upgrade, also new).
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_pfile): Made @pfile an alias to
|
|
|
@file (convenient for automagic users under Python >= 2.2).
|
|
|
Removed @files (it seemed more like a plural than an abbrev. of
|
|
|
'file show').
|
|
|
|
|
|
* IPython/iplib.py (install_first_time): Fixed crash if there were
|
|
|
backup files ('~') in .ipython/ install directory.
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): fixes for new prompt
|
|
|
system. Things look fine, but these changes are fairly
|
|
|
intrusive. Test them for a few days.
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput.__init__): Massive rewrite of
|
|
|
the prompts system. Now all in/out prompt strings are user
|
|
|
controllable. This is particularly useful for embedding, as one
|
|
|
can tag embedded instances with particular prompts.
|
|
|
|
|
|
Also removed global use of sys.ps1/2, which now allows nested
|
|
|
embeddings without any problems. Added command-line options for
|
|
|
the prompt strings.
|
|
|
|
|
|
2002-03-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/UserConfig/example-embed-short.py (ipshell): added
|
|
|
example file with the bare minimum code for embedding.
|
|
|
|
|
|
* IPython/Shell.py (IPythonShellEmbed.set_dummy_mode): added
|
|
|
functionality for the embeddable shell to be activated/deactivated
|
|
|
either globally or at each call.
|
|
|
|
|
|
* IPython/Prompts.py (Prompt1.auto_rewrite): Fixes the problem of
|
|
|
rewriting the prompt with '--->' for auto-inputs with proper
|
|
|
coloring. Now the previous UGLY hack in handle_auto() is gone, and
|
|
|
this is handled by the prompts class itself, as it should.
|
|
|
|
|
|
2002-03-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_logstart): Changed @log to
|
|
|
@logstart to avoid name clashes with the math log function.
|
|
|
|
|
|
* Big updates to X/Emacs section of the manual.
|
|
|
|
|
|
* Removed ipython_emacs. Milan explained to me how to pass
|
|
|
arguments to ipython through Emacs. Some day I'm going to end up
|
|
|
learning some lisp...
|
|
|
|
|
|
2002-03-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipython_emacs: Created script to be used as the
|
|
|
py-python-command Emacs variable so we can pass IPython
|
|
|
parameters. I can't figure out how to tell Emacs directly to pass
|
|
|
parameters to IPython, so a dummy shell script will do it.
|
|
|
|
|
|
Other enhancements made for things to work better under Emacs'
|
|
|
various types of terminals. Many thanks to Milan Zamazal
|
|
|
<pdm-AT-zamazal.org> for all the suggestions and pointers.
|
|
|
|
|
|
2002-03-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): added a --readline! option so
|
|
|
that loading of readline is now optional. This gives better
|
|
|
control to emacs users.
|
|
|
|
|
|
* IPython/ultraTB.py (__date__): Modified color escape sequences
|
|
|
and now things work fine under xterm and in Emacs' term buffers
|
|
|
(though not shell ones). Well, in emacs you get colors, but all
|
|
|
seem to be 'light' colors (no difference between dark and light
|
|
|
ones). But the garbage chars are gone, and also in xterms. It
|
|
|
seems that now I'm using 'cleaner' ansi sequences.
|
|
|
|
|
|
2002-02-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.7 (mainly to publish the scoping fix).
|
|
|
|
|
|
* IPython/Logger.py (Logger.logstate): added. A corresponding
|
|
|
@logstate magic was created.
|
|
|
|
|
|
* IPython/Magic.py: fixed nested scoping problem under Python
|
|
|
2.1.x (automagic wasn't working).
|
|
|
|
|
|
2002-02-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.6.
|
|
|
|
|
|
* IPython/OutputTrap.py (OutputTrap.__init__): added a 'quiet'
|
|
|
option so that logs can come out without any headers at all.
|
|
|
|
|
|
* IPython/UserConfig/ipythonrc-scipy.py: created a profile for
|
|
|
SciPy.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.embed_mainloop): Changed so
|
|
|
that embedded IPython calls don't require vars() to be explicitly
|
|
|
passed. Now they are extracted from the caller's frame (code
|
|
|
snatched from Eric Jones' weave). Added better documentation to
|
|
|
the section on embedding and the example file.
|
|
|
|
|
|
* IPython/genutils.py (page): Changed so that under emacs, it just
|
|
|
prints the string. You can then page up and down in the emacs
|
|
|
buffer itself. This is how the builtin help() works.
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput.__call__): Fixed issue with
|
|
|
macro scoping: macros need to be executed in the user's namespace
|
|
|
to work as if they had been typed by the user.
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_macro): Changed macros so they
|
|
|
execute automatically (no need to type 'exec...'). They then
|
|
|
behave like 'true macros'. The printing system was also modified
|
|
|
for this to work.
|
|
|
|
|
|
2002-02-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (page_file): new function for paging files
|
|
|
in an OS-independent way. Also necessary for file viewing to work
|
|
|
well inside Emacs buffers.
|
|
|
(page): Added checks for being in an emacs buffer.
|
|
|
(page): fixed bug for Windows ($TERM isn't set in Windows). Fixed
|
|
|
same bug in iplib.
|
|
|
|
|
|
2002-02-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.init_readline): modified use
|
|
|
of readline so that IPython can work inside an Emacs buffer.
|
|
|
|
|
|
* IPython/ultraTB.py (AutoFormattedTB.__call__): some fixes to
|
|
|
method signatures (they weren't really bugs, but it looks cleaner
|
|
|
and keeps PyChecker happy).
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): added hooks Struct to __IP
|
|
|
for implementing various user-defined hooks. Currently only
|
|
|
display is done.
|
|
|
|
|
|
* IPython/Prompts.py (CachedOutput._display): changed display
|
|
|
functions so that they can be dynamically changed by users easily.
|
|
|
|
|
|
* IPython/Extensions/numeric_formats.py (num_display): added an
|
|
|
extension for printing NumPy arrays in flexible manners. It
|
|
|
doesn't do anything yet, but all the structure is in
|
|
|
place. Ultimately the plan is to implement output format control
|
|
|
like in Octave.
|
|
|
|
|
|
* IPython/Magic.py (Magic.lsmagic): changed so that bound magic
|
|
|
methods are found at run-time by all the automatic machinery.
|
|
|
|
|
|
2002-02-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup_Windows.py (make_shortcut): documented. Cleaned up the
|
|
|
whole file a little.
|
|
|
|
|
|
* ToDo: closed this document. Now there's a new_design.lyx
|
|
|
document for all new ideas. Added making a pdf of it for the
|
|
|
end-user distro.
|
|
|
|
|
|
* IPython/Logger.py (Logger.switch_log): Created this to replace
|
|
|
logon() and logoff(). It also fixes a nasty crash reported by
|
|
|
Philip Hisley <compsys-AT-starpower.net>. Many thanks to him.
|
|
|
|
|
|
* IPython/iplib.py (complete): got auto-completion to work with
|
|
|
automagic (I had wanted this for a long time).
|
|
|
|
|
|
* IPython/Magic.py (Magic.magic_files): Added @files as an alias
|
|
|
to @file, since file() is now a builtin and clashes with automagic
|
|
|
for @file.
|
|
|
|
|
|
* Made some new files: Prompts, CrashHandler, Magic, Logger. All
|
|
|
of this was previously in iplib, which had grown to more than 2000
|
|
|
lines, way too long. No new functionality, but it makes managing
|
|
|
the code a bit easier.
|
|
|
|
|
|
* IPython/iplib.py (IPythonCrashHandler.__call__): Added version
|
|
|
information to crash reports.
|
|
|
|
|
|
2002-02-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.5.
|
|
|
|
|
|
2002-02-11 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Wrote a relatively complete Windows installer. It puts
|
|
|
everything in place, creates Start Menu entries and fixes the
|
|
|
color issues. Nothing fancy, but it works.
|
|
|
|
|
|
2002-02-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.safe_execfile): added an
|
|
|
os.path.expanduser() call so that we can type @run ~/myfile.py and
|
|
|
have thigs work as expected.
|
|
|
|
|
|
* IPython/genutils.py (page): fixed exception handling so things
|
|
|
work both in Unix and Windows correctly. Quitting a pager triggers
|
|
|
an IOError/broken pipe in Unix, and in windows not finding a pager
|
|
|
is also an IOError, so I had to actually look at the return value
|
|
|
of the exception, not just the exception itself. Should be ok now.
|
|
|
|
|
|
* IPython/ultraTB.py (ColorSchemeTable.set_active_scheme):
|
|
|
modified to allow case-insensitive color scheme changes.
|
|
|
|
|
|
2002-02-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/genutils.py (native_line_ends): new function to leave
|
|
|
user config files with os-native line-endings.
|
|
|
|
|
|
* README and manual updates.
|
|
|
|
|
|
* IPython/genutils.py: fixed unicode bug: use types.StringTypes
|
|
|
instead of StringType to catch Unicode strings.
|
|
|
|
|
|
* IPython/genutils.py (filefind): fixed bug for paths with
|
|
|
embedded spaces (very common in Windows).
|
|
|
|
|
|
* IPython/ipmaker.py (make_IPython): added a '.ini' to the rc
|
|
|
files under Windows, so that they get automatically associated
|
|
|
with a text editor. Windows makes it a pain to handle
|
|
|
extension-less files.
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.init_readline): Made the
|
|
|
warning about readline only occur for Posix. In Windows there's no
|
|
|
way to get readline, so why bother with the warning.
|
|
|
|
|
|
* IPython/Struct.py (Struct.__str__): fixed to use self.__dict__
|
|
|
for __str__ instead of dir(self), since dir() changed in 2.2.
|
|
|
|
|
|
* Ported to Windows! Tested on XP, I suspect it should work fine
|
|
|
on NT/2000, but I don't think it will work on 98 et al. That
|
|
|
series of Windows is such a piece of junk anyway that I won't try
|
|
|
porting it there. The XP port was straightforward, showed a few
|
|
|
bugs here and there (fixed all), in particular some string
|
|
|
handling stuff which required considering Unicode strings (which
|
|
|
Windows uses). This is good, but hasn't been too tested :) No
|
|
|
fancy installer yet, I'll put a note in the manual so people at
|
|
|
least make manually a shortcut.
|
|
|
|
|
|
* IPython/iplib.py (Magic.magic_colors): Unified the color options
|
|
|
into a single one, "colors". This now controls both prompt and
|
|
|
exception color schemes, and can be changed both at startup
|
|
|
(either via command-line switches or via ipythonrc files) and at
|
|
|
runtime, with @colors.
|
|
|
(Magic.magic_run): renamed @prun to @run and removed the old
|
|
|
@run. The two were too similar to warrant keeping both.
|
|
|
|
|
|
2002-02-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (install_first_time): Added comment on how to
|
|
|
configure the color options for first-time users. Put a <return>
|
|
|
request at the end so that small-terminal users get a chance to
|
|
|
read the startup info.
|
|
|
|
|
|
2002-01-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (CachedOutput.update): Changed output memory
|
|
|
variable names from _o,_oo,_ooo,_o<n> to simply _,__,___,_<n>. For
|
|
|
input history we still use _i. Did this b/c these variable are
|
|
|
very commonly used in interactive work, so the less we need to
|
|
|
type the better off we are.
|
|
|
(Magic.magic_prun): updated @prun to better handle the namespaces
|
|
|
the file will run in, including a fix for __name__ not being set
|
|
|
before.
|
|
|
|
|
|
2002-01-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/ultraTB.py (VerboseTB.linereader): Fixed printing of
|
|
|
extra garbage for Python 2.2. Need to look more carefully into
|
|
|
this later.
|
|
|
|
|
|
2002-01-19 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.showtraceback): fixed to
|
|
|
display SyntaxError exceptions properly formatted when they occur
|
|
|
(they can be triggered by imported code).
|
|
|
|
|
|
2002-01-18 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.safe_execfile): now
|
|
|
SyntaxError exceptions are reported nicely formatted, instead of
|
|
|
spitting out only offset information as before.
|
|
|
(Magic.magic_prun): Added the @prun function for executing
|
|
|
programs with command line args inside IPython.
|
|
|
|
|
|
2002-01-16 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (Magic.magic_hist): Changed @hist and @dhist
|
|
|
to *not* include the last item given in a range. This brings their
|
|
|
behavior in line with Python's slicing:
|
|
|
a[n1:n2] -> a[n1]...a[n2-1]
|
|
|
It may be a bit less convenient, but I prefer to stick to Python's
|
|
|
conventions *everywhere*, so users never have to wonder.
|
|
|
(Magic.magic_macro): Added @macro function to ease the creation of
|
|
|
macros.
|
|
|
|
|
|
2002-01-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.4.
|
|
|
|
|
|
* IPython/iplib.py (Magic.magic_pdef):
|
|
|
(InteractiveShell.safe_execfile): report magic lines and error
|
|
|
lines without line numbers so one can easily copy/paste them for
|
|
|
re-execution.
|
|
|
|
|
|
* Updated manual with recent changes.
|
|
|
|
|
|
* IPython/iplib.py (Magic.magic_oinfo): added constructor
|
|
|
docstring printing when class? is called. Very handy for knowing
|
|
|
how to create class instances (as long as __init__ is well
|
|
|
documented, of course :)
|
|
|
(Magic.magic_doc): print both class and constructor docstrings.
|
|
|
(Magic.magic_pdef): give constructor info if passed a class and
|
|
|
__call__ info for callable object instances.
|
|
|
|
|
|
2002-01-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Made deep_reload() off by default. It doesn't always work
|
|
|
exactly as intended, so it's probably safer to have it off. It's
|
|
|
still available as dreload() anyway, so nothing is lost.
|
|
|
|
|
|
2002-01-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.3 (contacted R.Singh at CU about biopython course,
|
|
|
so I wanted an updated release).
|
|
|
|
|
|
2001-12-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython/iplib.py (InteractiveShell.interact): Added the original
|
|
|
code from 'code.py' for this module in order to change the
|
|
|
handling of a KeyboardInterrupt. This was necessary b/c otherwise
|
|
|
the history cache would break when the user hit Ctrl-C, and
|
|
|
interact() offers no way to add any hooks to it.
|
|
|
|
|
|
2001-12-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* setup.py: added check for 'MANIFEST' before trying to remove
|
|
|
it. Thanks to Sean Reifschneider.
|
|
|
|
|
|
2001-12-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.2.
|
|
|
|
|
|
* Finished (reasonably) writing the manual. Later will add the
|
|
|
python-standard navigation stylesheets, but for the time being
|
|
|
it's fairly complete. Distribution will include html and pdf
|
|
|
versions.
|
|
|
|
|
|
* Bugfix: '.' wasn't being added to sys.path. Thanks to Prabhu
|
|
|
(MayaVi author).
|
|
|
|
|
|
2001-12-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.1. Barring any nasty bugs, this is it as far as a
|
|
|
good public release, I think (with the manual and the distutils
|
|
|
installer). The manual can use some work, but that can go
|
|
|
slowly. Otherwise I think it's quite nice for end users. Next
|
|
|
summer, rewrite the guts of it...
|
|
|
|
|
|
* Changed format of ipythonrc files to use whitespace as the
|
|
|
separator instead of an explicit '='. Cleaner.
|
|
|
|
|
|
2001-12-20 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Started a manual in LyX. For now it's just a quick merge of the
|
|
|
various internal docstrings and READMEs. Later it may grow into a
|
|
|
nice, full-blown manual.
|
|
|
|
|
|
* Set up a distutils based installer. Installation should now be
|
|
|
trivially simple for end-users.
|
|
|
|
|
|
2001-12-11 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.2.0. First public release, announced it at
|
|
|
comp.lang.python. From now on, just bugfixes...
|
|
|
|
|
|
* Went through all the files, set copyright/license notices and
|
|
|
cleaned up things. Ready for release.
|
|
|
|
|
|
2001-12-10 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Changed the first-time installer not to use tarfiles. It's more
|
|
|
robust now and less unix-dependent. Also makes it easier for
|
|
|
people to later upgrade versions.
|
|
|
|
|
|
* Changed @exit to @abort to reflect the fact that it's pretty
|
|
|
brutal (a sys.exit()). The difference between @abort and Ctrl-D
|
|
|
becomes significant only when IPyhton is embedded: in that case,
|
|
|
C-D closes IPython only, but @abort kills the enclosing program
|
|
|
too (unless it had called IPython inside a try catching
|
|
|
SystemExit).
|
|
|
|
|
|
* Created Shell module which exposes the actuall IPython Shell
|
|
|
classes, currently the normal and the embeddable one. This at
|
|
|
least offers a stable interface we won't need to change when
|
|
|
(later) the internals are rewritten. That rewrite will be confined
|
|
|
to iplib and ipmaker, but the Shell interface should remain as is.
|
|
|
|
|
|
* Added embed module which offers an embeddable IPShell object,
|
|
|
useful to fire up IPython *inside* a running program. Great for
|
|
|
debugging or dynamical data analysis.
|
|
|
|
|
|
2001-12-08 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Fixed small bug preventing seeing info from methods of defined
|
|
|
objects (incorrect namespace in _ofind()).
|
|
|
|
|
|
* Documentation cleanup. Moved the main usage docstrings to a
|
|
|
separate file, usage.py (cleaner to maintain, and hopefully in the
|
|
|
future some perlpod-like way of producing interactive, man and
|
|
|
html docs out of it will be found).
|
|
|
|
|
|
* Added @profile to see your profile at any time.
|
|
|
|
|
|
* Added @p as an alias for 'print'. It's especially convenient if
|
|
|
using automagic ('p x' prints x).
|
|
|
|
|
|
* Small cleanups and fixes after a pychecker run.
|
|
|
|
|
|
* Changed the @cd command to handle @cd - and @cd -<n> for
|
|
|
visiting any directory in _dh.
|
|
|
|
|
|
* Introduced _dh, a history of visited directories. @dhist prints
|
|
|
it out with numbers.
|
|
|
|
|
|
2001-12-07 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.1.22
|
|
|
|
|
|
* Made initialization a bit more robust against invalid color
|
|
|
options in user input (exit, not traceback-crash).
|
|
|
|
|
|
* Changed the bug crash reporter to write the report only in the
|
|
|
user's .ipython directory. That way IPython won't litter people's
|
|
|
hard disks with crash files all over the place. Also print on
|
|
|
screen the necessary mail command.
|
|
|
|
|
|
* With the new ultraTB, implemented LightBG color scheme for light
|
|
|
background terminals. A lot of people like white backgrounds, so I
|
|
|
guess we should at least give them something readable.
|
|
|
|
|
|
2001-12-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Modified the structure of ultraTB. Now there's a proper class
|
|
|
for tables of color schemes which allow adding schemes easily and
|
|
|
switching the active scheme without creating a new instance every
|
|
|
time (which was ridiculous). The syntax for creating new schemes
|
|
|
is also cleaner. I think ultraTB is finally done, with a clean
|
|
|
class structure. Names are also much cleaner (now there's proper
|
|
|
color tables, no need for every variable to also have 'color' in
|
|
|
its name).
|
|
|
|
|
|
* Broke down genutils into separate files. Now genutils only
|
|
|
contains utility functions, and classes have been moved to their
|
|
|
own files (they had enough independent functionality to warrant
|
|
|
it): ConfigLoader, OutputTrap, Struct.
|
|
|
|
|
|
2001-12-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* IPython turns 21! Released version 0.1.21, as a candidate for
|
|
|
public consumption. If all goes well, release in a few days.
|
|
|
|
|
|
* Fixed path bug (files in Extensions/ directory wouldn't be found
|
|
|
unless IPython/ was explicitly in sys.path).
|
|
|
|
|
|
* Extended the FlexCompleter class as MagicCompleter to allow
|
|
|
completion of @-starting lines.
|
|
|
|
|
|
* Created __release__.py file as a central repository for release
|
|
|
info that other files can read from.
|
|
|
|
|
|
* Fixed small bug in logging: when logging was turned on in
|
|
|
mid-session, old lines with special meanings (!@?) were being
|
|
|
logged without the prepended comment, which is necessary since
|
|
|
they are not truly valid python syntax. This should make session
|
|
|
restores produce less errors.
|
|
|
|
|
|
* The namespace cleanup forced me to make a FlexCompleter class
|
|
|
which is nothing but a ripoff of rlcompleter, but with selectable
|
|
|
namespace (rlcompleter only works in __main__.__dict__). I'll try
|
|
|
to submit a note to the authors to see if this change can be
|
|
|
incorporated in future rlcompleter releases (Dec.6: done)
|
|
|
|
|
|
* More fixes to namespace handling. It was a mess! Now all
|
|
|
explicit references to __main__.__dict__ are gone (except when
|
|
|
really needed) and everything is handled through the namespace
|
|
|
dicts in the IPython instance. We seem to be getting somewhere
|
|
|
with this, finally...
|
|
|
|
|
|
* Small documentation updates.
|
|
|
|
|
|
* Created the Extensions directory under IPython (with an
|
|
|
__init__.py). Put the PhysicalQ stuff there. This directory should
|
|
|
be used for all special-purpose extensions.
|
|
|
|
|
|
* File renaming:
|
|
|
ipythonlib --> ipmaker
|
|
|
ipplib --> iplib
|
|
|
This makes a bit more sense in terms of what these files actually do.
|
|
|
|
|
|
* Moved all the classes and functions in ipythonlib to ipplib, so
|
|
|
now ipythonlib only has make_IPython(). This will ease up its
|
|
|
splitting in smaller functional chunks later.
|
|
|
|
|
|
* Cleaned up (done, I think) output of @whos. Better column
|
|
|
formatting, and now shows str(var) for as much as it can, which is
|
|
|
typically what one gets with a 'print var'.
|
|
|
|
|
|
2001-12-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Fixed namespace problems. Now builtin/IPyhton/user names get
|
|
|
properly reported in their namespace. Internal namespace handling
|
|
|
is finally getting decent (not perfect yet, but much better than
|
|
|
the ad-hoc mess we had).
|
|
|
|
|
|
* Removed -exit option. If people just want to run a python
|
|
|
script, that's what the normal interpreter is for. Less
|
|
|
unnecessary options, less chances for bugs.
|
|
|
|
|
|
* Added a crash handler which generates a complete post-mortem if
|
|
|
IPython crashes. This will help a lot in tracking bugs down the
|
|
|
road.
|
|
|
|
|
|
* Fixed nasty bug in auto-evaluation part of prefilter(). Names
|
|
|
which were boud to functions being reassigned would bypass the
|
|
|
logger, breaking the sync of _il with the prompt counter. This
|
|
|
would then crash IPython later when a new line was logged.
|
|
|
|
|
|
2001-12-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Made IPython a package. This means people don't have to clutter
|
|
|
their sys.path with yet another directory. Changed the INSTALL
|
|
|
file accordingly.
|
|
|
|
|
|
* Cleaned up the output of @who_ls, @who and @whos. @who_ls now
|
|
|
sorts its output (so @who shows it sorted) and @whos formats the
|
|
|
table according to the width of the first column. Nicer, easier to
|
|
|
read. Todo: write a generic table_format() which takes a list of
|
|
|
lists and prints it nicely formatted, with optional row/column
|
|
|
separators and proper padding and justification.
|
|
|
|
|
|
* Released 0.1.20
|
|
|
|
|
|
* Fixed bug in @log which would reverse the inputcache list (a
|
|
|
copy operation was missing).
|
|
|
|
|
|
* Code cleanup. @config was changed to use page(). Better, since
|
|
|
its output is always quite long.
|
|
|
|
|
|
* Itpl is back as a dependency. I was having too many problems
|
|
|
getting the parametric aliases to work reliably, and it's just
|
|
|
easier to code weird string operations with it than playing %()s
|
|
|
games. It's only ~6k, so I don't think it's too big a deal.
|
|
|
|
|
|
* Found (and fixed) a very nasty bug with history. !lines weren't
|
|
|
getting cached, and the out of sync caches would crash
|
|
|
IPython. Fixed it by reorganizing the prefilter/handlers/logger
|
|
|
division of labor a bit better. Bug fixed, cleaner structure.
|
|
|
|
|
|
2001-12-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Released 0.1.19
|
|
|
|
|
|
* Added option -n to @hist to prevent line number printing. Much
|
|
|
easier to copy/paste code this way.
|
|
|
|
|
|
* Created global _il to hold the input list. Allows easy
|
|
|
re-execution of blocks of code by slicing it (inspired by Janko's
|
|
|
comment on 'macros').
|
|
|
|
|
|
* Small fixes and doc updates.
|
|
|
|
|
|
* Rewrote @history function (was @h). Renamed it to @hist, @h is
|
|
|
much too fragile with automagic. Handles properly multi-line
|
|
|
statements and takes parameters.
|
|
|
|
|
|
2001-11-30 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.18 released.
|
|
|
|
|
|
* Fixed nasty namespace bug in initial module imports.
|
|
|
|
|
|
* Added copyright/license notes to all code files (except
|
|
|
DPyGetOpt). For the time being, LGPL. That could change.
|
|
|
|
|
|
* Rewrote a much nicer README, updated INSTALL, cleaned up
|
|
|
ipythonrc-* samples.
|
|
|
|
|
|
* Overall code/documentation cleanup. Basically ready for
|
|
|
release. Only remaining thing: licence decision (LGPL?).
|
|
|
|
|
|
* Converted load_config to a class, ConfigLoader. Now recursion
|
|
|
control is better organized. Doesn't include the same file twice.
|
|
|
|
|
|
2001-11-29 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Got input history working. Changed output history variables from
|
|
|
_p to _o so that _i is for input and _o for output. Just cleaner
|
|
|
convention.
|
|
|
|
|
|
* Implemented parametric aliases. This pretty much allows the
|
|
|
alias system to offer full-blown shell convenience, I think.
|
|
|
|
|
|
* Version 0.1.17 released, 0.1.18 opened.
|
|
|
|
|
|
* dot_ipython/ipythonrc (alias): added documentation.
|
|
|
(xcolor): Fixed small bug (xcolors -> xcolor)
|
|
|
|
|
|
* Changed the alias system. Now alias is a magic command to define
|
|
|
aliases just like the shell. Rationale: the builtin magics should
|
|
|
be there for things deeply connected to IPython's
|
|
|
architecture. And this is a much lighter system for what I think
|
|
|
is the really important feature: allowing users to define quickly
|
|
|
magics that will do shell things for them, so they can customize
|
|
|
IPython easily to match their work habits. If someone is really
|
|
|
desperate to have another name for a builtin alias, they can
|
|
|
always use __IP.magic_newname = __IP.magic_oldname. Hackish but
|
|
|
works.
|
|
|
|
|
|
2001-11-28 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Changed @file so that it opens the source file at the proper
|
|
|
line. Since it uses less, if your EDITOR environment is
|
|
|
configured, typing v will immediately open your editor of choice
|
|
|
right at the line where the object is defined. Not as quick as
|
|
|
having a direct @edit command, but for all intents and purposes it
|
|
|
works. And I don't have to worry about writing @edit to deal with
|
|
|
all the editors, less does that.
|
|
|
|
|
|
* Version 0.1.16 released, 0.1.17 opened.
|
|
|
|
|
|
* Fixed some nasty bugs in the page/page_dumb combo that could
|
|
|
crash IPython.
|
|
|
|
|
|
2001-11-27 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.15 released, 0.1.16 opened.
|
|
|
|
|
|
* Finally got ? and ?? to work for undefined things: now it's
|
|
|
possible to type {}.get? and get information about the get method
|
|
|
of dicts, or os.path? even if only os is defined (so technically
|
|
|
os.path isn't). Works at any level. For example, after import os,
|
|
|
os?, os.path?, os.path.abspath? all work. This is great, took some
|
|
|
work in _ofind.
|
|
|
|
|
|
* Fixed more bugs with logging. The sanest way to do it was to add
|
|
|
to @log a 'mode' parameter. Killed two in one shot (this mode
|
|
|
option was a request of Janko's). I think it's finally clean
|
|
|
(famous last words).
|
|
|
|
|
|
* Added a page_dumb() pager which does a decent job of paging on
|
|
|
screen, if better things (like less) aren't available. One less
|
|
|
unix dependency (someday maybe somebody will port this to
|
|
|
windows).
|
|
|
|
|
|
* Fixed problem in magic_log: would lock of logging out if log
|
|
|
creation failed (because it would still think it had succeeded).
|
|
|
|
|
|
* Improved the page() function using curses to auto-detect screen
|
|
|
size. Now it can make a much better decision on whether to print
|
|
|
or page a string. Option screen_length was modified: a value 0
|
|
|
means auto-detect, and that's the default now.
|
|
|
|
|
|
* Version 0.1.14 released, 0.1.15 opened. I think this is ready to
|
|
|
go out. I'll test it for a few days, then talk to Janko about
|
|
|
licences and announce it.
|
|
|
|
|
|
* Fixed the length of the auto-generated ---> prompt which appears
|
|
|
for auto-parens and auto-quotes. Getting this right isn't trivial,
|
|
|
with all the color escapes, different prompt types and optional
|
|
|
separators. But it seems to be working in all the combinations.
|
|
|
|
|
|
2001-11-26 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Wrote a regexp filter to get option types from the option names
|
|
|
string. This eliminates the need to manually keep two duplicate
|
|
|
lists.
|
|
|
|
|
|
* Removed the unneeded check_option_names. Now options are handled
|
|
|
in a much saner manner and it's easy to visually check that things
|
|
|
are ok.
|
|
|
|
|
|
* Updated version numbers on all files I modified to carry a
|
|
|
notice so Janko and Nathan have clear version markers.
|
|
|
|
|
|
* Updated docstring for ultraTB with my changes. I should send
|
|
|
this to Nathan.
|
|
|
|
|
|
* Lots of small fixes. Ran everything through pychecker again.
|
|
|
|
|
|
* Made loading of deep_reload an cmd line option. If it's not too
|
|
|
kosher, now people can just disable it. With -nodeep_reload it's
|
|
|
still available as dreload(), it just won't overwrite reload().
|
|
|
|
|
|
* Moved many options to the no| form (-opt and -noopt
|
|
|
accepted). Cleaner.
|
|
|
|
|
|
* Changed magic_log so that if called with no parameters, it uses
|
|
|
'rotate' mode. That way auto-generated logs aren't automatically
|
|
|
over-written. For normal logs, now a backup is made if it exists
|
|
|
(only 1 level of backups). A new 'backup' mode was added to the
|
|
|
Logger class to support this. This was a request by Janko.
|
|
|
|
|
|
* Added @logoff/@logon to stop/restart an active log.
|
|
|
|
|
|
* Fixed a lot of bugs in log saving/replay. It was pretty
|
|
|
broken. Now special lines (!@,/) appear properly in the command
|
|
|
history after a log replay.
|
|
|
|
|
|
* Tried and failed to implement full session saving via pickle. My
|
|
|
idea was to pickle __main__.__dict__, but modules can't be
|
|
|
pickled. This would be a better alternative to replaying logs, but
|
|
|
seems quite tricky to get to work. Changed -session to be called
|
|
|
-logplay, which more accurately reflects what it does. And if we
|
|
|
ever get real session saving working, -session is now available.
|
|
|
|
|
|
* Implemented color schemes for prompts also. As for tracebacks,
|
|
|
currently only NoColor and Linux are supported. But now the
|
|
|
infrastructure is in place, based on a generic ColorScheme
|
|
|
class. So writing and activating new schemes both for the prompts
|
|
|
and the tracebacks should be straightforward.
|
|
|
|
|
|
* Version 0.1.13 released, 0.1.14 opened.
|
|
|
|
|
|
* Changed handling of options for output cache. Now counter is
|
|
|
hardwired starting at 1 and one specifies the maximum number of
|
|
|
entries *in the outcache* (not the max prompt counter). This is
|
|
|
much better, since many statements won't increase the cache
|
|
|
count. It also eliminated some confusing options, now there's only
|
|
|
one: cache_size.
|
|
|
|
|
|
* Added 'alias' magic function and magic_alias option in the
|
|
|
ipythonrc file. Now the user can easily define whatever names he
|
|
|
wants for the magic functions without having to play weird
|
|
|
namespace games. This gives IPython a real shell-like feel.
|
|
|
|
|
|
* Fixed doc/?/?? for magics. Now all work, in all forms (explicit
|
|
|
@ or not).
|
|
|
|
|
|
This was one of the last remaining 'visible' bugs (that I know
|
|
|
of). I think if I can clean up the session loading so it works
|
|
|
100% I'll release a 0.2.0 version on c.p.l (talk to Janko first
|
|
|
about licensing).
|
|
|
|
|
|
2001-11-25 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Rewrote somewhat oinfo (?/??). Nicer, now uses page() and
|
|
|
there's a cleaner distinction between what ? and ?? show.
|
|
|
|
|
|
* Added screen_length option. Now the user can define his own
|
|
|
screen size for page() operations.
|
|
|
|
|
|
* Implemented magic shell-like functions with automatic code
|
|
|
generation. Now adding another function is just a matter of adding
|
|
|
an entry to a dict, and the function is dynamically generated at
|
|
|
run-time. Python has some really cool features!
|
|
|
|
|
|
* Renamed many options to cleanup conventions a little. Now all
|
|
|
are lowercase, and only underscores where needed. Also in the code
|
|
|
option name tables are clearer.
|
|
|
|
|
|
* Changed prompts a little. Now input is 'In [n]:' instead of
|
|
|
'In[n]:='. This allows it the numbers to be aligned with the
|
|
|
Out[n] numbers, and removes usage of ':=' which doesn't exist in
|
|
|
Python (it was a Mathematica thing). The '...' continuation prompt
|
|
|
was also changed a little to align better.
|
|
|
|
|
|
* Fixed bug when flushing output cache. Not all _p<n> variables
|
|
|
exist, so their deletion needs to be wrapped in a try:
|
|
|
|
|
|
* Figured out how to properly use inspect.formatargspec() (it
|
|
|
requires the args preceded by *). So I removed all the code from
|
|
|
_get_pdef in Magic, which was just replicating that.
|
|
|
|
|
|
* Added test to prefilter to allow redefining magic function names
|
|
|
as variables. This is ok, since the @ form is always available,
|
|
|
but whe should allow the user to define a variable called 'ls' if
|
|
|
he needs it.
|
|
|
|
|
|
* Moved the ToDo information from README into a separate ToDo.
|
|
|
|
|
|
* General code cleanup and small bugfixes. I think it's close to a
|
|
|
state where it can be released, obviously with a big 'beta'
|
|
|
warning on it.
|
|
|
|
|
|
* Got the magic function split to work. Now all magics are defined
|
|
|
in a separate class. It just organizes things a bit, and now
|
|
|
Xemacs behaves nicer (it was choking on InteractiveShell b/c it
|
|
|
was too long).
|
|
|
|
|
|
* Changed @clear to @reset to avoid potential confusions with
|
|
|
the shell command clear. Also renamed @cl to @clear, which does
|
|
|
exactly what people expect it to from their shell experience.
|
|
|
|
|
|
Added a check to the @reset command (since it's so
|
|
|
destructive, it's probably a good idea to ask for confirmation).
|
|
|
But now reset only works for full namespace resetting. Since the
|
|
|
del keyword is already there for deleting a few specific
|
|
|
variables, I don't see the point of having a redundant magic
|
|
|
function for the same task.
|
|
|
|
|
|
2001-11-24 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Updated the builtin docs (esp. the ? ones).
|
|
|
|
|
|
* Ran all the code through pychecker. Not terribly impressed with
|
|
|
it: lots of spurious warnings and didn't really find anything of
|
|
|
substance (just a few modules being imported and not used).
|
|
|
|
|
|
* Implemented the new ultraTB functionality into IPython. New
|
|
|
option: xcolors. This chooses color scheme. xmode now only selects
|
|
|
between Plain and Verbose. Better orthogonality.
|
|
|
|
|
|
* Large rewrite of ultraTB. Much cleaner now, with a separation of
|
|
|
mode and color scheme for the exception handlers. Now it's
|
|
|
possible to have the verbose traceback with no coloring.
|
|
|
|
|
|
2001-11-23 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.12 released, 0.1.13 opened.
|
|
|
|
|
|
* Removed option to set auto-quote and auto-paren escapes by
|
|
|
user. The chances of breaking valid syntax are just too high. If
|
|
|
someone *really* wants, they can always dig into the code.
|
|
|
|
|
|
* Made prompt separators configurable.
|
|
|
|
|
|
2001-11-22 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Small bugfixes in many places.
|
|
|
|
|
|
* Removed the MyCompleter class from ipplib. It seemed redundant
|
|
|
with the C-p,C-n history search functionality. Less code to
|
|
|
maintain.
|
|
|
|
|
|
* Moved all the original ipython.py code into ipythonlib.py. Right
|
|
|
now it's just one big dump into a function called make_IPython, so
|
|
|
no real modularity has been gained. But at least it makes the
|
|
|
wrapper script tiny, and since ipythonlib is a module, it gets
|
|
|
compiled and startup is much faster.
|
|
|
|
|
|
This is a reasobably 'deep' change, so we should test it for a
|
|
|
while without messing too much more with the code.
|
|
|
|
|
|
2001-11-21 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.11 released, 0.1.12 opened for further work.
|
|
|
|
|
|
* Removed dependency on Itpl. It was only needed in one place. It
|
|
|
would be nice if this became part of python, though. It makes life
|
|
|
*a lot* easier in some cases.
|
|
|
|
|
|
* Simplified the prefilter code a bit. Now all handlers are
|
|
|
expected to explicitly return a value (at least a blank string).
|
|
|
|
|
|
* Heavy edits in ipplib. Removed the help system altogether. Now
|
|
|
obj?/?? is used for inspecting objects, a magic @doc prints
|
|
|
docstrings, and full-blown Python help is accessed via the 'help'
|
|
|
keyword. This cleans up a lot of code (less to maintain) and does
|
|
|
the job. Since 'help' is now a standard Python component, might as
|
|
|
well use it and remove duplicate functionality.
|
|
|
|
|
|
Also removed the option to use ipplib as a standalone program. By
|
|
|
now it's too dependent on other parts of IPython to function alone.
|
|
|
|
|
|
* Fixed bug in genutils.pager. It would crash if the pager was
|
|
|
exited immediately after opening (broken pipe).
|
|
|
|
|
|
* Trimmed down the VerboseTB reporting a little. The header is
|
|
|
much shorter now and the repeated exception arguments at the end
|
|
|
have been removed. For interactive use the old header seemed a bit
|
|
|
excessive.
|
|
|
|
|
|
* Fixed small bug in output of @whos for variables with multi-word
|
|
|
types (only first word was displayed).
|
|
|
|
|
|
2001-11-17 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.10 released, 0.1.11 opened for further work.
|
|
|
|
|
|
* Modified dirs and friends. dirs now *returns* the stack (not
|
|
|
prints), so one can manipulate it as a variable. Convenient to
|
|
|
travel along many directories.
|
|
|
|
|
|
* Fixed bug in magic_pdef: would only work with functions with
|
|
|
arguments with default values.
|
|
|
|
|
|
2001-11-14 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Added the PhysicsInput stuff to dot_ipython so it ships as an
|
|
|
example with IPython. Various other minor fixes and cleanups.
|
|
|
|
|
|
* Version 0.1.9 released, 0.1.10 opened for further work.
|
|
|
|
|
|
* Added sys.path to the list of directories searched in the
|
|
|
execfile= option. It used to be the current directory and the
|
|
|
user's IPYTHONDIR only.
|
|
|
|
|
|
2001-11-13 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Reinstated the raw_input/prefilter separation that Janko had
|
|
|
initially. This gives a more convenient setup for extending the
|
|
|
pre-processor from the outside: raw_input always gets a string,
|
|
|
and prefilter has to process it. We can then redefine prefilter
|
|
|
from the outside and implement extensions for special
|
|
|
purposes.
|
|
|
|
|
|
Today I got one for inputting PhysicalQuantity objects
|
|
|
(from Scientific) without needing any function calls at
|
|
|
all. Extremely convenient, and it's all done as a user-level
|
|
|
extension (no IPython code was touched). Now instead of:
|
|
|
a = PhysicalQuantity(4.2,'m/s**2')
|
|
|
one can simply say
|
|
|
a = 4.2 m/s**2
|
|
|
or even
|
|
|
a = 4.2 m/s^2
|
|
|
|
|
|
I use this, but it's also a proof of concept: IPython really is
|
|
|
fully user-extensible, even at the level of the parsing of the
|
|
|
command line. It's not trivial, but it's perfectly doable.
|
|
|
|
|
|
* Added 'add_flip' method to inclusion conflict resolver. Fixes
|
|
|
the problem of modules being loaded in the inverse order in which
|
|
|
they were defined in
|
|
|
|
|
|
* Version 0.1.8 released, 0.1.9 opened for further work.
|
|
|
|
|
|
* Added magics pdef, source and file. They respectively show the
|
|
|
definition line ('prototype' in C), source code and full python
|
|
|
file for any callable object. The object inspector oinfo uses
|
|
|
these to show the same information.
|
|
|
|
|
|
* Version 0.1.7 released, 0.1.8 opened for further work.
|
|
|
|
|
|
* Separated all the magic functions into a class called Magic. The
|
|
|
InteractiveShell class was becoming too big for Xemacs to handle
|
|
|
(de-indenting a line would lock it up for 10 seconds while it
|
|
|
backtracked on the whole class!)
|
|
|
|
|
|
FIXME: didn't work. It can be done, but right now namespaces are
|
|
|
all messed up. Do it later (reverted it for now, so at least
|
|
|
everything works as before).
|
|
|
|
|
|
* Got the object introspection system (magic_oinfo) working! I
|
|
|
think this is pretty much ready for release to Janko, so he can
|
|
|
test it for a while and then announce it. Pretty much 100% of what
|
|
|
I wanted for the 'phase 1' release is ready. Happy, tired.
|
|
|
|
|
|
2001-11-12 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.6 released, 0.1.7 opened for further work.
|
|
|
|
|
|
* Fixed bug in printing: it used to test for truth before
|
|
|
printing, so 0 wouldn't print. Now checks for None.
|
|
|
|
|
|
* Fixed bug where auto-execs increase the prompt counter by 2 (b/c
|
|
|
they have to call len(str(sys.ps1)) ). But the fix is ugly, it
|
|
|
reaches by hand into the outputcache. Think of a better way to do
|
|
|
this later.
|
|
|
|
|
|
* Various small fixes thanks to Nathan's comments.
|
|
|
|
|
|
* Changed magic_pprint to magic_Pprint. This way it doesn't
|
|
|
collide with pprint() and the name is consistent with the command
|
|
|
line option.
|
|
|
|
|
|
* Changed prompt counter behavior to be fully like
|
|
|
Mathematica's. That is, even input that doesn't return a result
|
|
|
raises the prompt counter. The old behavior was kind of confusing
|
|
|
(getting the same prompt number several times if the operation
|
|
|
didn't return a result).
|
|
|
|
|
|
* Fixed Nathan's last name in a couple of places (Gray, not Graham).
|
|
|
|
|
|
* Fixed -Classic mode (wasn't working anymore).
|
|
|
|
|
|
* Added colored prompts using Nathan's new code. Colors are
|
|
|
currently hardwired, they can be user-configurable. For
|
|
|
developers, they can be chosen in file ipythonlib.py, at the
|
|
|
beginning of the CachedOutput class def.
|
|
|
|
|
|
2001-11-11 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.5 released, 0.1.6 opened for further work.
|
|
|
|
|
|
* Changed magic_env to *return* the environment as a dict (not to
|
|
|
print it). This way it prints, but it can also be processed.
|
|
|
|
|
|
* Added Verbose exception reporting to interactive
|
|
|
exceptions. Very nice, now even 1/0 at the prompt gives a verbose
|
|
|
traceback. Had to make some changes to the ultraTB file. This is
|
|
|
probably the last 'big' thing in my mental todo list. This ties
|
|
|
in with the next entry:
|
|
|
|
|
|
* Changed -Xi and -Xf to a single -xmode option. Now all the user
|
|
|
has to specify is Plain, Color or Verbose for all exception
|
|
|
handling.
|
|
|
|
|
|
* Removed ShellServices option. All this can really be done via
|
|
|
the magic system. It's easier to extend, cleaner and has automatic
|
|
|
namespace protection and documentation.
|
|
|
|
|
|
2001-11-09 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Fixed bug in output cache flushing (missing parameter to
|
|
|
__init__). Other small bugs fixed (found using pychecker).
|
|
|
|
|
|
* Version 0.1.4 opened for bugfixing.
|
|
|
|
|
|
2001-11-07 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.3 released, mainly because of the raw_input bug.
|
|
|
|
|
|
* Fixed NASTY bug in raw_input: input line wasn't properly parsed
|
|
|
and when testing for whether things were callable, a call could
|
|
|
actually be made to certain functions. They would get called again
|
|
|
once 'really' executed, with a resulting double call. A disaster
|
|
|
in many cases (list.reverse() would never work!).
|
|
|
|
|
|
* Removed prefilter() function, moved its code to raw_input (which
|
|
|
after all was just a near-empty caller for prefilter). This saves
|
|
|
a function call on every prompt, and simplifies the class a tiny bit.
|
|
|
|
|
|
* Fix _ip to __ip name in magic example file.
|
|
|
|
|
|
* Changed 'tar -x -f' to 'tar xvf' in auto-installer. This should
|
|
|
work with non-gnu versions of tar.
|
|
|
|
|
|
2001-11-06 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version 0.1.2. Just to keep track of the recent changes.
|
|
|
|
|
|
* Fixed nasty bug in output prompt routine. It used to check 'if
|
|
|
arg != None...'. Problem is, this fails if arg implements a
|
|
|
special comparison (__cmp__) which disallows comparing to
|
|
|
None. Found it when trying to use the PhysicalQuantity module from
|
|
|
ScientificPython.
|
|
|
|
|
|
2001-11-05 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Also added dirs. Now the pushd/popd/dirs family functions
|
|
|
basically like the shell, with the added convenience of going home
|
|
|
when called with no args.
|
|
|
|
|
|
* pushd/popd slightly modified to mimic shell behavior more
|
|
|
closely.
|
|
|
|
|
|
* Added env,pushd,popd from ShellServices as magic functions. I
|
|
|
think the cleanest will be to port all desired functions from
|
|
|
ShellServices as magics and remove ShellServices altogether. This
|
|
|
will provide a single, clean way of adding functionality
|
|
|
(shell-type or otherwise) to IP.
|
|
|
|
|
|
2001-11-04 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Added .ipython/ directory to sys.path. This way users can keep
|
|
|
customizations there and access them via import.
|
|
|
|
|
|
2001-11-03 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Opened version 0.1.1 for new changes.
|
|
|
|
|
|
* Changed version number to 0.1.0: first 'public' release, sent to
|
|
|
Nathan and Janko.
|
|
|
|
|
|
* Lots of small fixes and tweaks.
|
|
|
|
|
|
* Minor changes to whos format. Now strings are shown, snipped if
|
|
|
too long.
|
|
|
|
|
|
* Changed ShellServices to work on __main__ so they show up in @who
|
|
|
|
|
|
* Help also works with ? at the end of a line:
|
|
|
?sin and sin?
|
|
|
both produce the same effect. This is nice, as often I use the
|
|
|
tab-complete to find the name of a method, but I used to then have
|
|
|
to go to the beginning of the line to put a ? if I wanted more
|
|
|
info. Now I can just add the ? and hit return. Convenient.
|
|
|
|
|
|
2001-11-02 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Python version check (>=2.1) added.
|
|
|
|
|
|
* Added LazyPython documentation. At this point the docs are quite
|
|
|
a mess. A cleanup is in order.
|
|
|
|
|
|
* Auto-installer created. For some bizarre reason, the zipfiles
|
|
|
module isn't working on my system. So I made a tar version
|
|
|
(hopefully the command line options in various systems won't kill
|
|
|
me).
|
|
|
|
|
|
* Fixes to Struct in genutils. Now all dictionary-like methods are
|
|
|
protected (reasonably).
|
|
|
|
|
|
* Added pager function to genutils and changed ? to print usage
|
|
|
note through it (it was too long).
|
|
|
|
|
|
* Added the LazyPython functionality. Works great! I changed the
|
|
|
auto-quote escape to ';', it's on home row and next to '. But
|
|
|
both auto-quote and auto-paren (still /) escapes are command-line
|
|
|
parameters.
|
|
|
|
|
|
|
|
|
2001-11-01 Fernando Perez <fperez@colorado.edu>
|
|
|
|
|
|
* Version changed to 0.0.7. Fairly large change: configuration now
|
|
|
is all stored in a directory, by default .ipython. There, all
|
|
|
config files have normal looking names (not .names)
|
|
|
|
|
|
* Version 0.0.6 Released first to Lucas and Archie as a test
|
|
|
run. Since it's the first 'semi-public' release, change version to
|
|
|
> 0.0.6 for any changes now.
|
|
|
|
|
|
* Stuff I had put in the ipplib.py changelog:
|
|
|
|
|
|
Changes to InteractiveShell:
|
|
|
|
|
|
- Made the usage message a parameter.
|
|
|
|
|
|
- Require the name of the shell variable to be given. It's a bit
|
|
|
of a hack, but allows the name 'shell' not to be hardwire in the
|
|
|
magic (@) handler, which is problematic b/c it requires
|
|
|
polluting the global namespace with 'shell'. This in turn is
|
|
|
fragile: if a user redefines a variable called shell, things
|
|
|
break.
|
|
|
|
|
|
- magic @: all functions available through @ need to be defined
|
|
|
as magic_<name>, even though they can be called simply as
|
|
|
@<name>. This allows the special command @magic to gather
|
|
|
information automatically about all existing magic functions,
|
|
|
even if they are run-time user extensions, by parsing the shell
|
|
|
instance __dict__ looking for special magic_ names.
|
|
|
|
|
|
- mainloop: added *two* local namespace parameters. This allows
|
|
|
the class to differentiate between parameters which were there
|
|
|
before and after command line initialization was processed. This
|
|
|
way, later @who can show things loaded at startup by the
|
|
|
user. This trick was necessary to make session saving/reloading
|
|
|
really work: ideally after saving/exiting/reloading a session,
|
|
|
*everythin* should look the same, including the output of @who. I
|
|
|
was only able to make this work with this double namespace
|
|
|
trick.
|
|
|
|
|
|
- added a header to the logfile which allows (almost) full
|
|
|
session restoring.
|
|
|
|
|
|
- prepend lines beginning with @ or !, with a and log
|
|
|
them. Why? !lines: may be useful to know what you did @lines:
|
|
|
they may affect session state. So when restoring a session, at
|
|
|
least inform the user of their presence. I couldn't quite get
|
|
|
them to properly re-execute, but at least the user is warned.
|
|
|
|
|
|
* Started ChangeLog.
|
|
|
|