Let the user sort 'em out.
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.
To set up the project, follow these steps:
- Clone the repository:
git clone git@github.com:Sorcerio/Image-Swipe-3.git cd your-repo
- Create a virtual environment:
python -m venv .venv --prompt IS3
- Activate the virtual environment:
- Windows:
.venv\Scripts\activate
- Linux/Mac:
source .venv/bin/activate
- Windows:
- Install the dependencies:
pip install -r requirements.txt
- View the program's commands:
python start.py -h
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. |
- Add your desired addon's
Swipe***.py
file to the addons/ directory like so:Image Swipe 3 └── addons └── Swipe***.py
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.