Skip to main content

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 rembg extra
  • save edited output to the user's Downloads folder
  • bundled Karuka logo and desktop window icon

Screenshot

Karuka Image Editor 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-image-editor

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-editor

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-editor 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

karuka_image_editor-0.1.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

karuka_image_editor-0.1.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file karuka_image_editor-0.1.0.tar.gz.

File metadata

  • Download URL: karuka_image_editor-0.1.0.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

Hashes for karuka_image_editor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d6285892140bcfd5d9e8d92d7c98c257e696fec3c11327023f939f4094da3a6
MD5 efb3e1ce3665388e893dc03eb1516462
BLAKE2b-256 2b79f579d41786ca96bafdc8db55298527a2ab43f366e2610fd809216eed3ab5

See more details on using hashes here.

File details

Details for the file karuka_image_editor-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for karuka_image_editor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f2cc8441bf38b4550cfe17cecd18586356db57381cba43eb4a396f7228e9f4c
MD5 d070047a46f269a42db5132b4e386769
BLAKE2b-256 388a9d2eb6198ee01401aacdd84f176c62068a0c7776664115817541192d11a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page