Skip to main content

Kemas Backend untuk menjadi .exe

Project description

🚀 Pip install Kemas

  • 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.1.2.tar.gz (97.9 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.1.2-py3-none-any.whl (94.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kemas-1.1.2.tar.gz
Algorithm Hash digest
SHA256 f9c396d873ed957ce7e6d729ad7ba3a0dfa7fe88f07108b8e76dbe9749a74223
MD5 84060688793ad18ec821beeb0f214221
BLAKE2b-256 87e4bff4f2f1de2883dcad2ad2aa623b2c562708cb0c3b8bc8a991c1c89b6448

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kemas-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 94.0 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3731f9b32ddb2e14ce92537edde8a03a38432901c6cb1094565a8f329ae58918
MD5 5daf0a451a518b025419b5e999175cef
BLAKE2b-256 bbfe1bef0c0592b96c694c04e7326bab054d34b68d1223747491feebdc18baa1

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