Skip to content

gregory-richard/apollo-captioner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apollo Captioner

Apollo Captioner is a lightweight desktop application for browsing a folder of images and adding or editing captions. Built with PyQt6, it saves captions alongside each image in simple text files.

Features

  • Browse images in a configurable folder with automatic thumbnail generation and aspect ratio preservation (ScalableImageLabel) fileciteturn1file0
  • Visual indicators for images that have captions (✓) or not (✗) in the gallery view fileciteturn1file0
  • Adjust thumbnail tile size dynamically with a slider
  • Edit captions in-place with keyboard and button navigation (Previous, Next, Back to Gallery)
  • Copy the displayed image to the clipboard for easy sharing
  • Persists the last-used image folder in config.json fileciteturn1file2

Requirements

  • Python 3.8 or higher
  • PyQt6

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/apollo-captioner.git
    cd apollo-captioner
  2. Create and activate a virtual environment (recommended):

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate     # Windows
  3. Install dependencies:

    pip install PyQt6

Configuration

The application stores its configuration in config.json at the root:

{
  "folder": "<path/to/your/image/folder>"
}
  • On first run, or if the folder path is invalid, you'll be prompted to select an image folder.
  • You can also edit config.json directly to set a default folder before launching.

Usage

Run the application:

python main.py
  • Gallery View: Browse thumbnails, adjust tile size, reload or change folder.
  • Caption View: Double-click a thumbnail (or press Enter) to open the caption editor. Use the Back, Previous, Next, and Copy Image buttons to navigate and manage captions.
  • Captions are saved as .txt files alongside each image.

Project Structure

├── main.py          # Application entry point and UI logic fileciteturn1file0
├── config.json      # Stores last-used image folder fileciteturn1file2
├── icons/           # Application icon (apollo_captioner.ico)
└── README.md        # This documentation

Packaging

To build a standalone executable, you can use PyInstaller:

pip install pyinstaller
pyinstaller --onefile --add-data "icons/apollo_captioner.ico;icons" main.py

The resulting executable will include the icon and all dependencies.

Contributing

Contributions are welcome! Feel free to:

  • Open issues for bugs or feature requests
  • Submit pull requests

Please follow the existing code style and include tests where applicable.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors