Skip to content

Commit 032bbea

Browse files
committed
Update README.md with new features, architecture, and usage information
1 parent c54dc7c commit 032bbea

1 file changed

Lines changed: 93 additions & 165 deletions

File tree

README.md

Lines changed: 93 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,35 @@
1-
# 🚀 PyCompiler ARK++
1+
# PyCompiler ARK++
22

3-
> Comprehensive Python compilation toolkit with modular architecture, security features, and extensible plugin system.
3+
A Qt‑based workshop to compile Python projects with a **pre‑compilation plugin pipeline (BCASL)** and a **multi‑engine system**.
44

55
[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
6-
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
6+
[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
77

8+
## ✨ Signature Capabilities
89

9-
## 🎯 Key Features
10+
- **BCASL (Before Compilation Advanced System Loader)**
11+
- Pre‑compile plugins: validation, preparation, transformation
12+
- Ordering + dependencies, sandboxed execution, timeouts
13+
- Optional parallelism for independent plugins
1014

11-
### 🔧 Modular Plugin System
12-
- BCASL: Pre-compilation plugins for validation, preparation, and code transformation
13-
- Sandboxed execution with isolated environments
14-
- Dependency management with topological sorting
15-
- Parallel execution for independent plugins
15+
- **Multi‑engine compilation**
16+
- **PyInstaller**, **Nuitka**, **cx_Freeze**
17+
- Extensible architecture via `ENGINES/`
1618

17-
### 🏭 Multi-Engine Compilation
18-
- PyInstaller: Standard Python compilation with advanced options
19-
- Nuitka: High-performance compilation with optimization flags
20-
- cx_Freeze: Cross-platform support with minimal configuration
21-
- Extensible architecture: Add custom compilation engines
19+
- **Workspace‑oriented UI workflow**
20+
- Select workspace + files
21+
- File filtering, exclusions via `ARK_Main_Config.yml`
22+
- Integrated logs and progress
2223

23-
### 🛠️ Developer-Friendly SDKs
24-
- Plugins_SDK: Complete plugin development framework
25-
- Progress tracking: Non-blocking UI updates with detailed metrics
26-
- Context management: Secure workspace and resource handling
27-
- Internationalization: Async i18n with plugin overlay support
24+
- **Dedicated tools**
25+
- **BCASL Standalone** (plugin manager)
26+
- **Engines Standalone** (engine manager)
2827

29-
## 🏗️ Architecture Overview
28+
- **Customization**
29+
- QSS themes (`themes/`)
30+
- Translations (`languages/`)
3031

31-
PyCompiler ARK++ provides a modular, extensible platform for Python compilation with comprehensive tooling and security features.
32-
33-
### Core Components
34-
35-
#### 🔧 BCASL (Before Compilation Advanced System Loader)
36-
- Pre-compilation plugins for validation, preparation, and code transformation
37-
- Location: `Plugins/<plugin_id>/` with `__init__.py`
38-
- Sandboxed execution with resource limits and timeouts
39-
- Type-checked interfaces with comprehensive error handling
40-
- Dependency resolution with topological sorting
41-
- Parallel execution for independent plugins
42-
43-
#### 🏭 Multi-Engine Compilation
44-
- PyInstaller: Industry-standard with advanced options and auto-plugin detection
45-
- Nuitka: High-performance compilation with optimization flags
46-
- cx_Freeze: Cross-platform support with minimal configuration
47-
- Extensible: Plugin architecture for additional compilation engines
48-
49-
- Built-in plugins: Code signing, SBOM generation, integrity checking
50-
- Isolated execution environment with audit logging
51-
- CI/CD integration and automated workflows
32+
---
5233

5334
## 🚀 Quick Start
5435

@@ -62,170 +43,117 @@ source .venv/bin/activate # Linux/macOS
6243
# or
6344
.venv\Scripts\activate # Windows
6445

65-
pip install -r requirements.txt -c constraints.txt
66-
67-
# Install Click for enhanced CLI (optional but recommended)
68-
pip install click
69-
70-
# Install development tools (optional)
71-
pip install -e ".[dev]"
72-
73-
# Setup pre-commit hooks (recommended)
74-
pre-commit install
46+
pip install -r requirements.txt
7547
```
7648

77-
### Basic Usage
78-
79-
#### GUI Application
49+
### Launch the Main App
8050

8151
```bash
82-
# Run the main GUI application
83-
python main.py
84-
85-
# Or via pycompiler_ark.py
8652
python pycompiler_ark.py
53+
# or
54+
python -m pycompiler_ark
8755
```
8856

89-
#### Command-Line Interface
57+
### CLI Entry (same binary)
9058

9159
```bash
92-
# Show help
9360
python pycompiler_ark.py --help
94-
95-
# Show version
9661
python pycompiler_ark.py --version
62+
python pycompiler_ark.py --info
9763

98-
# Launch main application
99-
python pycompiler_ark.py main
100-
101-
# Launch BCASL standalone (plugin manager)
64+
# BCASL standalone (GUI)
10265
python pycompiler_ark.py bcasl
10366
python pycompiler_ark.py bcasl /path/to/workspace
10467

105-
# Launch Engines standalone (compilation engine manager)
68+
# Engines standalone (GUI)
10669
python pycompiler_ark.py engines
10770
python pycompiler_ark.py engines /path/to/workspace
108-
python pycompiler_ark.py engines --dry-run # List available engines
71+
python pycompiler_ark.py engines --dry-run
10972
```
11073

111-
#### BCASL Standalone Module
112-
113-
```bash
114-
# Launch BCASL directly
115-
python -m bcasl.only_mod
116-
117-
# Launch with workspace
118-
python -m bcasl.only_mod /path/to/workspace
119-
python -m bcasl.only_mod .
120-
```
74+
---
12175

122-
### Development Setup
76+
## 🧭 Workflow (4 steps)
12377

124-
```bash
125-
# Install all development dependencies
126-
pip install -e ".[dev,security,docs]"
78+
1. **Select a workspace**
79+
2. **Add / filter files** to compile
80+
3. **Configure the engine** (PyInstaller / Nuitka / cx_Freeze)
81+
4. **Build** and follow logs + progress
12782

128-
# Run quality checks
129-
ruff check . # Linting
130-
black --check . # Formatting
131-
mypy . # Type checking
132-
bandit -r . # Security scanning
83+
---
13384

134-
# Run tests with coverage
135-
pytest --cov=Core --cov=Plugins_SDK --cov=engine_sdk --cov=bcasl
85+
## 🔁 BCASL Pipeline (quick view)
86+
87+
```text
88+
Workspace
89+
90+
├─ Load bcasl.yml
91+
├─ Discover plugins (Plugins/)
92+
├─ Enable / order / priorities
93+
├─ Sandboxed execution (timeouts, optional parallelism)
94+
95+
Compilation (PyInstaller / Nuitka / cx_Freeze)
13696
```
13797

138-
## 🌍 Platform Support
98+
---
13999

140-
### Officially Supported Platforms
141-
| Platform | Versions | Architecture | Status |
142-
|----------|----------|--------------|--------|
143-
| Ubuntu | 20.04, 22.04, 24.04 LTS | x64 | ✅ Fully Supported |
144-
| Windows | 10, 11 | x64 | ✅ Fully Supported |
100+
## 🧩 BCASL Standalone (Plugins)
145101

146-
### Not Supported
147-
- macOS: Not officially supported (code contains macOS-specific utilities for future compatibility, but no active support)
102+
```bash
103+
python -m OnlyMod.BcaslOnlyMod --gui
104+
python -m OnlyMod.BcaslOnlyMod --list-plugins
105+
python -m OnlyMod.BcaslOnlyMod --run --workspace /path/to/workspace
106+
```
148107

149-
### Python Versions
150-
- 3.10: ✅ Minimum supported version
151-
- 3.11: ✅ Recommended (performance optimizations)
152-
- 3.12: ✅ Latest stable support
153-
- 3.13: 🧪 Experimental support
108+
## ⚙️ Engines Standalone
154109

155-
See [SUPPORTED_MATRIX.md](SUPPORTED_MATRIX.md) for detailed compatibility information.
110+
```bash
111+
python -m OnlyMod.EngineOnlyMod
112+
python -m OnlyMod.EngineOnlyMod --list-engines
113+
python -m OnlyMod.EngineOnlyMod --check-compat nuitka
114+
python -m OnlyMod.EngineOnlyMod --engine nuitka -f script.py --dry-run
115+
```
156116

157-
## 📚 Documentation
117+
---
158118

159-
### User Guides
160-
- [About SDKs](docs/About_Sdks.md) - Overview of available SDKs
161-
- [Create a Building Engine](docs/how_to_create_an_engine.md) - Engine development guide
162-
- [Create a BC Plugin](docs/how_to_create_a_BC_plugin.md) - Pre-compile plugin guide
163-
- [BCASL Configuration](docs/BCASL_Configuration.md) - BCASL plugin system configuration
119+
## 📝 Configuration
164120

165-
### BCASL Standalone Module
166-
- [BCASL Standalone README](bcasl/only_mod/README.md) - Complete BCASL standalone documentation
121+
- **`ARK_Main_Config.yml`** (workspace root)
122+
- Inclusion/exclusion patterns
123+
- Plugin options (BCASL)
167124

168-
### Engines Standalone Module
169-
- [Engines Standalone README](Core/engines_loader/engines_only_mod/README.md) - Complete Engines standalone documentation
125+
- **`bcasl.yml`** (workspace root)
126+
- Enable/disable plugins
127+
- Order and timeouts
170128

171-
### Developer Documentation
172-
- [Contributing](CONTRIBUTING.md) - How to contribute to the project
173-
- [ARK Configuration](docs/ARK_Configuration.md) - Main application configuration
129+
---
174130

175-
### Operations
176-
- [Support Matrix](SUPPORTED_MATRIX.md) - Platform and version support
131+
## 🗂️ Project Layout
177132

178-
## 🤝 Contributing
133+
- `Core/` — main UI logic
134+
- `ENGINES/` — built‑in engines
135+
- `EngineLoader/` — discovery/registry
136+
- `Plugins/` — BCASL plugins
137+
- `Plugins_SDK/` — plugin SDK
138+
- `bcasl/` — BCASL core
139+
- `OnlyMod/` — standalone tools (BCASL / Engines)
140+
- `ui/` — Qt Designer UI
141+
- `languages/` — translations
142+
- `themes/` — QSS themes
179143

180-
We welcome contributions from the community! PyCompiler ARK++ follows structured development practices.
144+
---
181145

182-
### Development Process
183-
1. Fork the repository and create a feature branch
184-
2. Develop with pre-commit hooks ensuring quality
185-
3. Test across supported platforms and Python versions
186-
4. Document changes and update relevant guides
187-
5. Submit a pull request with comprehensive description
146+
## 🧪 Development
188147

189-
### Quality Standards
190-
- Code Coverage: Minimum 80% for new features
191-
- Type Hints: Required for all public Plugins
192-
- Security Review: Automated and manual security checks
193-
- Documentation: User and developer documentation updates
194-
- Testing: Unit, integration, and security tests
148+
```bash
149+
ruff check .
150+
black --check .
151+
mypy .
152+
pytest
153+
```
195154

196-
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
155+
---
197156

198157
## 📄 License
199158

200-
This project is licensed under the **Apache License 2.0**.
201-
202-
## 🆘 Support
203-
204-
### Community Support
205-
- GitHub Issues: Bug reports and feature requests
206-
- GitHub Discussions: Community questions and ideas
207-
- Documentation: Comprehensive guides and references
208-
209-
### Security Issues
210-
For security vulnerabilities, please follow our Security Policy:
211-
- Email: ague.samuel27@gmail.com
212-
213-
## 🎉 What's New
214-
215-
PyCompiler ARK++ represents a comprehensive upgrade with:
216-
217-
### Key Improvements
218-
- Modular architecture: Extensible plugin system with BCASL
219-
- Enhanced security: Comprehensive scanning and code signing
220-
- Complete documentation: Guides for all major features
221-
- Modern tooling: Latest Python practices and tools
222-
- Multi-platform support: Ubuntu, Windows
223-
224-
### Breaking Changes
225-
- Python 3.10+: Dropped support for Python 3.9 and below
226-
- New plugin system: BCASL replaces legacy plugin architecture
227-
- Enhanced Plugins: Backward compatibility with deprecation warnings
228-
229-
---
230-
231-
PyCompiler ARK++ — Comprehensive Python compilation toolkit with modular architecture and security features.
159+
Apache‑2.0 (see `LICENSE`).

0 commit comments

Comments
 (0)