Skip to main content

photocrawl

A simple package to run analysis and get insight on my use of equipment and settings in my practice of photography.

Install

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

Usage

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).

Output example

Here is an example of what the script outputs:

Example_1

Example_2

TODO

  • 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.

Made with ♥︎ by fsoubelet
MIT © 2019 Felix Soubelet

Metadata

Release files for photocrawl 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for photocrawl 0.3.2
File Size Uploaded
photocrawl-0.3.2.tar.gz 7.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for photocrawl 0.3.2
File Interpreter ABI Platform
photocrawl-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.9 MB

Release files / photocrawl-0.3.2.tar.gz

Download URL photocrawl-0.3.2.tar.gz
Size 7.9 MB
Tags Source
SHA-256 checksum
How to use checksums
c8662f5032615b29392f1de9de033ad87f65a63b124097b2725a81d1fec074fc
BLAKE2b-256 checksum
How to use checksums
5c43bb00e714eb43b1b847229f5dd63dcd109b887887366a403fd1dcd046b44f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release files / photocrawl-0.3.2-py3-none-any.whl

Download URL photocrawl-0.3.2-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
140d71ea1c52ff583403f4e47717718a70e6f45e2dbb38d365d4c3ed948f0d5b
BLAKE2b-256 checksum
How to use checksums
f348c4c7417ddf7746b1ff5b2c6a7d82cbe11bd200f5c0dec15aceba1b52dced
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page