Skip to content

Commit 3ae6b36

Browse files
author
PyCompiler ARK++
committed
Remove ACASL core files and related functionality
- Deleted the `__init__.py`, `executor.py`, and `tagging.py` files, which contained the core logic for the ACASL plugin system, including plugin management, execution, and tagging priority. - Updated documentation to reflect the removal of the `get_output_directory()` method and clarified that ACASL handles directory opening. - Removed references to opening output directories from engine implementations, ensuring that ACASL is solely responsible for this functionality.
1 parent a13a1ba commit 3ae6b36

14 files changed

Lines changed: 166 additions & 2323 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ jobs:
4141
run: ruff format --check .
4242

4343
- name: Mypy (type check)
44-
run: mypy --config-file pyproject.toml utils API_SDK engine_sdk bcasl acasl
44+
run: mypy --config-file pyproject.toml utils API_SDK engine_sdk bcasl
4545

4646
- name: Bandit (security)
47-
run: bandit -r utils API_SDK engine_sdk bcasl acasl -f json -o bandit-report.json
47+
run: bandit -r utils API_SDK engine_sdk bcasl -f json -o bandit-report.json
4848

4949
- name: pip-audit (dependencies)
5050
if: hashFiles('requirements.txt') != ''
@@ -109,7 +109,7 @@ jobs:
109109
pip install mypy
110110
111111
- name: MyPy type check
112-
run: mypy --config-file pyproject.toml utils API_SDK engine_sdk bcasl acasl
112+
run: mypy --config-file pyproject.toml utils API_SDK engine_sdk bcasl
113113

114114
tests:
115115
name: Tests
@@ -135,7 +135,7 @@ jobs:
135135
- name: Run tests with pytest
136136
run: |
137137
if [ -d tests ]; then
138-
python -m pytest tests/ -v --tb=short --cov=utils --cov=API_SDK --cov=engine_sdk --cov=bcasl --cov=acasl --cov-report=xml --cov-report=term-missing
138+
python -m pytest tests/ -v --tb=short --cov=utils --cov=API_SDK --cov=engine_sdk --cov=bcasl --cov-report=xml --cov-report=term-missing
139139
else
140140
echo "No tests directory found, skipping tests"
141141
fi

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,4 +212,4 @@ tests/
212212
.pref
213213
.pycompiler/
214214
bcasl.json
215-
acasl.json
215+
# acasl.json removed

CONTRIBUTING.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ Accepted types:
137137

138138
Examples:
139139
```
140-
feat(acasl): add Windows code signing support
141140
fix(bcasl): fix plugin loading on macOS
142141
docs(api): update API SDK documentation
143142
```
@@ -294,7 +293,6 @@ Reviewers will check:
294293
### Plugins
295294

296295
- BCASL plugins
297-
- ACASL plugins
298296
- Compilation engines
299297
- Core Exetensions
300298
- UI themes
@@ -311,7 +309,6 @@ Reviewers will check:
311309
### Documentation
312310
- [About SDKs](docs/about_sdks.md) - Overview of available SDKs
313311
- [Create a Building Engine](docs/how_to_create_a_building_engine.md) - Engine development guide
314-
- [Create an ACASL Plugin](docs/how_to_create_an_acasl_plugin.md) - Post-compile plugin guide
315312
- [Create a BCASL Plugin](docs/how_to_create_a_bcasl_plugin.md) - Pre-compile plugin guide
316313

317314

ENGINES/cx_freeze/engine.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1326,7 +1326,6 @@ def g(key: str) -> Optional[str]:
13261326

13271327
def on_success(self, gui, file: str) -> None:
13281328
"""Action post-succès: ouvrir le dossier de sortie cx_Freeze si identifiable.
1329-
Le hook est exécuté après ACASL (défini dans mainprocess.py).
13301329
"""
13311330
try:
13321331
out_dir = None

ENGINES/nuitka/engine.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,6 @@ def create_tab(self, gui):
431431

432432
def on_success(self, gui, file: str) -> None:
433433
"""Action post-succès: ouvrir le dossier de sortie Nuitka si identifiable.
434-
Le hook est exécuté après ACASL (déclenché par mainprocess.py).
435434
"""
436435
try:
437436
# Priorité: champ UI dédié si présent (nuitka_output_dir)

Plugins/Packaging/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ def _load_lang(c: str) -> bool:
170170
self._lang_data = {}
171171

172172

173-
# enregistrement automatique du plugin dans le registre de Acasl
173+
# Enregistrement automatique du plugin dans le registre
174174
PLUGIN = Packaging(META)
175175

176176

Plugins_SDK/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@
2929
# Expose uniquement les sous-packages pour éviter les imports précoces
3030
# Les Context concrets (Ac/Bc) sont disponibles dans leurs sous-modules respectifs.
3131

32-
from . import AcPluginContext as AcPluginContext # noqa: F401
32+
# from . import AcPluginContext as AcPluginContext # noqa: F401 # ACASL removed
3333
from . import BcPluginContext as BcPluginContext # noqa: F401
3434
from . import GeneralContext as GeneralContext # noqa: F401
3535

3636

3737
__all__ = [
38-
"AcPluginContext",
38+
# "AcPluginContext", # ACASL removed
3939
"BcPluginContext",
4040
"GeneralContext",
4141
]

README.md

Lines changed: 157 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,183 @@
11
# 🚀 PyCompiler ARK++
22

3-
> **Comprehensive Python compilation toolkit** with modular architecture, security features, and extensible plugin system.
3+
> Comprehensive Python compilation toolkit with modular architecture, security features, and extensible plugin 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)
66
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
77
[![GitHub Sponsors](https://img.shields.io/github/sponsors/raidos23?label=Sponsor&logo=github)](https://github.com/sponsors/raidos23)
88

99
## 🎯 Key Features
1010

11-
### 🔧 **Modular Plugin System**
12-
- **BCASL**: Pre-compilation plugins for validation, preparation, and code transformation
13-
- **ACASL**: Post-compilation automation (packaging, signing, publishing)
14-
- **Sandboxed execution** with isolated environments
15-
- **Dependency management** with topological sorting
16-
- **Parallel execution** for independent plugins
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
1716

18-
### 🏭 **Multi-Engine Compilation**
19-
- **PyInstaller**: Standard Python compilation with advanced options
20-
- **Nuitka**: High-performance compilation with optimization flags
21-
- **cx_Freeze**: Cross-platform support with minimal configuration
22-
- **Extensible architecture**: Add custom compilation engines
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
2322

24-
### 🛠️ **Developer-Friendly SDKs**
25-
- **Plugins_SDK**: Complete plugin development framework
26-
- **Progress tracking**: Non-blocking UI updates with detailed metrics
27-
- **Context management**: Secure workspace and resource handling
28-
- **Internationalization**: Async i18n with plugin overlay support
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
2928

30-
## 🏗️ **Architecture Overview**
29+
## 🏗️ Architecture Overview
3130

3231
PyCompiler ARK++ provides a modular, extensible platform for Python compilation with comprehensive tooling and security features.
3332

34-
### **Core Components**
33+
### Core Components
3534

36-
#### 🔧 **BCASL (Before Compilation Advanced System Loader)**
37-
- **Pre-compilation plugins** for validation, preparation, and code transformation
38-
- **Location**: `Plugins/BCASL/`
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
3942

40-
#### 🔧 **ACASL (After Compilation Advanced System Loader)**
41-
- **Post-compilation automation** for packaging, signing, and deployment
42-
- **Location**: `Plugins/ACASL/`
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
4348

44-
#### 🏭 **Compilation Engines**
45-
- Modular engine system with SDK for custom engines
46-
- **Location**: `Core/Engines/`
49+
- Built-in plugins: Code signing, SBOM generation, integrity checking
50+
- Isolated execution environment with audit logging
51+
- CI/CD integration and automated workflows
4752

4853
## 🚀 Quick Start
4954

5055
```bash
5156
git clone https://github.com/raidos23/PyCompiler-ARK-Professional.git
5257
cd PyCompiler-ARK-Professional
5358
python -m venv .venv
54-
source .venv/bin/activate # ou .venv\Scripts\activate sur Windows
59+
source .venv/bin/activate # Linux/macOS
60+
# or
61+
.venv\Scripts\activate # Windows
62+
5563
pip install -r requirements.txt -c constraints.txt
56-
python main.py
64+
65+
# Install development tools (optional)
66+
pip install -e ".[dev]"
67+
68+
# Setup pre-commit hooks (recommended)
69+
pre-commit install
70+
```
71+
72+
### Basic Usage
73+
74+
```bash
75+
# Run the GUI application
76+
python main.py
77+
78+
# Or use the command-line interface
79+
python -m pycompiler_ark --help
80+
```
81+
82+
### Development Setup
83+
84+
```bash
85+
# Install all development dependencies
86+
pip install -e ".[dev,security,docs]"
87+
88+
# Run quality checks
89+
ruff check . # Linting
90+
black --check . # Formatting
91+
mypy . # Type checking
92+
bandit -r . # Security scanning
93+
94+
# Run tests with coverage
95+
pytest --cov=Core --cov=Plugins_SDK --cov=engine_sdk --cov=bcasl
96+
```
97+
98+
## 🌍 Platform Support
99+
100+
### Officially Supported Platforms
101+
| Platform | Versions | Architecture | Status |
102+
|----------|----------|--------------|--------|
103+
| Ubuntu | 20.04, 22.04, 24.04 LTS | x64 | ✅ Fully Supported |
104+
| Windows | 10, 11 | x64 | ✅ Fully Supported |
105+
106+
### Not Supported
107+
- macOS: Not officially supported (code contains macOS-specific utilities for future compatibility, but no active support)
108+
109+
### Python Versions
110+
- 3.10: ✅ Minimum supported version
111+
- 3.11: ✅ Recommended (performance optimizations)
112+
- 3.12: ✅ Latest stable support
113+
- 3.13: 🧪 Experimental support
114+
115+
See [SUPPORTED_MATRIX.md](SUPPORTED_MATRIX.md) for detailed compatibility information.
116+
117+
## 📚 Documentation
118+
119+
### User Guides
120+
- [About SDKs](docs/about_sdks.md) - Overview of available SDKs
121+
- [Create a Building Engine](docs/how_to_create_an_engine.md) - Engine development guide
122+
- [Create a BC Plugin](docs/how_to_create_a_BC_plugin.md) - Pre-compile plugin guide
123+
124+
### Developer Documentation
125+
- [Contributing](CONTRIBUTING.md) - How to contribute to the project
126+
127+
### Operations
128+
- [Support Matrix](SUPPORTED_MATRIX.md) - Platform and version support
129+
130+
## 🤝 Contributing
131+
132+
We welcome contributions from the community! PyCompiler ARK++ follows structured development practices.
133+
134+
### Development Process
135+
1. Fork the repository and create a feature branch
136+
2. Develop with pre-commit hooks ensuring quality
137+
3. Test across supported platforms and Python versions
138+
4. Document changes and update relevant guides
139+
5. Submit a pull request with comprehensive description
140+
141+
### Quality Standards
142+
- Code Coverage: Minimum 80% for new features
143+
- Type Hints: Required for all public APIs
144+
- Security Review: Automated and manual security checks
145+
- Documentation: User and developer documentation updates
146+
- Testing: Unit, integration, and security tests
147+
148+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
149+
150+
## 📄 License
151+
152+
This project is licensed under the **Apache License 2.0**.
153+
154+
## 🆘 Support
155+
156+
### Community Support
157+
- GitHub Issues: Bug reports and feature requests
158+
- GitHub Discussions: Community questions and ideas
159+
- Documentation: Comprehensive guides and references
160+
161+
### Security Issues
162+
For security vulnerabilities, please follow our Security Policy:
163+
- Email: ague.samuel27@gmail.com
164+
165+
## 🎉 What's New
166+
167+
PyCompiler ARK++ represents a comprehensive upgrade with:
168+
169+
### Key Improvements
170+
- Modular architecture: Extensible plugin system with BCASL
171+
- Enhanced security: Comprehensive scanning and code signing
172+
- Complete documentation: Guides for all major features
173+
- Modern tooling: Latest Python practices and tools
174+
- Multi-platform support: Ubuntu, Windows
175+
176+
### Breaking Changes
177+
- Python 3.10+: Dropped support for Python 3.9 and below
178+
- New plugin system: BCASL replaces legacy plugin architecture
179+
- Enhanced APIs: Backward compatibility with deprecation warnings
180+
181+
---
182+
183+
PyCompiler ARK++ — Comprehensive Python compilation toolkit with modular architecture and security features.

0 commit comments

Comments
 (0)