Skip to main content

Convert images into ones suitable for digital photo frames.

Project description

gaaqoo

PyPI version Test

Convert images into ones suitable for digital photo frames.

  • Reduce file size to save SD card spaces: Scale down images to fit just to the screen size of your digital photo frame.
  • Ajdust orientation: Rotate images based on EXIF Orientation.
  • Overlay shooting datetime: Overlay EXIF DataTimeOriginal.
  • Convert smart: Detect new or updated images in src directory recursively, and convert those into dst directory.

'gaaqoo' was named after 'gaku' which means 'frame' in Japanese.


Install

PyPI version

$ pip install gaaqoo

Usage

$ gaaqoo --help
usage: gaaqoo [-h] [-V] [-f FILE.yml]

Convert images into ones suitable for digital photo frames.

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -f FILE.yml, --config FILE.yml
                        config YAML file (default:
                        ~/.config/gaaqoo/default.yml)
$

Config (YAML)

~/.config/gaaqoo/default.yml (have to create by yourself for now.)

# -*- coding: utf-8 -*-

SRC_DIR: ~/Pictures/gaaqoo-src
DST_DIR: ~/Pictures/gaaqoo-dst
SUFFIX: ['.jpg', '.JPG', '.jpeg', '.JPEG']
# exclude if filepath contains there
EXCLUDE: ['_EXCLUDE_', '_NG_']
DST_IMG_SIZE: [800, 480]
FONT: /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
FONT_SIZE: 30

Example

Nagoya Castle :-)

image width x height orientation
src 4320x3240 [EXIF] Orientation=6 (Rotate 90 CW)
dst 360x480 (fits for 800x480) Horizontal (normal)

License

MIT License

Dependencies

  • Pillow (>= 10.0.0)
  • PyYAML (>= 6.0)

For developers

EXIF orientation example images

Image rotation based on EXIF orientation when tools show it

Without rotation, so suitable for debugging:

  • display (ImageMagick)

With rotation:

  • display -auto-orient
  • nautilus (file manager)
  • eog

EXIF tools

  • ExifTool
    • exiftool example.jpg
  • jhead:
    • jhead example.jpg
    • jhead -autorot example.jpg
  • Exiv2: exiv2 -pv example.jpg
$ jhead -autorot example.jpg
$ jhead -mkexif example.jpg  # keep DateTimeOriginal. drop GPS, Orientation, and others.
$ exiftool example.jpg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gaaqoo-1.0.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gaaqoo-1.0.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file gaaqoo-1.0.1.tar.gz.

File metadata

  • Download URL: gaaqoo-1.0.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gaaqoo-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d85bb90da5a1cc9e35bd43b902f3bf2302d5161fb810c954fee48032d1d4ca1e
MD5 22d90826a097f782e8c0eb7cae0fadb9
BLAKE2b-256 eba00c06977db292d10d93777f118e3293deb0a47d2828b0940d12e2f3b2c0f7

See more details on using hashes here.

File details

Details for the file gaaqoo-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: gaaqoo-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gaaqoo-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1ff1a28a0caade5db9efd189004154edca48786a91296142fcc7f38f8546ed2a
MD5 c3eb04826e8c0e0d0627e9a859584803
BLAKE2b-256 8dff40b9b13af545c913def3244cf5021eb08471c66c24414d7575f3ebd9aad7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page