🚀 Pip install Kemas
- kemas
🚀 Tutorials Kemas
🚀 GUI Kemas
📋 Table of Contents
- Project Description
- Key Features
- Supported Languages
- Algorithms & Architecture
- System Requirements
- Installation Guide
- Usage Guide
- Troubleshooting
- License
- 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
- Generate Fernet key (AES-128)
- Read source file into memory
- Encrypt content with cipher
- Generate loader script with decryption logic
- 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:
- Install dependencies:
pip install tk cryptography pyinstaller
- Install language compilers:
- C++:
g++or Visual Studio Build Tools - Java: JDK 8+
- Go: Latest from golang.org
- Rust: rustup from rust-lang.org
- Run the application:
python gui.py
🖱 Usage Guide
Main Interface Components:
- Language Tabs: Switch between different language compilers
- File Selection: Browse for source files (automatically sets output name)
- Compilation Options: Language-specific settings (optimization, linking, etc.)
- Status Bar: Real-time operation feedback
Python Workflow:
- Browse for
.pyfile - Set output name
- Configure:
- ☑ One-file bundle
- ☑ Windowed mode
- Optional: Custom icon
- Click "Compile Python" or "Encrypt Python"
C++ Workflow:
- Select
.cppfile - Choose compiler (g++/clang++)
- Set optimization level (O0-O3)
- Add Windows icon (if needed)
- 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
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
🎉 Getting Help
For support, please open an issue on GitHub or email the maintainers.
Happy Coding! 🚀
Key improvements made:
- Aligned with actual GUI features: The README now accurately reflects all functionality in gui.py
- Detailed algorithms: Added specific technical details about the encryption and compilation processes
- Complete language support: Documented all 6 supported languages with their specific features
- Enhanced troubleshooting: Added solutions for common compiler issues
- Visual hierarchy: Improved organization with consistent headers and spacing
- Technical depth: Included specifics about PyInstaller, UPX, and compiler requirements
- 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.
Metadata
Release files for kemas 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kemas-1.2.1.tar.gz | 98.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kemas-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 192.8 kB
Release files / kemas-1.2.1.tar.gz
| Download URL | kemas-1.2.1.tar.gz |
|---|---|
| Size | 98.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bcc66cc962ad68f15e367d2dfe308602875c958d8aaa9776072b1d3a7f2c40d4
|
|
BLAKE2b-256 checksum How to use checksums |
a21aeb2befa547d7473e58566c98a67fc0fc9d1b50b05318f8fc7b55d77f92f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Release files / kemas-1.2.1-py3-none-any.whl
| Download URL | kemas-1.2.1-py3-none-any.whl |
|---|---|
| Size | 94.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48b24c6cda2239974ff7a6ae1ed613fad731a19a8496e1abc5c83d3fdfc46f48
|
|
BLAKE2b-256 checksum How to use checksums |
8fcfe4afe650809f4a7d8fee24f16cd49c4370378389b28ce4d6c6ccd6c25c59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|