statistics about your photographic habits
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
René Wagner ad0939f50e initial release 11 months ago
.build.yml use Modern::Perl for convenience 11 months ago
.gitignore improve formatting of focallength 12 months ago initial release 11 months ago
LICENSE setup build and packaging 1 year ago
PKGBUILD update PKGBUILD for auto-update version 1 year ago initial release 11 months ago initial release 11 months ago

Photo Stats status

This project is a small statistic generator for the terminal which accumulates data about your photographical habits.

It is mainly a selfcontained SQlite database that stores the data which is extracted from the exif data of your images using exiftool and provides some methods to query the gathered data and gain some statistical insight.

Additional information can be found on the wiki page.


  • loading of EXIF data from media files to a self-contained database
  • querying different statistics from the gathered data
  • available fields
    • camera maker
    • camera model (body)
    • lens model
    • focal length
    • iso
    • aperture
  • grouping with summarizing based on date&time of pictures
    • year
    • month
    • week
    • hour
  • filtering of data by
    • time range of photos shot
    • values in fields in "CONTAINS" and "NOT CONTAINS" mode
  • custom sorting of output by arbitrary fields
  • output results in a table view to your terminal


Before you can query some stats, the EXIF data has to be extracted from your media files and written to the database.

You can add different folders one by another to the database, the import will take care the files added and avoid duplicates (currently based on file path). If you think something is messed up you can clean your database and start over.

After you've added some data, you can query different statistics which might be interesting. There are no predefined stats, instead you have the option to adjust the output to your needs using the different params.

example output

Querying database ~/photos.db with 82 entries...

| model           | count | percent |
| SM-A320FL       | 31    | 37.8%   |
| Nokia 2.2       | 18    | 22.0%   |
| XF10            | 15    | 18.3%   |
| -               | 9     | 11.0%   |
| STH100-2        | 3     | 3.7%    |
| iPhone SE       | 1     | 1.2%    |
| PENTAX KP       | 1     | 1.2%    |
| PENTAX K-5 II s | 1     | 1.2%    |
| PENTAX K-3 II   | 1     | 1.2%    |
| PENTAX K-01     | 1     | 1.2%    |
| GR II           | 1     | 1.2%    |


The famous exiftool needs to be installed on your system, no matter if you use prebuilt binarys or the bare scripts.

There are prebuilt binarys (currently only x86_64 for linux and Haiku) and packages for Arch Linux and derivatives available for every ref.

using bare scripts

Simply clone the repo or manually download the scripts from

To run the script, open a shell and invoke perl, on most systems it should be sufficient to just invoke (after you granted execute-permissions to the script).

prerequisites for running the pure scripts

  • Perl 5.30 (or newer)

Additionally the following perl modules need to be installed:

  • Cwd
  • File::HomeDir
  • File::Spec::Functions
  • Perl::DBD::SQLite
  • Perl::DBI
  • Text::SimpleTable::AutoWidth