https://github.com/jacobeliasmoya/productivepython
CLI tools for batch geotagging and image compression. GPS tagging by folder name, size-based compression, WebP conversion, and optional .exe builds.
https://github.com/jacobeliasmoya/productivepython
batch-processing cli-tool geotagging image-compression image-metadata image-opti python
Last synced: 3 months ago
JSON representation
CLI tools for batch geotagging and image compression. GPS tagging by folder name, size-based compression, WebP conversion, and optional .exe builds.
- Host: GitHub
- URL: https://github.com/jacobeliasmoya/productivepython
- Owner: jacobEliasMoya
- Created: 2025-04-15T23:12:05.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-23T19:42:59.000Z (about 1 year ago)
- Last Synced: 2025-06-15T18:03:24.593Z (12 months ago)
- Topics: batch-processing, cli-tool, geotagging, image-compression, image-metadata, image-opti, python
- Language: Python
- Homepage:
- Size: 58.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🛠️ ProductivePyton
**ProductivePyton** is a suite of lightweight command-line tools for bulk image processing and optimization. It includes:
- 📍 **BulkGeoTagger** — Geotags images by folder-based city names using embedded GPS metadata.
- 📷 **BulkCompressor** — Compresses, resizes, and optionally converts images to WebP format with target file size control.
---
## 📁 Tools Included
### 📍 BulkGeoTagger
**Auto-tag your images by location.**
**Usage:**
1. Add folders named after cities (e.g. `phoenix`, `mesa`)
2. Make sure `city_coords.json` matches folder names:
```json
{
"phoenix": [33.4484, -112.0740],
"mesa": [33.4152, -111.8315]
}
```
3. Run:
```bash
python geo_tag_images.py
```
Or use the prebuilt `.exe` (Windows only).
📂 Your image structure should look like:
```
/phoenix/photo1.jpg
/mesa/photo2.jpg
```
---
### 📷 BulkCompressor
**Resize, compress, and optionally convert images to WebP.**
**Features:**
- Resizes images wider than 1920px
- Compresses to a user-defined file size
- Optional `.webp` conversion
- Zips final output
**Usage:**
```bash
python resize_images.py
```
You’ll be prompted for:
- Desired file size in KB
- WebP conversion option
Input images must go in the `/input` directory. Output is saved to `/output`.
---
## 💾 Folder Structure
```
ProductivePyton/
├── src/
│ ├── geotag/
│ │ ├── geo_tag_images.py
│ │ ├── city_coords.json
│ ├── resize/
│ │ └── resize_images.py
├── dist/ # Windows executables
├── releases/ # Zip release bundles
```
---
## 📦 Dependencies
Install required Python packages:
```bash
pip install Pillow piexif
```
---
## 👤 Author
Made by [Jacob Elias Moya](https://github.com/jacobEliasMoya)
Built for efficient image prep at scale.
---
## 📄 License
MIT License — free to use, modify, and distribute.