In addition, information specific to individual backends are placed in the docs/notes* directories
The sping code is available through sourceforge.
2006-12-12 Piddle is dead. Long live Sping!
The sping project is under new management. The new lead developer is Michal Wallace. Contact him (er, me...) through the yahoo group if you want to contribute.
I am currently focusing on the wx backend, bringing it up to date with the lastest version of wxpython and its new anti-aliased graphics system. I don't yet have an official timetable for the next release.
Warning: most of this site was written four to six years ago, and much of it is very likely to be out of date!
2002-06-07: Released piddle 1.0.15 which includes the pil fonts that were left out of release 1.0.14.
2002-02-08: After a long hiatus, I've uploaded version 1.0.14. This is the first version to use distutils. Installation should now be as easy as "python setup.py install" I've also thrown in more exprimental backends--better to get them out there than just have them languish. The new backends include SVG, GTK, Xfig, and improved TK support. Thanks to all who contributed code! Note, I've dropped the "b" marking the beta nature of the distribution. Got tired of keeping track of whether it's a beta package or not. You should view the documentation to see which backends are solid and which are exprimental (see below). Because of the not-so-positive connotations of the name "piddle", I have put together a a development version with the same functionality and interface under the the name "SPING" (Simple Platform Independent Graphics). I'm looking for feedback on the name choice and if you have a better name, please let us know on the piddle mailing list pythonpiddle@yahoogroups.com . In addition to the name change, Sping is designed to be used as a python package and is being developed using the Python Imaging Library version 1.1. To make it easier to use PIL 1.1 on Windows, I've made a binary version of PIL 1.1 available as well (compiled under tk/tcl version 8.0.5). You can download the latest versions of Sping and PIL-1.1-win32-bin . If you have problems reaching these links go to the alternative download page .Important note: Sping
1.1.x, with it's odd numbered point release, is the development
branch of piddle, also known as the unstable branch. Stick with the
piddle-1.x releases if you require more guarantees of a stable and fixed api.
On the other hand, if you need new features, Sping-1.1.x is where they'll be
added.
Piddle itself works perfectly with Python 2.0 and above. If you are upgrading, make sure to upgrade/recompile any extension modules that you wish to use (e.g. PIL) so that they work with Python 2.0 as well.
As of Febuary 8, 2002, the current release is 1.0.14 , however, see the download page for the latest information.
As of 12 December 2000, the current release is 1.0b13 , however, see the download page for the latest information.
Please note that PIDDLE requires Python 1.5.2, because it uses the "extend" list method, which is not available in older versions of Python. In addition, it now includes distutils support which can be added to Python 1.5.2, but which comes by default with versions 1.6, 2.0 and above.
The standard distribution includes the following back-end renderers:
Backend | Requires | Author | Maintainer | Interactive? | Notes |
---|---|---|---|---|---|
Andy Robinson | Andy Robinson | No | |||
PIL | PIL | Joe Strout | Chris Lee | No | |
QuickDraw | MacPython | Joe Strout | Yes | ||
PostScript | Magnus Lie Hetland | Chris Lee | No | ||
Illustrator | Bill Bedford | No | |||
piddleVCR | Joe Strout | Chris Lee | No | ||
OpenGL | PyOpenGL | David Ascher | (unmaintained) | Yes | |
Tk | Tkinter | Perry Stoll | Chris Lee | No | [1] |
wxWindows | wxPython | Kevin Jacobs | Kevin Jacobs | Yes |
The following backends are in various stages of development, and not yet
fully compliant. They are now included in the official distribution to encourage experimentation and improvements
name | author | strings | images | interactive |
---|---|---|---|---|
GTK+ | Fred L. Drake, Jr. | Y/N [6] | N | Y |
Pythonwin | Andy Robinson | Y [5] | N | N |
piddleSVG | Greg Landrum | ? | ? | ? |
piddleFIG (XFig) | John Lee | Y/N [7] | Y [8] | N |
Notes:
[6] piddleGTK doesn't yet draw rotated strings, but it is planned.
[7] piddleFIG string widths are wrong at the moment
[8] piddleFIG images must be stored separately from the .fig file itself since the .fig format only allows images to be included by referring to them by filename
This example illustrates a hodgepodge of PIDDLE drawing commands, including lines, curves, polygons, arcs, roundrects, and rotated text. The graphic shown here was rendered with the QuickDraw backend; other backends may vary, especially in the appearance of the text. | |
This spectrum chart is actually a useful program; I needed to generate a spectrum for a scientific application, and this is the PIDDLE program I used to do it. In this program, I defined a factory function 'makeCanvas' at the top of the program to create the canvas. To use a backend other than QuickDraw, you'll only need to modify this function. | |
A string test module puts PIDDLE's font and string handling through the paces. It illustrates the standard fonts which every backend should be able to understand (and hopefully display). | |
A string rotation test module exercises the drawing of rotated strings at a variety of angles (in rainbow colors, no less). Example output is shown for both QuickDraw and PIL. Note that the two have somewhat different ideas about how big a 12-point (default) font should be; this sort of discrepancy is inevitable, at least for now. |