by T. Michael Keesey (

this document by Selvam Palanimalai ( and T. Michael Keesey

PhyloPic's database stores reusable silhouette images of organisms. Each image is associated with one or more taxonomic names and indicates roughly what the ancestral member(s) of each taxon looked like.

PhyloPic also stores a phylogenetic taxonomy of all organisms. This means that you can perform phylogenetic searches. For example, if you need an image for a certain taxon, but there is no exact match in the database, you can easily search that taxon's supertaxa, subtaxa, and related taxa for an image that may work as well.

PhyloPic is built using the Django framework.


PhyloPic code is available under the MIT license. For more details, see the LICENSE file.


  • Python 2.6.6 (or higher)
  • Django 1.3.4 (or higher)
  • django-social-auth (Python package)
  • PostgreSQL 9.0 (or higher)
  • ImageMagick 6.7.5 (or higher)
  • Inkscape 0.47 (or higher)

Although it's not necessary to get up and running, if you plan to edit the client-side code at all, you'll also need:

  • TypeScript (for translating *.ts files to *.js files)
  • Java (for running JavaScript minification)

Installation Steps

  1. Install Python: Instructions.
  2. Install Django: Instructions.
  3. Install PostgreSQL: Instructions.
  4. To install Python packages, we recommend installing easy_install: Instructions.
  5. From the command line, run easy_install django-social-auth. (If you have another way to install Python packages, such as pip, you can use that instead.)
  6. Install ImageMagick: Instructions.
  7. Install Inkscape: Instructions
  8. [optional] Install TypeScript: Instructions.
  9. [optional] Install Java: Instructions.

Configuration Steps

  1. In PostgreSQL, add a database called phylopic.
  2. Create a UBio account and obtain an API key.
  3. Copy src/phylopic/ to src/phylopic/
  4. Edit Everywhere there is a comment that start with :SETUP:, you will have to make a change. Follow the instructions in the comment. (You'll need the UBio API key for one step.)
  5. To set up the database, go into src/phylopic and run ./ syncdb.
  6. In PostgreSQL, you will need to run the SQL script db/populate_init.sql.
  7. From src/phylopic, run ./ runserver.
  8. In your browser, go to You should be able to see the PhyloPic homepage. DONE!

Building Client-Side Code

To rebuild the JavaScript files (src/assets/scripts/) from the TypeScript source code (src/typescript/), go into src/typescript and run ./


In case of any problems feel free to contact Mike Keesey (