Skip to main content

KagazKit - Your Ultimate PDF Toolkit. Merge, Split, Convert, and more.

Project description

KagazKit

License Python Code Style

Note: This project is currently under active development.

KagazKit (“Kagaz” means paper) is a modern, secure, and professional PDF toolkit built with Python and CustomTkinter. It provides an elegant interface for merging PDFs, converting images to PDFs, splitting, rotating, and more.

Features

  • Modern UI: Dark mode support, professional design using CustomTkinter.
  • Secure: Validation of file inputs and safe handling of file operations.
  • Merge PDFs: Combine multiple PDF files with ease.
  • Image to PDF: Convert standard image formats (JPG, PNG) to PDF.
  • Tools: Split and Rotate PDFs functionality.
  • Drag & Drop: Intuitive file management.

Supported Platforms

Platform Install Method Status
Windows 10/11 Packaged .exe release Supported
Windows 10/11 pip install kagazkit Supported
Linux Source install Best effort
macOS Source install Best effort
Python Status
3.9 Supported
3.10 Supported
3.11 Supported

Supported File Types

Workflow Supported Inputs Output
Merge PDFs .pdf merged .pdf
Images to PDF .png, .jpg, .jpeg .pdf
Split PDF .pdf one .pdf per page
Rotate PDF .pdf rotated .pdf

Installation

Via pip (Recommended)

KagazKit is available on PyPI and can be installed directly using pip:

pip install kagazkit

Windows .exe

Download the latest packaged Windows build from the GitHub Releases page when you want a no-Python install.

From Source

  1. Clone the repository:

    git clone https://github.com/farjad-hasan/kagazkit.git
    cd kagazkit
    
  2. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Install the package in editable mode:

    pip install -e .
    

Usage

Run the application:

kagazkit
# Or directly via python
python src/kagazkit/main.py

For concrete workflows and expected inputs, see docs/usage.md. For planned product direction and upcoming feature priorities, see ROADMAP.md. For common failures and packaging-specific guidance, see docs/troubleshooting.md.

Troubleshooting

  • If image-to-PDF fails, confirm the file is .png, .jpg, or .jpeg and not a renamed unsupported format.
  • If you are using the Windows .exe, compare its version against the latest GitHub release before reporting a conversion issue.
  • If packaging commands fail locally with No module named build.__main__, follow the parent-directory build instructions in RELEASE.md.
  • For step-by-step fixes and bug-reporting prep, see docs/troubleshooting.md.

Project Status

KagazKit is an actively maintained single-maintainer open-source project. The project is releaseable and documented, but reviews and support still depend on one primary maintainer.

For maintainer ownership and expectations, see MAINTAINERS.md.

Maintainer and Support

KagazKit is currently maintained by Farjad Hasan.

  • Pull requests and issues are reviewed on a best-effort basis.
  • Security reports should follow SECURITY.md instead of public issues.
  • General usage questions and bug reports should go through GitHub Issues or the guidance in SUPPORT.md.
  • Acknowledgement targets:
    • security reports: within 48 hours
    • standard issues and pull requests: best effort, typically within 7 days

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Help Wanted

KagazKit is open to outside contributions, especially in areas that reduce single-maintainer risk or improve user experience.

  • Windows packaged-app testing and release automation
  • GUI-focused end-to-end smoke tests
  • documentation improvements and troubleshooting guides
  • bug reproduction for file conversion edge cases
  • polish for onboarding, accessibility, and release notes

For contributor entry points, see docs/help-wanted.md.

Releasing

See RELEASE.md for the release checklist, including drafting a GitHub release and publishing to PyPI.

Product Roadmap

See ROADMAP.md for the current product roadmap, including near-term and later feature priorities.

Project Hygiene

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

kagazkit-0.1.7.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

kagazkit-0.1.7-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file kagazkit-0.1.7.tar.gz.

File metadata

  • Download URL: kagazkit-0.1.7.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kagazkit-0.1.7.tar.gz
Algorithm Hash digest
SHA256 ce6329cd59c948bb93370f83b4d22f99d1947fbe7c677ba8692b6f6e0fd2ea05
MD5 bfd8602f6a7ccf76fd64475184204c68
BLAKE2b-256 13229348da22c76b3b7d919cd87becbc5be889ce1af23dbc8dddb832905a43b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for kagazkit-0.1.7.tar.gz:

Publisher: release.yml on farjad-hasan/kagazkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kagazkit-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: kagazkit-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kagazkit-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b5fc65d3adfa617e2279d1228152e4b9f602e60a025ec4d551b9a1f924a26a3b
MD5 1aa928a193fde6911f715cedd1ba638f
BLAKE2b-256 c44b62900803f12c5b9e8e65f4ed4fd2cff97eb76e4d0ea004a7fbed684ddcc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for kagazkit-0.1.7-py3-none-any.whl:

Publisher: release.yml on farjad-hasan/kagazkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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