pix - simple web based gallery system
pix is a hacker-friendly, online picture gallery system written in
python. it has minimal
features but also minimal complexity and external dependencies. it uses
your directories to organize pictures, creates and caches thumbnails and
web friendly image sizes as well.
pix is very transparent in that it doesn't bend over backwards to map the
file system reality to what you want your image gallery to look like. pix
works with what is there, no more, no less.
i wrote pix because i had too much trouble using other gallery systems.
they had too many features. some of the simpler open source gallery
systems are lacking in aesthetics, my goal was to come up with something
simple but attractive and easy enough to use.
a couple screen shots of pix in action, gives you a pretty good idea what's going on.
- easy modification of appearance with a simple
pictures are organized using the file system, you create a directory hierarchy
that makes sense for your pictures.
comments for each picture are placed in a simple text .meta file in each album,
here's an example
descriptions for the album are also placed in the .meta file placed in the
thumbnails and web optimized images are created from the original images as needed
these files are cached in the file system and re-used. the cache can be cleaned
online by appending
&admin=clean to an album url.
user in this context is defined as the person that downloads pix and wants to
install it on their website and post pictures that they own.
don't use pix if...
you don't know what CGI is; if you're not familiar with what a CGI script is
and what it takes to get this stuff running you probably don't want to use this.
you aren't comfortable working with text files and working with your file
system; everything you would do to tweak and use pix involves organizing
images in directory structures and editing a text file for the comments.
you want lots of features; pix doesn't do a lot and there are some good
feature-rich gallery systems out there.
another image gallery system based on pix is
it seems to strike a good balance between simplicity and impressive features.
last points about pix
- most other gallery systems allow you to administer your albums over the web,
pix makes you create the directory hierarchy yourself.
- other systems give you web based forms for providing descriptions, pix has
you edit a .meta file for each album.
okay, you still think you want to use pix, here is how you get going.
- download the tar from the file release site
- you'll need to have python image library or imagemagick installed on your computer.
a note about PIL and imagemagick: my python code tries to import PIL libraries, if this
fails we just assume imagemagick is present and we use that. this executes imagemagick
commands on the command line to do the resizing.
you can also manually tell pix to use imagemagick, there's a boolean global in the code.
- imagemagick is pervasive on unix boxes, check to see if it's already there first.
- the imagemagick home page
- follow instructions there
- included in the tar is a
that has simple instructions and guidelines for setting up your albums.
- note that the appearance is pretty easy to tweak, i use a
template file to create the pages.
if you'd like to tweak pix you'll find that it's incredibly simple. pix is less than 300
lines of code right now.
some very simple things you can change in the code
- to change the size of thumbnails and the web friendly image sizes, look
in the Pic.getThumb() and Pic.getWeb() methods.
to change the breadcrumb delimiter, look in the
the powered by pix link at the footer is just in the template, very
easy to remove. i won't shoot bad kharma rays at you if you remove it from
your own installation of pix.