A simple package to run analysis and get insight on my use of equipment and settings in my practice of photography.
This code is compatible with all currently supported Python versions, and requires that you have the great ExifTool package by Phil Harvey in your PATH
.
You can install it in your virtual enrivonment with:
python -m pip install photocrawl
With this package installed in the activated enrivonment, it can be called through python -m photocrawl
or through a newly created photocrawl
command.
Detailed usage goes as follows:
Usage: python -m photocrawl [OPTIONS] [IMAGES]
Crawl and ensemble of pictures to run analysis of their metadata and get insight
on one's use of equipment and settings in their practice of photography.
╭─ Arguments ────────────────────────────────────────────────────────────────────╮
│ images [IMAGES] Location, relative or absolute, of the images │
│ directory you wish to crawl. │
│ [default: None] │
╰────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────────────────────────╮
│ --output-dir TEXT Location, either relative │
│ or absolute, of the output │
│ directory. │
│ [default: outputs] │
│ --show-figures --no-show-figures Whether or not to show │
│ figures when plotting │
│ insights. │
│ [default: no-show-figures] │
│ --save-figures --no-save-figures Whether or not to save │
│ figures when plotting │
│ insights. │
│ [default: no-save-figures] │
│ --log-level TEXT The base console logging │
│ level. Can be 'debug', │
│ 'info', 'warning' and │
│ 'error'. │
│ [default: info] │
│ --install-completion Install completion for the │
│ current shell. │
│ --show-completion Show completion for the │
│ current shell, to copy it │
│ or customize the │
│ installation. │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────╯
The script will crawl files, extract EXIF information and output insights visualizations named insight_1.png
and insight_2.png
in a newly created outputs
folder (or a folder named as you specified).
Here is an example of what the script outputs:
- Handling raw files.
- Handling subfolders when looking for files.
- Output all insight in a single/two plot.
- Implement proper logging.
- Make into a package.
- Make callable as a python module (
python -m photocrawl ...
). - Improving the command line experience.
MIT © 2019 Felix Soubelet