/Image-Swipe-3

A GUI tool for rapid sorting of images from local and networked sources.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Image Swipe 3

Image Swipe 3

Let the user sort 'em out.


What is It?

A GUI tool for rapid sorting of images from local and networked sources.

If you're someone that works with large sets of images like a photographer, archivist, or otherwise, this tool provides the functionality to sort, categorize, and manage through a simple graphical interface. Both local and networked systems are supported out of the box. For any specific endpoints not officially supported, addons can be made for any unique use case.

See Built-In Implementations for a list of currently implemented functionality. Additional functionality can be added through addons.

Install

To set up the project, follow these steps:

  1. Clone the repository:
    git clone git@github.com:Sorcerio/Image-Swipe-3.git
    cd your-repo
  2. Create a virtual environment:
    python -m venv .venv --prompt IS3
  3. Activate the virtual environment:
    • Windows:
      .venv\Scripts\activate
    • Linux/Mac:
      source .venv/bin/activate
  4. Install the dependencies:
    pip install -r requirements.txt
  5. View the program's commands:
    python start.py -h

Usage

Built-In Implementations

Command Description
local Utility for choosing between keeping, favoriting, or discarding any number of local images.
localmulti Utility for choosing between two or more images or discarding them all for any number of local images.
pickn Utility for choosing any number of images from a set of local images in repeating rounds until only the desired number, or less, of images remain.
reddit Proof of concept for viewing the images of any subreddit while allowing you to download or discard each in a sequential process.

Addon Implementations

Installing Addons

  1. Add your desired addon's Swipe***.py file to the addons/ directory like so:
    Image Swipe 3
    └── addons
        └── Swipe***.py
    

Creating Your Own

Additional implementations extending SwiperImplementation can be added to the addons/ directory and will be automatically loaded when start.py is run.

An example of the most basic structure of an addon can be found in the SwipeAddonDemo file.

Additional specifics on feature implementation and usage can found in the SwipeLocal and SwipeLocalMulti source files. SwipeLocal being a base level implementation and SwipeLocalMulti being an extension of SwipeLocal itself.

For an example of networked and paginated implementation, check the SwipeReddit source file.

The buttons shown in the GUI and the hotkeys available can also be modified per implementation.