0x4E/contact-sheet

contact-sheet is a Python script to turn a big directory full of photos into a bunch of thumbnails and HTML pages. If you have an enormous amount of photos on disk and browsing them is cumbersome, contact-sheet can give you a quick overview of what you have. I wrote it over the course of a few evenings in 2018.

Download contact-sheet-0.1.tar.gz
Download ubuntu-font-family-0.83.zip (dependency)


Here's a screen shot to give you a sense of what the output looks like:


contact-sheet 0.1

Creates a series of digital contact sheets for your photo collection.

(c) Nathan Rosenquist 2018

http://0x4e.com/contact-sheet

------------------------------------------------------------------------------
INTRO
------------------------------------------------------------------------------

contact-sheet creates a series of digital contact sheets for your photo
collection. This is basically a way to create a quick, browsable index for
a pile of photos on disk.

Feed it a giant directory of photos in a bunch of different formats.
contact-sheet will generate a series of small JPEG thumbnails for each photo,
along with a set of HTML pages to browse them.

Please be aware that this program was thrown together over the course of a few
evenings, and might have some rough edges. However, it did successfully turn
(most of my) tens of thousands of photos I have on disk into a nice set of
web pages that are easy to browse on my local computer.

The reason I wrote this is because my photo collection had become "too big to
lift". After taking enough photos over the years, I can't really fit it on
my primary SSD drive and have much room left over for anything else. A lot of
photo programs are based on the assumption that they should import and manage
your photos, and let you add ratings and favorites. contact-sheet is none of
those things. It's simply a way to get a quick overview of what you have.
It also annotates each image with a caption, so you can trace them back to
the original files, or at least quickly get to the right neighborhood in the
right directory.

This program was written to work on Linux. It is likely to work on other UNIX
platforms like BSD and Mac OS. There are no plans to make it work on Windows.

------------------------------------------------------------------------------
DEPENDENCIES
------------------------------------------------------------------------------

python3
PIL (Python Image Library)
Ubuntu Mono TTF font
dcraw

If you happen to use Ubuntu Linux, you can install all of these like so:

    apt-get install python3 python3-pil ttf-ubuntu-font-family dcraw

If you're on a different platform, you'll need to piece together the
dependencies from various places.

    Python 3
    https://www.python.org/

    PIL
    pip3 install pillow

    Ubuntu Fonts
    https://design.ubuntu.com/font/

    dcraw
    http://www.cybercom.net/~dcoffin/dcraw/

------------------------------------------------------------------------------
INSTALL
------------------------------------------------------------------------------

This is version 0.1. There is no installer.

The first thing to do is grab the dependencies.

If you are using Ubuntu, and you use apt-get as described above, then you
are basically all done.

If you are on a different platform, make sure you have python3 and dcraw
available in your $PATH. Additionally, make sure the UbuntuMono-R.ttf file
is in the same directory as the contact-sheet script.

In all cases, just put the script (and the font, if necessary) in a directory
somewhere, and run them out of that directory. This is a 0.1 release, and
there is no installer.

------------------------------------------------------------------------------
USAGE
------------------------------------------------------------------------------

Hopefully you have a directory with some photos in it. Actually, you should
have a directory with some directories, that either have photos or still more
directories in them. Let's use this sort of directory structure as an example:

    pictures/
        2017/
            Cool Stuff/
            More Stuff/
        2018/
            Neat Stuff/
            Awesome Stuff/

To use contact-sheet, simply give it a source directory (e.g. your photo
collection), and a destination directory.

    ./contact-sheet /path/to/original/pictures/ /path/to/contact-sheets/

The contact-sheet script will go to work analyzing your original pictures,
and generating all of the directories, thumbnails, and HTML files.