Pictures from Google Photos, ICloud, or your Camera... all sorted!
Installation
Install the library with
pip install sortpics
Main features
- The library only renames (moves) images. No deletion or copy occurs.
- When two or more images have identical timestamp at the resolution of a second, the name will include the millisecond.
- If, despite the above, two files have the same target, only the file with the largest size on disk is moved.
- Animated movies (joint
.JPG/.MOVfiles) are moved in pair. - Custom names are preserved, e.g.
My cute cat.jpgis renamed to e.g.2019-12/2019-12-12 19.06.44 My cute cat.jpg. - And, in case you change your mind,
sortpicsgenerates a undo script 😃
Sample run
Normalize your image collection with
sortpics
in your picture folder. The output will be like this:
mv '2020-05-23/Custom name.jpg' '2020-05/2020-05-23 17.55.43 Custom name.jpg'
mv 2020-05-23/IMG_1554.JPG '2020-05/2020-05-23 16.55.13.JPG'
mv 2020-05-23/IMG_1555.JPG '2020-05/2020-05-23 16.55.43.JPG'
mv 2020-05-23/IMG_1555.MOV '2020-05/2020-05-23 16.55.43.MOV'
mv 2020/05/23/IMG_1556.JPG '2020-05/2020-05-23 18.55.13.123.JPG'
mv 2020/05/23/IMG_1557.JPG '2020-05/2020-05-23 18.55.13.251.JPG'
# Rerun with --no-test to rename the files, or execute 'bash .sortpics_test_2020-05-23T15.16.27.643763.sh'
# Undo the renaming with 'bash .sortpics_undo_test_2020-05-23T15.16.27.643763.sh'
# When you're done, clean up empty directories with 'find . -type d -empty -delete'
Note that the above only proposes a file renaming, and does not move any file at this stage.
If you agree with the proposal, you can run the script generated by sortpics, or run sortpics --no-test.
Images and movies are renamed based on their creation date. For instance, an image taken on Dec 25th, 2019 at 15:07:12 will be moved to 2019-12/2019-12-25 15.07.12.jpg.
Useful links
- Google Takeout is a convenient way to download your Google Photo collection
- Nathan Broadbent's ICloud Photo Downloader works well with ICloud
- Adrian Lopez's fdupes for finding exact duplicates.
Develop in this package
To develop in this package, clone the project, and then create a dedicated Python environment with
conda env create --file environment.yml
and activate it with
conda activate sortpics
Then install the development version with
pip install -e .
If you want to contribute back** your changes, please install the pre-commit package with
pre-commit install
The tests for this package are in the tests folder, and can be run with
pytest
Metadata
Release files for sortpics 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| sortpics-0.1.2.tar.gz | 9.1 kB | Without provenance | Details |
Release files / sortpics-0.1.2.tar.gz
| Download URL | sortpics-0.1.2.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1901afb956642a04cc55237c0f2867861a3ec1b90e51c4ab2f448e998fb2c5e6
|
|
BLAKE2b-256 checksum How to use checksums |
8edc22b385a43feb3e0546b0b9124ba8947abc1e8d2876cf7a2252c92e8507e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0.post20200513 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
|
Security for sortpics 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.