{"id":21858533,"url":"https://github.com/yegli/pythonphotobook","last_synced_at":"2026-07-16T13:31:51.420Z","repository":{"id":263651076,"uuid":"861838239","full_name":"yegli/PythonPhotobook","owner":"yegli","description":"An Application that helps sorting family photos into a date based folder structure to create a Photobook","archived":false,"fork":false,"pushed_at":"2026-04-22T13:30:28.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-22T15:25:55.345Z","etag":null,"topics":["claude-code","photoalbum","pillow","sorting"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yegli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-23T15:39:52.000Z","updated_at":"2026-04-22T13:30:32.000Z","dependencies_parsed_at":"2024-11-19T18:20:25.245Z","dependency_job_id":"ef696ff5-ecb6-4840-976e-53ac83f043be","html_url":"https://github.com/yegli/PythonPhotobook","commit_stats":null,"previous_names":["yegli/pythonphotobook"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/yegli/PythonPhotobook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegli%2FPythonPhotobook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegli%2FPythonPhotobook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegli%2FPythonPhotobook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegli%2FPythonPhotobook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yegli","download_url":"https://codeload.github.com/yegli/PythonPhotobook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegli%2FPythonPhotobook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35546266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","photoalbum","pillow","sorting"],"created_at":"2024-11-28T02:46:05.984Z","updated_at":"2026-07-16T13:31:51.398Z","avatar_url":"https://github.com/yegli.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### File Organization Tool Guide\n\nThis document provides simple instructions for using the File Organization Tool to sort, convert, and validate image files.\n\n---\n\n## **Features**\n1. **Organize Images**: Sort image files into date-based folders (e.g., `2023/January/01`).\n2. **Convert Formats**: Automatically convert `.heic` images to `.jpeg` if specified.\n3. **Integrity Check**: Validate the integrity of the organized files by ensuring file counts match.\n4. **Dry-Run**: Simulate the process without making actual changes to your files.\n\n---\n\n## **Requirements**\n\n### **Python Version**\n- Python 3.7 or newer.\n\n## **Installing Python**\n\n### **Windows**\n1. **Download Python**\n   - Go to the [official Python website](https://www.python.org/downloads/).\n   - Download the latest version for Windows.\n\n2. **Install Python**\n   - Run the downloaded installer.\n   - Ensure the **\"Add Python to PATH\"** checkbox is selected during installation.\n   - Choose **\"Install Now\"** for the default settings.\n\n3. **Verify Installation**\n   - Open Command Prompt (`Win + R`, type `cmd`, and press Enter).\n   - Run:\n     ```bash\n     python --version\n     ```\n   - You should see the installed Python version.\n\n4. **Install Pip**\n   - Pip is included by default in modern Python versions. Verify it with:\n     ```bash\n     pip --version\n     ```\n\n### **macOS**\n1. **Download Python**\n   - Visit the [official Python website](https://www.python.org/downloads/).\n   - Download the macOS version.\n\n2. **Install Python**\n   - Open the downloaded `.pkg` file and follow the on-screen instructions.\n\n3. **Verify Installation**\n   - Open Terminal (`Cmd + Space`, type `Terminal`, and press Enter).\n   - Run:\n     ```bash\n     python3 --version\n     ```\n   - macOS uses `python3` instead of `python`.\n\n4. **Install Pip**\n   - Pip is included by default. Verify it with:\n     ```bash\n     pip3 --version\n     ```\n---\n\n### **Python Packages**\nThe tool depends on the following Python libraries:\n- `pillow_heif`\n- `Pillow`\n- `tqdm`\n\nYou can install these dependencies using:\n```bash\npip install -r requirements.txt\n```\n\n---\n\n## **Usage**\n\n### **Running the Tool**\nRun the script using the terminal:\n```bash\npython photobook.py -s \u003csource_directory\u003e -d \u003cdestination_directory\u003e [options]\n```\n\n### **Options**\n| **Option**           | **Description**                                                                                      |\n|-----------------------|------------------------------------------------------------------------------------------------------|\n| `-s`, `--source`      | Source directory containing files to organize. **(Required)**                                       |\n| `-d`, `--destination` | Destination directory to store organized files. **(Required)**                                      |\n| `--dry-run`           | Simulate the organization process without actually moving or copying files.                         |\n| `-c`, `--convert`     | Convert `.heic` files to `.jpeg` before sorting.                                                    |\n| `--log-to-file`       | Log operations to a file in the destination directory.                                              |\n| `-i`, `--integrity-check` | Check if the source and destination directories have matching file counts after processing. |\n\n---\n\n## **Examples**\n\n### **Basic Sorting**\n```bash\npython photobook.py -s /path/to/source -d /path/to/destination\n```\n\n### **Sorting with Conversion**\n```bash\npython photobook.py -s /path/to/source -d /path/to/destination -c\n```\n\n### **Dry-Run Mode**\n```bash\npython photobook.py -s /path/to/source -d /path/to/destination --dry-run\n```\n\n### **With Integrity Check**\n```bash\npython photobook.py -s /path/to/source -d /path/to/destination -i\n```\n\n---\n\n## **Output Structure**\nOrganized files will be saved in a structured format:\n```\n/destination_directory\n└── Images\n    ├── 2023_January\n    │   └── 2023-01-01\n    │       ├── image1.jpg\n    │       └── image2.png\n    └── Unsorted_Files\n        └── \u003cFile Type\u003e\n            └── unsorted_file1.ext\n```\n\n---\n\n## **Error Handling**\n\n- **Invalid Paths**: If a source or destination directory is missing, the tool will alert you and halt execution.\n- **File Count Mismatch**: During integrity checks, the tool stops processing if the source and destination counts do not match.\n- **HEIC Conversion Failure**: If a `.heic` file fails to convert, it will remain in the unsorted folder.\n\n---\n\n## **Additional Resources**\n- [Python Documentation](https://docs.python.org/3/)\n- [Installing Python on Windows](https://docs.python.org/3/using/windows.html)\n- [Installing Python on macOS](https://docs.python.org/3/using/mac.html)\n- [Virtual Environments Guide](https://docs.python.org/3/tutorial/venv.html)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyegli%2Fpythonphotobook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyegli%2Fpythonphotobook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyegli%2Fpythonphotobook/lists"}