Memories Classify
Helping you to keep your personal photo and video memories organized.
Features
- Photo and video renamer: Rename to a standard format with local timezone using the date and time the file was taken (e.g.
PXL_20241014_165237438.jpg→2024-10-14-18h52m37.jpg). - Video encoder: Convert videos to HEVC to reduce file size using ffmpeg (e.g.
PXL_20241010_174118780.TS.mp494 MB →2024-10-10-19h41m18.mp48 MB).
TODO list
- Photo Organizer: Automatically organize photos into folders by date or event (vacation, birthday…)
- Check video encoding quality
Installation
pipx install git+https://github.com/Aohzan/memories-classify.git
Usage
ffmpeg and ffprobe must be installed.
memories-classify --directory "~/path/to/my/pics" --dry-run
Main options (see memories-classify --help for all of them):
--output: write the classified files to another directory, keeping the folder structure--keep-original: copy the files instead of moving them, a second run does not copy them again--exclude: regular expressions matched against the start of the paths relative to the directory (e.g.--exclude "custom/" ".*\.gif$")--timezone: timezone of the file names (e.g.Europe/Paris), the system one by default--ffmpeg-input-extra-args/--ffmpeg-output-extra-args: extra ffmpeg arguments, use the=form for values starting with a dash (e.g.--ffmpeg-input-extra-args="-hwaccel auto")
Dates are read from the EXIF data of pictures and the metadata of videos, then from file names like PXL_20241014_165237438.jpg (UTC time). Name conflicts get a letter suffix (a, b…).
my/pics
├── Vacation
│ ├── IMG_1001.jpg
│ ├── IMG_1002.jpg
│ ├── IMG_1003.jpg
│ └── video.mp4
└── Dogs and cats
└── IMG_2201.jpg
will become
my/pics
├── Vacation
│ ├── 2017-11-11-15h18m17.jpg
│ ├── 2017-11-11-15h18m17a.jpg
│ ├── 2017-11-11-17h21m46.mp4 # 15 MB instead of 94 MB
│ └── 2017-11-11-19h30m01.jpg
└── Dogs and cats
└── 2020-02-24-12h29m52.jpg
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
uv sync
pre-commit install
uv run pytest
License
This project is licensed under the GNU General Public License v3.0, see LICENSE.
Metadata
Release files for memories-classify 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| memories_classify-1.2.0.tar.gz | 26.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| memories_classify-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.0 kB
Release files / memories_classify-1.2.0.tar.gz
| Download URL | memories_classify-1.2.0.tar.gz |
|---|---|
| Size | 26.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0266ce33169db4b3394e22957d66560122deea54a21429b3472127dfd640c7a1
|
|
BLAKE2b-256 checksum How to use checksums |
6dd9ef0b4af59bd329c74ea9a743e6319f86c77e3fd1948b918bcc7be188bc6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / memories_classify-1.2.0-py3-none-any.whl
| Download URL | memories_classify-1.2.0-py3-none-any.whl |
|---|---|
| Size | 27.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ad61b528c934db1b1ea2d0292d6d983dacfa0c0bd107313a96f6b7fafc67cfee
|
|
BLAKE2b-256 checksum How to use checksums |
dbf8b400672f63e38ea8b832ffac653d10bb25be34775db97794f19592bb1a14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log