Engineering
castella-packaging avatar

castella-packaging

Package Castella UI applications into cross-platform executables, macOS app bundles, or installers using ux, PyInstaller, or Nuitka. Includes code signing and notarization support.

Introduction

The castella-packaging skill provides AI agents with the capability to transform pure Python Castella UI projects into production-ready distributable formats. This skill is essential for developers aiming to release desktop or cross-platform applications without requiring end users to manually manage Python environments. It acts as an interface for robust packaging tools, primarily focusing on 'ux' for streamlined workflows, while offering flexibility through PyInstaller and Nuitka for specialized compilation needs.

  • Streamlined bundling using the 'ux' tool, which leverages 'uv' to create isolated, zero-dependency executable binaries for macOS, Linux, and Windows.

  • Native macOS app bundle generation, supporting essential security and distribution steps like code signing, DMG creation, and Apple notarization services.

  • Cross-compilation support across major architectures (darwin-x86_64, darwin-aarch64, linux-x86_64, linux-aarch64, windows-x86_64).

  • Configuration management via 'pyproject.toml', allowing developers to define entry points, include assets, and customize platform-specific metadata like bundle identifiers and icons.

  • Support for alternative compilation strategies, including PyInstaller for one-file builds and Nuitka for compiling Python code into optimized native binaries.

  • The skill is intended for automated CI/CD pipelines or interactive development sessions where the user requests a 'bundle', 'executable', or 'distributable'.

  • Primary inputs include the project path and the desired target platform/format; outputs are typically the generated binary artifacts located in a specified output directory.

  • Users should ensure their environment is configured with 'uv' and the necessary development dependencies. For complex macOS distribution, valid developer certificates must be present for successful notarization.

  • Constraints include platform-specific compilation limitations (e.g., cross-compiling to macOS requires specific host configurations) and the need for consistent dependency management to ensure the packaged app reflects the current state of the codebase.

Repository Stats

Stars
42
Forks
1
Open Issues
0
Language
Python
Default Branch
main
Sync Status
Idle
Last Synced
May 3, 2026, 03:27 PM
View on GitHub