⚡ PixShift - 高效图片格式批量转换工具
Project description
PixShift
PixShift is a high-performance CLI toolkit for daily image and PDF workflows. It is designed for both direct terminal usage and automation-first pipelines.
Why PixShift
- Fast batch operations with practical defaults
- Safe behavior for destructive actions
- Human-readable output and script-friendly JSON mode
- Modular architecture for long-term maintainability
Installation
pip install pixshift
Requires Python >=3.10.
Command Tree
pixshift
├─ convert Convert image formats
├─ compress Compress images in the same format
├─ strip Remove metadata (privacy cleanup)
├─ dedup Find and remove similar/duplicate images
├─ compare Compare image quality (SSIM/PSNR/MSE)
├─ crop Crop images by box/aspect/auto-trim
├─ watermark Add text/image watermark
├─ montage Build image grid montage
├─ optimize Recommend best output format
├─ watch Watch directory and auto-convert
├─ info Inspect image metadata and properties
├─ formats Show supported formats and quality presets
├─ doctor Validate runtime dependencies
└─ pdf
├─ merge Merge images into PDF
├─ extract Extract PDF pages as images
├─ compress Compress PDF
├─ concat Concatenate multiple PDFs
└─ info Show PDF details
Quick Start
pixshift convert ./photos/ -t webp -q high -r
pixshift compress ./photos/ -p medium -r
pixshift strip ./photos/ --mode privacy -r
pixshift dedup ./photos/ -r --delete --dry-run
pixshift dedup ./photos/ -r --delete --yes
pixshift compare a.jpg b.jpg
pixshift crop ./photos/ --aspect 1:1 -r
pixshift watermark text ./photos/ --text "© PixShift" -r
pixshift montage ./photos/ -o board.png --cols 4
pixshift optimize ./photos/ -r
pixshift watch ./incoming --once -t webp
pixshift pdf merge ./photos/ -o album.pdf
Automation Mode (--json)
JSON mode is intended for CI and scripts. In JSON mode, failures return non-zero exit codes.
pixshift convert ./photos/ -t webp --json
pixshift compress ./photos/ -p medium --json
pixshift strip ./photos/ --mode privacy --json
pixshift dedup ./photos/ -r --json
pixshift compare a.jpg b.jpg --json
pixshift crop ./photos/ --aspect 16:9 --dry-run --json
pixshift watermark text ./photos/ --text "© PixShift" --dry-run --json
pixshift montage ./photos/ -o board.png --json
pixshift optimize ./photos/ --json
pixshift watch ./incoming --once --json
pixshift info ./photo.jpg --json
pixshift formats --json
pixshift doctor --json
pixshift pdf info ./report.pdf --json
Script templates:
examples/automation/dedup_ci.shexamples/automation/compress_report.shexamples/automation/pdf_info_export.shexamples/advanced/README.md
Documentation
- Architecture:
docs/ARCHITECTURE.md - Command reference:
docs/COMMANDS.md - Phase checklist:
docs/PHASE1_CHECKLIST.md - JSON output contract:
docs/JSON_OUTPUT.md - First release PR pack:
docs/RELEASE_PR_FIRST.md - Label strategy:
docs/LABEL_STRATEGY.md - Automation examples:
examples/automation/README.md - Advanced examples:
examples/advanced/README.md - Release process:
docs/RELEASING.md - Changelog:
CHANGELOG.md
Contributing
Please read:
CONTRIBUTING.mdCODE_OF_CONDUCT.mdSECURITY.mdSUPPORT.md.github/ISSUE_TEMPLATE/*.github/PULL_REQUEST_TEMPLATE.md.github/workflows/ci.yml
License
This project is licensed under the MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixshift-1.0.0.tar.gz.
File metadata
- Download URL: pixshift-1.0.0.tar.gz
- Upload date:
- Size: 70.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb588f8b5f858b8ebfc4e6d7ea44720664cbe25ba0aba008a3e6360e37325880
|
|
| MD5 |
72e7915be0a31f42789d5916d7b91ff7
|
|
| BLAKE2b-256 |
6599202c7ad2ccc2db65e7d3a47813d20140290c0e31ce92bb571da4439db0df
|
File details
Details for the file pixshift-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pixshift-1.0.0-py3-none-any.whl
- Upload date:
- Size: 82.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cd5787a3fee9a239ab3d98bb40378883270815c99fd465e6c201641e6eca25d
|
|
| MD5 |
aa1785ec3dc2bc819b451e1c384d2be1
|
|
| BLAKE2b-256 |
b69a20ae9ed87c6bb6627ed8eb33684f23a66e8bb53435f5968e08d4d09077b8
|