##// END OF EJS Templates
* IPython/Extensions/ipipe.py: Rename XAttr to AttributeDetail...
* IPython/Extensions/ipipe.py: Rename XAttr to AttributeDetail and make it iterable (iterating over the attribute itself). Add two new magic strings for __xattrs__(): If the string starts with "-", the attribute will not be displayed in ibrowse's detail view (but it can still be iterated over). This makes it possible to add attributes that are large lists or generator methods to the detail view. Replace magic attribute names and _attrname() and _getattr() with "descriptors": For each type of magic attribute name there's a subclass of Descriptor: None -> SelfDescriptor(); "foo" -> AttributeDescriptor("foo"); "foo()" -> MethodDescriptor("foo"); "-foo" -> IterAttributeDescriptor("foo"); "-foo()" -> IterMethodDescriptor("foo"); foo() -> FunctionDescriptor(foo). Magic strings returned from __xattrs__() are still supported. * IPython/Extensions/ibrowse.py: If fetching the next row from the input fails in ibrowse.fetch(), the exception object is added as the last item and item fetching is canceled. This prevents ibrowse from aborting if e.g. a generator throws an exception midway through execution. * IPython/Extensions/ipipe.py: Turn ifile's properties mimetype and encoding into methods.

File last commit:

r0:6f629fcc
r355:9c312a73
Show More
example-gnuplot.py
36 lines | 1017 B | text/x-python | PythonLexer
#!/usr/bin/env python
"""
Example code showing how to use Gnuplot and an embedded IPython shell.
"""
from Numeric import *
from IPython.numutils import *
from IPython.Shell import IPShellEmbed
# Arguments to start IPython shell with. Load numeric profile.
ipargs = ['-profile','numeric']
ipshell = IPShellEmbed(ipargs)
# Compute sin(x) over the 0..2pi range at 200 points
x = frange(0,2*pi,npts=200)
y = sin(x)
# In the 'numeric' profile, IPython has an internal gnuplot instance:
g = ipshell.IP.gnuplot
# Change some defaults
g('set style data lines')
# Or also call a multi-line set of gnuplot commands on it:
g("""
set xrange [0:pi] # Set the visible range to half the data only
set title 'Half sine' # Global gnuplot labels
set xlabel 'theta'
set ylabel 'sin(theta)'
""")
# Now start an embedded ipython.
ipshell('Starting the embedded IPyhton.\n'
'Try calling plot(x,y), or @gpc for direct access to Gnuplot"\n')
#********************** End of file <example-gnuplot.py> *********************