Metadata-Version: 2.4
Name: compylr
Version: 1.0.0
Summary: A modern GUI desktop app to compile Python scripts to Windows executables using Nuitka
Author: Thisal-D
License: Copyright (c) 2024 The Python Packaging Authority
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
Project-URL: homepage, https://github.com/Thisal-D/compylr
Project-URL: repository, https://github.com/Thisal-D/compylr
Project-URL: issues, https://github.com/Thisal-D/compylr/issues
Keywords: nuitka,compiler,exe,executable,python,gui,customtkinter,build,packager,windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: Microsoft :: Windows
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Desktop Environment
Classifier: License :: OSI Approved :: MIT License
Classifier: Environment :: Win32 (MS Windows)
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: customtkinter>=5.2.0
Requires-Dist: nuitka>=2.0
Requires-Dist: pillow>=10.0.0
Dynamic: license-file

<div align="center">
    <img src="https://raw.githubusercontent.com/Thisal-D/compylr/feature/ui-modernization/readme-assets/logo.png" alt="Compylr Logo" width="180"/>

# Compylr

_A modern, powerful, and intuitive GUI for transforming Python scripts into standalone executables using Nuitka._

![Python Version](https://img.shields.io/badge/Python-3.8%2B-blue)
![CustomTkinter](https://img.shields.io/badge/UI-CustomTkinter-blueviolet)
![Nuitka](https://img.shields.io/badge/Compiler-Nuitka-brightgreen)
![License](https://img.shields.io/badge/License-MIT-gray)

</div>

## 📌 Overview

Compylr takes the complexity out of compiling Python applications. It provides a sleek, modern user interface built with CustomTkinter that lets you configure Nuitka's powerful compilation options visually. No more memorizing long command-line flags — just point, click, and build.

## ✨ Features

- **Modern & Responsive UI**: Fully redesigned using CustomTkinter with dark and light mode support.
- **Visual Configuration**: Configure build modes, output settings, windows options, metadata, and data files through an intuitive sidebar menu.
- **Live Command Preview**: See the exact Nuitka command being generated in real-time.
- **Integrated Terminal**: View color-coded compilation progress, warnings, and errors directly inside the app.
- **Smart Troubleshooting**: Automatically suggests fixes for common compilation errors (e.g., corrupted caches, missing modules).
- **Clean Build Support**: One-click option to safely clean old `.build` and `.dist` directories before recompiling.

## 📸 Screenshots

### 1. Compilation Mode & Output Settings

<img alt="1a" src="https://raw.githubusercontent.com/Thisal-D/compylr/feature/ui-modernization/readme-assets/1a.png" />

### 2. Windows Options & Version Metadata

<img alt="2a" src="https://raw.githubusercontent.com/Thisal-D/compylr/feature/ui-modernization/readme-assets/2a.png" />

### 3. Compiler & Build Options

<img alt="3a" src="https://raw.githubusercontent.com/Thisal-D/compylr/feature/ui-modernization/readme-assets/3a.png" />

### 4. Python Flags & Package Inclusions

<img alt="4a" src="https://raw.githubusercontent.com/Thisal-D/compylr/feature/ui-modernization/readme-assets/4a.png" />

### 5. Plugins & Data Files

<img alt="5a" src="https://raw.githubusercontent.com/Thisal-D/compylr/feature/ui-modernization/readme-assets/5a.png" />

### 6. Compiler Terminal & Live Build

<img alt="6a" src="https://raw.githubusercontent.com/Thisal-D/compylr/feature/ui-modernization/readme-assets/6a.png" />

## 🚀 Installation

Install Compylr directly using `pip`:

```bash
pip install compylr
```

### Requirements

- Python 3.8+
- C Compiler (MinGW64 or MSVC on Windows) — required by Nuitka for compilation.

## 💻 Usage

Launch the application directly from your terminal:

```bash
compylr
```

1. **Select Script**: Browse for the `.py` file you want to compile.
2. **Select Interpreter**: (Optional) Pick a specific Python executable to run Nuitka.
3. **Configure Options**: Navigate through the sidebar sections (Compilation Mode, Windows Options, Plugins, etc.) to set your desired flags.
4. **Build**: Go to the **Build** section and click `🚀 Build Executable`.

## 📁 Project Structure

```text
compylr/
├── src/
│   └── compylr/
│       ├── logo/              # Window icon and branding logo assets
│       │   ├── logo.ico
│       │   └── logo.png
│       ├── __init__.py
│       ├── main.py            # Application entry point
│       ├── app.py             # Main CustomTkinter application and layout
│       ├── widgets.py         # Custom reusable UI components
│       ├── theme.py           # Color palettes and font definitions
│       └── nuitka_options.py  # Definition of all Nuitka flags and groups
├── readme-assets/             # Screenshots and README header logo assets
├── requirements.txt           # Python dependencies
├── pyproject.toml             # Pyproject settings metadata
├── LICENSE                    # MIT License file
└── README.md                  # This file
```

## 🛠 Technologies Used

- **[Python](https://www.python.org/)** - Core programming language
- **[CustomTkinter](https://customtkinter.tomschimansky.com/)** - Modern UI framework
- **[Nuitka](https://nuitka.net/)** - The Python compiler

## 🔮 Future Improvements

- Profile management (save and load compilation profiles for different projects).
- Direct compilation to macOS and Linux formats (when supported on host).
- Integrated dependency analyzer.

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/Thisal-D/compylr/issues).

## 📝 License

This project is [MIT](https://github.com/Thisal-D/compylr/blob/feature/ui-modernization/LICENSE) licensed.

---

<div align="center">
  Made with ❤️ by <a href="https://github.com/Thisal-D">Thisal</a>
</div>
