A small Tkinter desktop image editor for resizing, cropping, rotating, converting, and removing backgrounds.
Project description
Karuka Image Editor
Built and open sourced by TempleDiary.
Karuka Image Editor is a small Python desktop app for common image editing tasks:
- open and browse local image folders
- drag and drop image files into the app
- resize images with optional exact-size crop
- batch resize folders into another folder while keeping file names
- crop with a drag selection
- rotate left or right
- convert images to JPEG, JPG, PNG, or HEIC
- remove backgrounds with the optional
rembgextra - save edited output to the user's Downloads folder
- bundled Karuka logo and desktop window icon
Screenshot
Requirements
- Python 3.10 or newer
- Tkinter, usually included with Python. On some Linux distributions it is a separate system package such as
python3-tk. tkinterdnd2, installed by the project, enables desktop drag-and-drop support.
Install From Source
After the public PyPI release:
python -m pip install karuka
From a local checkout:
python -m pip install .
For AI background removal support:
python -m pip install ".[bgremove]"
For HEIC input/output support:
python -m pip install ".[heic]"
For all optional image features:
python -m pip install ".[all]"
For packaging and publishing checks:
python -m pip install ".[dev]"
Run
After installation:
karuka
On Linux, the first karuka launch also creates a desktop menu launcher and icon when possible.
If the desktop entry needs to be recreated manually:
karuka-desktop
From a source checkout:
python -m karuka_image_editor
Batch Resize And Convert
Use Batch Resize / Convert in the editor panel to choose a source folder, output folder, target size, exact-size crop mode, and output format.
The output folder defaults to Downloads/karuka_batch_output. Files are saved with the same base name and the selected output extension, for example photo.png becomes photo.jpeg when JPEG is selected.
HEIC support depends on the optional pillow-heif package.
Package Layout
karuka_image_editor/core/ Image operation helpers
karuka_image_editor/ui/ Tkinter application interface
karuka_image_editor/utils/ Shared utility package
karuka_image_editor/misc/ Experimental command-line scripts
The distribution metadata lives in pyproject.toml. Package discovery includes the karuka_image_editor package, and karuka_image_editor.main provides the karuka console command.
Build
python -m build
The generated dist/ directory is ignored by git.
Project Status
This project is early-stage software. Public APIs and packaging details may change before a 1.0.0 release.
Contributing
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.
Contact
Maintainer: TempleDiary
License
Released 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 karuka-0.1.3.tar.gz.
File metadata
- Download URL: karuka-0.1.3.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd89634a0f0fba78951b54b1aae0f1d30a6c0540f48410950dde0ede41d1d95b
|
|
| MD5 |
241ea050c15e3dad6abe3eb803abbea9
|
|
| BLAKE2b-256 |
99900a9ae28ca6b5a8451e41356e783114856fe4c1de3ad838061a031c28b9cc
|
File details
Details for the file karuka-0.1.3-py3-none-any.whl.
File metadata
- Download URL: karuka-0.1.3-py3-none-any.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
067ad96daf5b1632cdda6e1b186e310b9b778c1a3d61c6f804e48d589193139d
|
|
| MD5 |
32a9fb23b91fd095a6d9da930f45d42d
|
|
| BLAKE2b-256 |
09804d473e569b0f771c6851c40373c8c86c81b530272c3154ce3f91e9ea6516
|