/chee

A command line tool for managing photos.

Primary LanguageScalaGNU General Public License v3.0GPL-3.0

chee- photo organizer

Chee is a command line tool for managing and organizing photos.

Some features are:

  • no “application lock-in”; chee uses open formats for storing data so that it can be easily accessed using other (free or open-source) tools
  • search photos using a simple query language
  • manage named queries (called collections)
  • copy/symlink images into a custom folder structure
  • create thumbnails or scaled versions (creates new files, original files are not touched)
  • encrypt files using OpenPGP
  • tag and comment photos
  • create static html photo gallery

It is a simple program: the metadata of image (and other) files are put in a database which can then be queried more conveniently. But this already allows some useful features.

It is written in Scala and runs on the JVM so it is quite platform neutral. Chee uses two databases: sqlite for file metadata and a rec file for user metadata (tags and comments). It allows to query and print information from the database in very flexible ways. Still, in case you need raw data access, use sqlite cli tool or sqliteman to look at the sqlite database and rec utilities or any text editor to access user metadata.

For a quick introduction, see this this post.

Installing

Building

sbt and Java 8 is used for building (and Java 8 running) chee. Install jdk8 and sbt, then clone the repository and execute:

sbt make-zip

in the source root. The result is a zip file in target folder. Unpack the zip somewhere and add the resulting directory to your PATH. Then the chee command should be available. Test it via

chee version

Using Nix

You can build chee with the nix package manager.

nix-build https://github.com/eikek/chee/archive/release/0.3.0.tar.gz

or install it with

nix-env -if https://github.com/eikek/chee/archive/release/0.3.0.tar.gz

Download

Prebuild zip files are usually available for download at the release page.

Snapshots can be downloaded here:

Download and unzip the file. Then add the resulting directory to your $PATH. You need Java 8 for running it. Test it via

chee version

Documentation

Chee is a command line tool and comes with documentation built in. It is accessible via the help command.

The help command provides information about chee’s concepts as well as about its commands. Help pages can be printed to stdout or viewed in a browser. Run chee help to find out more.

The command

chee help manual

opens a browser showing the complete manual.

Click here to read the manual now.

License

Chee is distributed under the GPLv3.

Changes

0.3.0

  • add command meta tags to list all tags in use
  • fixes bug (#4) in `chee` shell script for repository mode
  • fixes bug #7 and #8
  • add more tests and updated dependencies

0.2.0

  • Encrypt and decrypt files using OpenPGP.
  • New clean command to cleanup temporary data.
  • Repository mode: if a directory .chee is found it is used as config- and working directory.
    • Please rename your current $HOME/.chee to $HOME/.chee-work before using 0.2.0.
  • add a --skip option to the find command and related to allow skipping first n results
  • add mv and rm commands that work more closely as the corresponding file system commands. Drop location delete and location mv.
  • new metadata feature to attach tags and comments to files
  • new gallery command for creating static html photo galleries
  • drop location management and location … commands; add new commands sync, add and import instead that also work for encrypted files

0.1.0

  • initial version