|
1 | 1 | # 🚀 PyCompiler ARK++ |
2 | 2 |
|
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. |
4 | 4 |
|
5 | 5 | [](http://www.apache.org/licenses/LICENSE-2.0) |
6 | 6 | [](https://www.python.org/downloads/) |
7 | 7 | [](https://github.com/sponsors/raidos23) |
8 | 8 |
|
9 | 9 | ## 🎯 Key Features |
10 | 10 |
|
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 |
17 | 16 |
|
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 |
23 | 22 |
|
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 |
29 | 28 |
|
30 | | -## 🏗️ **Architecture Overview** |
| 29 | +## 🏗️ Architecture Overview |
31 | 30 |
|
32 | 31 | PyCompiler ARK++ provides a modular, extensible platform for Python compilation with comprehensive tooling and security features. |
33 | 32 |
|
34 | | -### **Core Components** |
| 33 | +### Core Components |
35 | 34 |
|
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 |
39 | 42 |
|
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 |
43 | 48 |
|
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 |
47 | 52 |
|
48 | 53 | ## 🚀 Quick Start |
49 | 54 |
|
50 | 55 | ```bash |
51 | 56 | git clone https://github.com/raidos23/PyCompiler-ARK-Professional.git |
52 | 57 | cd PyCompiler-ARK-Professional |
53 | 58 | 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 | + |
55 | 63 | 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