Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A minimalist library to render PNG images using pure Python.

Project Description

A minimalist library to render PNG images using pure Python inspired by Thomas Fuchs’ spark_pr library, originally published here in 2005.

Given that I get a couple of mails about it every quarter or so, and that it’s been consistently popular with the Google App Engine crowd, I decided to release it under the MIT license and welcome any contributions towards speeding it up, cleaning it up and making it generally more useful.

So ping me if you want commit access (or just send me a pull request with any enhancements).


As it stands, you can do the following things with a PNGCanvas instance:

  • Set single pixels
  • Draw antialiased lines and polylines
  • Draw rectangles (outlined and filled)
  • Draw vertical gradients
  • Copy (and blend) a rectangular segment of the image onto another location
  • Save it as a PNG file
  • Load a PNG file into it (with some restrictions)

…all of it in pure Python.

Release History

Release History

This version
History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pngcanvas-1.0.3.tar.gz (24.5 kB) Copy SHA256 Checksum SHA256 Source Dec 30, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting