Skip to main content

Python Build Studio with multi-engine support and BCASL pre-compile pipeline.

Project description

PyCompiler ARK logo

PyCompiler ARK

A Python project build workshop with a Qt GUI, a headless-friendly CLI, a pre-compilation pipeline, and a multi-engine system.


Why this app?

Build Python apps with a predictable workflow, a configurable pre-compile pipeline, and the freedom to choose your build engine.

Core capabilities

  • BCASL pre-compile pipeline: validation, preparation, transformation before the build, with safety controls.
  • Unified EngineRunner architecture: a single source of truth for both CLI and GUI compilation, ensuring identical build results across all interfaces.
  • BuildContext-driven builds: engines receive a normalized project context, abstracting away the source of configuration (YAML vs. Lock files).
  • Multi-engine support: switch between PyInstaller, Nuitka, and cx_Freeze seamlessly.
  • Extensible SDKs: create new engines and BCASL plugins using simplified, consolidated APIs.
  • Core auto-mapping for 80+ libraries: automatic import detection from requirements and imports covers major AI, modern web, data science, and automation stacks, with engine-specific arguments applied through the engine mapping layer.
  • Simplified build inclusions: build.include forces package bundling and ARK translates it automatically per engine.
  • Workspace-first UI: filter files, manage exclusions, and follow progress and logs in one place.
  • Venv-aware execution: engines can use the project virtual environment automatically.
  • Theme-aware dynamic UI: 100% dynamic integration using QPalette and themed SVGs.

Quick Start

Install

git clone https://github.com/raidos23/PyCompiler_ARK.git
cd PyCompiler_ARK
pip install -e .

Launch Gui

pycompiler_ark gui
# or
python -m pycompiler_ark gui

CLI Usage

The PyCompiler ARK CLI provides a structured set of commands for workspace management, building, and developer tasks.

Core Commands

# Workspace Initialization
pycompiler_ark init --entry <path> [--icon <path>] [--with-venv] [--install-requirements] [--generate-requirements] [--apply-internal] [-y|--yes]

# Building
pycompiler_ark build [-y|--yes] [-v|--verbose] [--json]
pycompiler_ark build --engine <id> [-y|--yes]
pycompiler_ark build --lock [file] [-y|--yes]

# Execution
pycompiler_ark run bcasl [-y|--yes] [--list-plugins]

# GUI
pycompiler_ark gui
pycompiler_ark gui --legacy

Developer Commands

# Discovery
pycompiler_ark list engines
pycompiler_ark list plugins

# Configuration
pycompiler_ark set user-engine-dir <path>
pycompiler_ark set user-plugin-dir <path>
pycompiler_ark set dev-engine-dir <path>
pycompiler_ark set dev-plugin-dir <path>

pycompiler_ark get user-engine-dir
pycompiler_ark get user-plugin-dir
pycompiler_ark get dev-engine-dir
pycompiler_ark get dev-plugin-dir

pycompiler_ark unset user-engine-dir
pycompiler_ark unset user-plugin-dir
pycompiler_ark unset dev-engine-dir
pycompiler_ark unset dev-plugin-dir

# Scaffolding
pycompiler_ark scaffold engine <name> [--path <dir>]
pycompiler_ark scaffold plugin-bcasl <name> [--path <dir>]

JSON Output

For CI/CD and scripting, key commands support the --json flag to return machine-readable results:

pycompiler_ark build --json
pycompiler_ark init --entry main.py --json

Documentation


Configuration

  • ark.yml: Project metadata, build entrypoint, build include/exclude rules, and global BCASL activation.
  • bcasl.yml: Detailed BCASL pipeline configuration, plugin settings, and execution order.

License

Apache-2.0 (see LICENSE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycompiler_ark-1.0.1.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycompiler_ark-1.0.1-py3-none-any.whl (4.5 MB view details)

Uploaded Python 3

File details

Details for the file pycompiler_ark-1.0.1.tar.gz.

File metadata

  • Download URL: pycompiler_ark-1.0.1.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pycompiler_ark-1.0.1.tar.gz
Algorithm Hash digest
SHA256 249540ec67110988ccec862e052e8ee3de7f8bf7691ae6af5e1f59314b96ea65
MD5 6b293aeda4682046bd5010a39139a76d
BLAKE2b-256 10f475637f907afcfdc1ed230bdd1c256c863d4a9fc3ec07faa6427269740a80

See more details on using hashes here.

File details

Details for the file pycompiler_ark-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pycompiler_ark-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pycompiler_ark-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1878e166bd9a874a8079943941b30b5d45aa53b09246743dd627db402d5de284
MD5 ec6bf432c89cc8f747f4530a0610b157
BLAKE2b-256 48ab8a2a8626a0b796fee256a5f605a4b26f2a0cf4925c203386246ee99146b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page