chee
                                
                                
                                
                                    chee copied to clipboard
                            
                            
                            
                        A command line tool for managing photos.
#+title: 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 [[https://www.gnu.org/software/recutils/][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 [[http://sqliteman.com][sqliteman]] to look at the [[http://sqlite.org][sqlite]] database and [[https://www.gnu.org/software/recutils/][rec utilities]] or any text editor to access user metadata.
For a quick introduction, see this [[https://eknet.org/main/introducing_chee__a_photo_managing_tool.html][this post]].
- Installing
 
** Building
[[http://scala-sbt.com][sbt]] and Java 8 is used for building (and Java 8 running) chee. Install jdk8 and sbt, then clone the repository and execute:
#+begin_src shell :exports code sbt make-zip #+end_src
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
#+begin_src shell :exports code chee version #+end_src
** Using Nix
You can build chee with the [[http://nixos.org/nix][nix package manager]].
#+begin_src shell :exports both nix-build https://github.com/eikek/chee/archive/release/0.3.0.tar.gz #+end_src
or install it with
#+begin_src shell :exports code nix-env -if https://github.com/eikek/chee/archive/release/0.3.0.tar.gz #+end_src
** Download
Prebuild zip files are usually available for download at the [[https://github.com/eikek/chee/releases][release page]].
Snapshots can be downloaded here:
- [[https://eknet.org/main/projects/chee/chee-0.3.0-SNAPSHOT.zip][chee 0.3.0-SNAPSHOT]]
 
Download and unzip the file. Then add the resulting directory to your ~$PATH~. You need Java 8 for running it. Test it via
#+begin_src shell :exports code chee version #+end_src
- 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
#+begin_src shell :exports code chee help manual #+end_src
opens a browser showing the complete manual.
Click [[https://eknet.org/main/projects/chee/manual-0.3.0.html][here]] to read the manual now.
- License
 
Chee is distributed under the [[http://www.gnu.org/licenses/gpl-3.0.html][GPLv3]].
- Changes ** 0.3.0
 
- add command ~meta tags~ to list all tags in use
 - fixes bug (#4) in 
cheeshell 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