Skip to main content

Graphical tool to sort images into a folder structure based on the date the images were taken

Project description

Image Sorting Tool

Build Status Python Checks PyPI version PyPI license
Screenshot This is a simple graphical tool to sort media into a structured folder. It is designed primarily for JPG images taken with a camera/phone but will also work with MP4, PNG and GIF media files. It works by finding all files in a chosen source directory (including sub-directories) and then based on the chosen sorting options, copies them into a structured destination.

The date-taken for JPG files is extracted from the EXIF data and for all other file formats the filename is used to extract the date-taken. The files destination name will be in format 'yyyymmdd_HHMMSS'. For example '20201225_234532.jpg' The default output structure is year and month folders. For example:

/
├── 2019/
    ├── 07/
        ├── 20190712_141507.jpg
        └── 20190719_224521.jpg
    └── 10/
        ├── 20191011_180520.jpg
        └── 20191029_204731.jpg
└── 2020/
    ├── 01/
        └── 20200114_135312.jpg
    └── 03/
        └── 20200301_110330.jpg

Files that cannot have the date-taken extracted (missing EXIF or bad filenames) will be copied to a 'failed_to_sort' folder in the root directory of the above structure without any renaming. These files are commonly ones downloaded from the internet or shared through social media.

If your source folder has other files such as binaries, documents, audio recordings, or music, you can choose if you want to ignore them or copy them to an 'other_files' folder with the 'Copy all other files' option.

This tool is multi-threaded to increase performance on high speed storage such as SSDs.

No data in the source directory is altered. It only reads from the source, and then copy operations are performed during the sorting process.

Installation

The tool can be run on Linux, MacOS and Windows provided the following requirements are met

Requirements

  • Python 3.6 or above
  • python3-tk (Comes with Python 3, but may need installing separately in linux)

To check what version of python is installed, open a console and run:

python --version

If the python version is suitable then run the following to install the image-sorting-tool

pip install image-sorting-tool

Usage

Run the following to launch

image-sorting-tool

Upgrading

Run the following to upgrade

pip install --upgrade image-sorting-tool

Uninstalling

Run the following to remove the tool from your machine

pip uninstall image-sorting-tool

Development

To contribute, clone this repo and then install the dev dependencies with

# Installs package locally so code changes will affect behaviour
pip install -e .[dev]

#Launch with -vv flag for debug logs
image-sorting-tool -vv 

Automated checks

Linting and unit tests should be checked before committing by running the following:

# Code formatting
black  image-sorting-tool

# Linting
pylint image_sorting_tool

# Unit test on current environment python version
pytest

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

image-sorting-tool-1.0.1.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

image_sorting_tool-1.0.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file image-sorting-tool-1.0.1.tar.gz.

File metadata

  • Download URL: image-sorting-tool-1.0.1.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for image-sorting-tool-1.0.1.tar.gz
Algorithm Hash digest
SHA256 7f397d9d0a2736b13c42cbf1789ea8376de71f4953fb37def63e233f04ad096b
MD5 c80afc6691633da771cda184b585c25d
BLAKE2b-256 8aaa73aa57f2932fe183e0fafe881d7b3b1ad4f5c843b4c18e9851bdc54b78f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for image_sorting_tool-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d64a4a3a3f0a002d5aab19f689cf5c0c34f9abdb7f37c9a8ad17d960abb0d967
MD5 315dafc3b36b89a4762e0a4308d67849
BLAKE2b-256 d680ca658240821fff6f415d6c1edd144c2abf22eb7de58459b5e31882b93946

See more details on using hashes here.

Supported by

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