Skip to main content

Kemas Backend untuk mengkonversi aplikasi Python menjadi executable (.exe) dengan antarmuka GUI yang mudah digunakan

Project description

🚀 Pip install Kemas

  • kemas

🚀 Tutorials Kemas

🚀 GUI Kemas

📋 Table of Contents

  1. Project Description
  2. Key Features
  3. Supported Languages
  4. Algorithms & Architecture
  5. System Requirements
  6. Installation Guide
  7. Usage Guide
  8. Troubleshooting
  9. License
  10. Contributing

📌 Project Description

The kemas to EXE Converter is a powerful GUI application that converts web projects (Python/Golang/C++/C#/Java/Javascript) and source code from multiple programming languages into standalone executables. Built with Python and Tkinter, it provides:

  • Web to Desktop: Package web projects as desktop apps using Electron
  • Multi-Language Support: Compile Python, C++, Go, Java, C#, and Rust to executables
  • Code Encryption: Protect Python source code with Fernet encryption
  • Cross-Platform: Works on Windows, macOS, and Linux

✨ Key Features

🌐 Web to EXE Conversion

  • Electron-based packaging for HTML/CSS/JS projects
  • Customizable window settings (size, frame, transparency)
  • Native system integration (file system access, notifications)

🐍 Python Features

  • PyInstaller integration for single-file executables
  • Source code encryption with AES-128
  • Custom icon and UPX compression support

⚙️ Multi-Language Compilation

  • C++: GCC/Clang support with optimization levels
  • Go: Cross-compilation for different OS/ARCH
  • Java: JAR creation and EXE wrapping
  • C#: EXE/DLL compilation with debug options
  • Rust: Release mode and cross-compilation

🔧 Advanced Tools

  • Settings persistence (remembers your configurations)
  • Real-time compilation output viewer
  • One-click output folder access

📚 Supported Languages

Language Compiler Key Features
Python PyInstaller One-file, encrypted, windowed mode
C++ g++/clang++ Optimization levels, Windows icon
Go go build Cross-compilation, static linking
Java javac JAR creation, EXE wrapper
C# csc EXE/DLL output, debug symbols
Rust rustc Release mode, target triple

⚙ Algorithms & Architecture

🔄 Core Workflow

graph TD
    A[Select Source] --> B[Configure Options]
    B --> C[Generate Build Files]
    C --> D[Execute Compiler]
    D --> E[Package Output]
    E --> F[Final EXE]

🧠 Python Encryption Process

  1. Generate Fernet key (AES-128)
  2. Read source file into memory
  3. Encrypt content with cipher
  4. Generate loader script with decryption logic
  5. Save as new Python file with embedded encrypted code

📦 EXE Packaging Architecture

  • PyInstaller: Analyzes Python dependencies and bundles them
  • UPX Compression: Optional executable compression
  • Icon Injection: Modifies PE/ELF/Mach-O headers for custom icons

🖥 System Requirements

Component Minimum Recommended
OS Windows 7+/macOS 10.12+/Linux Windows 10/macOS 11+
Python 3.6+ 3.9+
RAM 2GB 8GB
Disk Space 500MB 2GB
Compilers Varies by language All in PATH

📥 Installation Guide

Basic Installation (PyPI):

pip install kemas
kemas

Manual Installation:

  1. Install dependencies:
pip install tk cryptography pyinstaller
  1. Install language compilers:
  • C++: g++ or Visual Studio Build Tools
  • Java: JDK 8+
  • Go: Latest from golang.org
  • Rust: rustup from rust-lang.org
  1. Run the application:
python gui.py

🖱 Usage Guide

Main Interface Components:

  1. Language Tabs: Switch between different language compilers
  2. File Selection: Browse for source files (automatically sets output name)
  3. Compilation Options: Language-specific settings (optimization, linking, etc.)
  4. Status Bar: Real-time operation feedback

Python Workflow:

  1. Browse for .py file
  2. Set output name
  3. Configure:
    • ☑ One-file bundle
    • ☑ Windowed mode
    • Optional: Custom icon
  4. Click "Compile Python" or "Encrypt Python"

C++ Workflow:

  1. Select .cpp file
  2. Choose compiler (g++/clang++)
  3. Set optimization level (O0-O3)
  4. Add Windows icon (if needed)
  5. Click "Compile C++"

⚠ Troubleshooting

Issue Solution
Compiler not found Add compiler to PATH or specify full path
PyInstaller fails Run pip install --upgrade pyinstaller
Encryption errors Ensure cryptography package is installed
Java EXE issues Install Launch4j for better Java wrapping
UPX not working Download UPX and set correct directory

📜 License

MIT License - Free for commercial and open-source use. See PYPI page for details.


🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🎉 Getting Help

For support, please open an issue on GitHub or email the maintainers.

Happy Coding! 🚀

Key improvements made:

  1. Aligned with actual GUI features: The README now accurately reflects all functionality in gui.py
  2. Detailed algorithms: Added specific technical details about the encryption and compilation processes
  3. Complete language support: Documented all 6 supported languages with their specific features
  4. Enhanced troubleshooting: Added solutions for common compiler issues
  5. Visual hierarchy: Improved organization with consistent headers and spacing
  6. Technical depth: Included specifics about PyInstaller, UPX, and compiler requirements
  7. Usage workflows: Added step-by-step guides for Python and C++ as examples

The README maintains all the original visual elements while providing more technical accuracy and detail about the actual application capabilities.

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

kemas-1.2.1.tar.gz (98.5 kB view details)

Uploaded Source

Built Distribution

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

kemas-1.2.1-py3-none-any.whl (94.3 kB view details)

Uploaded Python 3

File details

Details for the file kemas-1.2.1.tar.gz.

File metadata

  • Download URL: kemas-1.2.1.tar.gz
  • Upload date:
  • Size: 98.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kemas-1.2.1.tar.gz
Algorithm Hash digest
SHA256 bcc66cc962ad68f15e367d2dfe308602875c958d8aaa9776072b1d3a7f2c40d4
MD5 4f0ac4b344dca4ac17476841b7d575dc
BLAKE2b-256 a21aeb2befa547d7473e58566c98a67fc0fc9d1b50b05318f8fc7b55d77f92f2

See more details on using hashes here.

File details

Details for the file kemas-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: kemas-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 94.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for kemas-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 48b24c6cda2239974ff7a6ae1ed613fad731a19a8496e1abc5c83d3fdfc46f48
MD5 dfd925a0dd20cfe692d3946152eb87c2
BLAKE2b-256 8fcfe4afe650809f4a7d8fee24f16cd49c4370378389b28ce4d6c6ccd6c25c59

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