A FOSS image viewer built with PyQt6
Project description
Imaegete
A FOSS image viewer built with PyQt6.
Features
- Fast keyboard-driven navigation
- Zoom + pan
- Animated GIF support
- Slideshow with tap-tempo
- On-disk metadata cache + in-memory pixmap cache
- Folder watching (auto-refresh when files change)
- Vim-inspired command mode (
:) and filename search (/) - Category sorting (move current image into configured folders)
Install
# from PyPI
pip install imaegete
# from source (development)
git clone https://github.com/actx4gh/Imaegete.git
cd Imaegete
pip install -r requirements-dev.txt
pip install -e .
Usage
imaegete [options] [paths...]
Examples:
# scan a directory
imaegete ~/Pictures
# open a single file (also uses its parent directory as the effective root)
imaegete ~/Pictures/foo.jpg
# playlist/selection-only mode: open exactly these files (no directory scanning)
imaegete 0.jpg 1.jpg 2.jpg
Playlist mode (multi-select)
If you launch Imaegete with multiple file paths (for example via a file manager “Open With” multi-select), it runs in selection-only / playlist mode:
- the image list is exactly the argv file list (deduped, order preserved)
- folder scanning does not run
- watchers may refresh/notice deletions, but will not inject unrelated files
Common options
--start_dirs DIR [DIR ...]scan one or more folders (default:.)--categories CAT [CAT ...]category folder names (enables move-to-category keys)--sort_dir DIRbase directory to create category folders in (defaults tostart_dirs)--cache_dir DIRcache location (default:~/.config/Imaegete/cache)--cache_size MBcache size in MB--clear_cacheclear cache and exit
For the full CLI: imaegete --help
Controls
Keyboard shortcuts
All shortcuts below are active in normal mode (i.e. when you are not typing into the : or / bars). Press Esc to leave command/search and return to normal mode.
| Action | Key |
|---|---|
| Next image | Right / j |
| Previous image | Left / k |
| First image | Home / gg |
| Last image | End / G |
| Random image / toggle shuffle mode | R |
| Toggle slideshow | S |
| Slideshow/GIF/flood-zoom speed up | ] |
| Slideshow/GIF/flood-zoom speed down | [ |
| Zoom in | + |
| Zoom out | - |
| Reset zoom (fit-to-window) | = |
| Flood-zoom (auto-zoom) toggle | \\ |
| Toggle fullscreen | F |
| Delete current image | Delete |
| Undo last delete/move | U |
| Move to category 1..9 (if configured) | 1 … 9 |
| Enter command mode | : |
| Enter filename search | / |
| Exit command/search bars | Esc |
| Quit | Q |
Mouse
- Zoom: mouse wheel
- Pan: left-click + drag (only when zoomed in past “fit to window”)
Slideshow tap-tempo
While slideshow is running, manual navigation taps set the interval:
- two taps establish a tempo; additional taps refine it
- direction changes reset the tap sequence
- taps time out after inactivity
Keys that count as taps: Right/j (next), Left/k (previous), R (random).
Category moves
If you pass --categories (or set categories in config), you can move the current image into a category folder:
- press
1..9to move to the corresponding category (first 9 only) - or use
:m <category>/:m <N>in command mode
Vim-style modes
Command mode (:)
Type : to open the command bar, then press Enter.
:q/:quit/:exit— quit:n/:next— next image:p/:prev/:previous— previous image:first/:last/:rand(:random) — jump:del/:delete/:rm— delete current image:u/:undo— undo last move/delete:m <category>or:m <N>— move to category by name or 1-based index:fs(:fullscreen) — toggle fullscreen:ss(:slideshow) [on/off] — toggle or set slideshow:<N>— jump to 1-based index (e.g.:12)
Filename search (/)
Type / to open the search bar.
- start typing to live-filter the image list
- select from the popup list (mouse or keyboard) and press Enter
Escexits search without jumping
License
AGPLv3 (see LICENSE)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file imaegete-0.1.4.tar.gz.
File metadata
- Download URL: imaegete-0.1.4.tar.gz
- Upload date:
- Size: 100.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b199bd5a099dc567f0afabbd708bfb60205c6c533c7f3defc41754334a08adf
|
|
| MD5 |
906505a7f508340734daf192e0143e8a
|
|
| BLAKE2b-256 |
b94fa99dae8ff9ee57ce631dc007c51deab8ba57e1fd3fe97c1d71e9f39f17c9
|
Provenance
The following attestation bundles were made for imaegete-0.1.4.tar.gz:
Publisher:
publish.yml on actx4gh/Imaegete
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imaegete-0.1.4.tar.gz -
Subject digest:
0b199bd5a099dc567f0afabbd708bfb60205c6c533c7f3defc41754334a08adf - Sigstore transparency entry: 970415733
- Sigstore integration time:
-
Permalink:
actx4gh/Imaegete@39222561345385705007a0c294f0f3d06c284214 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/actx4gh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39222561345385705007a0c294f0f3d06c284214 -
Trigger Event:
push
-
Statement type:
File details
Details for the file imaegete-0.1.4-py3-none-any.whl.
File metadata
- Download URL: imaegete-0.1.4-py3-none-any.whl
- Upload date:
- Size: 97.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
611c826c35bde7392e4b1f205f6f790fd55b0e719b35d8dad2674d16ccb9ad8a
|
|
| MD5 |
19e5c36a4a7f9b2487b39865432d648c
|
|
| BLAKE2b-256 |
ad4f9f62c5642788bf0df207fcf34eab89544cdba5fee7ea2aa35e3e511bfead
|
Provenance
The following attestation bundles were made for imaegete-0.1.4-py3-none-any.whl:
Publisher:
publish.yml on actx4gh/Imaegete
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
imaegete-0.1.4-py3-none-any.whl -
Subject digest:
611c826c35bde7392e4b1f205f6f790fd55b0e719b35d8dad2674d16ccb9ad8a - Sigstore transparency entry: 970415737
- Sigstore integration time:
-
Permalink:
actx4gh/Imaegete@39222561345385705007a0c294f0f3d06c284214 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/actx4gh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39222561345385705007a0c294f0f3d06c284214 -
Trigger Event:
push
-
Statement type: