I don't have a fancy template but I'll put it into one when I get one matplotlib from brain surgery to rocket science John D. Hunter, Ph.D. and Perry Greenfield, Ph.D. matplotlib - a bad name for a 2d graphics lib but they are sticking with it :) the goal is a general purpose graphing library for all types, from financial to web to scientists brain surgery ... he is from the nueral physiology background - epilepsy surgery - to help identify the proper chunk of the brain to remove is a good thing - the electrodes are implanted to help map the brain and seizure activity. we he first started his post-doc he was using commercial graphing libraries to map electrical activity across the brain to identify where the seizures were occuring - the commercial package cost between 5k to 50k and while you can extend them you cannot bring the extensions with you if you change jobs or move. like any self respecing programmer, he decided to write one for himself to solve the problem. The three stages of python Matlab hell known as a great library with a horrible language - spent more time working on the issues of matlab and not the problem python has wonderful free graphic libraries - 3d support is strong what he needed was a 2d viewer the graph was a spectrogram - that was what needed for his application Python purgatory talking about how in matlab you can do java scripting (which runs in a vm inside of matlab's own vm) hinting how ugly and slow that was The path to enlightenment 3d pyton fantastic, but 2d? there are a lot of great libraries (joke about as many as there are programmers in the room) he needed it to be: cross platform, permissive license publication quality extensible (by me!) easy plots should be easy not always best way but app embedding should be supported (OO sometimes bad) GUI agnosticicism the curse of python coding in python is so much fun (the curse of python) that you tend to write your own - that's what he did release 0.1 - 9 files including a readme and a data directory - all mixed into one directory release 0.73 - 53 python modules, 17 files of extension code, 44k LOC, 130 examples the process is now large but even in the growth the original samples still run - the reason for that is that he wrote an api and under that is a functional interface that runs like matlab - so people can use it and it also has given an interface that started out as stable showing a sample that generates a plot with white noise, some correlation and plots the power distribution - the example in matplotlib looks identical to matlab inheritance diagram for backend figure canvases SVG, PS, GD, wxPanel plotting should just work switching to a live demo - a python shell that has matplotlib config -- IPython the example shows a lib import and then a single function call and then it shows a graph - very simple and the output is interactive - you can alter the graphs and the views are saved - and you can navigate between the views marker styles, color, alpha transparancies, lots of styles to tweak the graph showed an example of changing some of the attributes and then re-graphed it and it now showed the changes another example, showing an example of different plots showing a matrix with a bicubic interpolation screen showing some screenshots - more info on the web site the numerix module numeric or numarray compatibility font manager that shows cross platform font finding mathmatical expression using tex - it parses showing bar and legends stacked bar with tables pie chart scatter plots w/alpha channel histograms logrithmic graphs polar graphslayer images on the same canvas subplots axes demo - showing how axes can be placed anywhere text placement map projections financial plots from astronomy to zoology - where do they go, the want to add features that other people need, they want to make simple 3D capabilities basic 3d different colorspaces arbitrary clipping paths, gradient/patern fills unicode support and better TeX support comain specific toolkits SWF, PDDF, Aqua direction fields Q. does IPython require a custom interpreter A. gui's need a special loop so they need a custom shell, the threading code is directly in IPython Q. do you support being able to handle custom event models A. they have your own connection model, it's an abstract class using their own event model Q. do you have FITS image format support A. no - but a number of astronomers are using so hopefully someone will write one Q. is this available for network based computing (i.e. web) A. yes you can use it for web, apache, and the like