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.
Release files for karuka 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| karuka-0.1.3.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| karuka-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.9 MB
Release files / karuka-0.1.3.tar.gz
| Download URL | karuka-0.1.3.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd89634a0f0fba78951b54b1aae0f1d30a6c0540f48410950dde0ede41d1d95b
|
|
BLAKE2b-256 checksum How to use checksums |
99900a9ae28ca6b5a8451e41356e783114856fe4c1de3ad838061a031c28b9cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|
Release files / karuka-0.1.3-py3-none-any.whl
| Download URL | karuka-0.1.3-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
067ad96daf5b1632cdda6e1b186e310b9b778c1a3d61c6f804e48d589193139d
|
|
BLAKE2b-256 checksum How to use checksums |
09804d473e569b0f771c6851c40373c8c86c81b530272c3154ce3f91e9ea6516
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.12
|