### Run PyCrucible to Package Project Source: https://pycrucible.razorblade23.dev/latest/usage This command initiates the PyCrucible packaging process for a specified project. It requires the path to the project's main file or directory. The output will be a launcher executable. ```shell crucible -e /path/to/my/project ``` -------------------------------- ### Build PyCrucial from Source using Rust Source: https://pycrucible.razorblade23.dev/latest/installation Compiles PyCrucial from its source code using Rust and Cargo. This method requires Rust to be installed on your system. ```bash git clone https://github.com/razorblade23/PyCrucible cd PyCrucible cargo build --release ``` -------------------------------- ### Install PyCrucial using PIP Source: https://pycrucible.razorblade23.dev/latest/installation Installs PyCrucible using the pip package manager. This is the simplest method and requires pip to be installed. ```bash pip install pycrucible ``` -------------------------------- ### Configure PyCrucible Hooks Source: https://pycrucible.razorblade23.dev/latest/configuration Defines python scripts to execute before ('pre_run') or after ('post_run') the main application. Useful for setup and cleanup tasks. ```toml [tool.pycrucible.hooks] pre_run = "some_script.py" post_run = "some_other_script.py" ``` ```toml [tool.pycrucible.hooks] pre_run = "some_script.py" post_run = "some_other_script.py" ``` -------------------------------- ### PyCrucible Packaging Options Source: https://pycrucible.razorblade23.dev/latest/usage These are additional command-line options to customize PyCrucible's packaging behavior. They control aspects like output file naming, the path to the 'uv' executable, temporary directory extraction, and debugging. ```shell -o, --output Sets the output path and filename (default: `./launcher` or `./launcher.exe`) ``` ```shell --uv-path Path to `uv` executable. If not found, it will be downloaded automatically [default: `.`] ``` ```shell --extract-to-temp Extract Python project to a temporary directory when running ``` ```shell --debug Enable debug output ``` ```shell -h, --help Print help ``` ```shell -V, --version Print version ``` -------------------------------- ### Configure PyCrucible Entrypoint Source: https://pycrucible.razorblade23.dev/latest/configuration Sets the main script to be executed by PyCrucible. Supports both 'entrypoint' and 'entry' keys. This is a required configuration. ```toml [tool.pycrucible] entrypoint = "src/main.py" # or entry = "src/main.py" ``` ```toml [tool.pycrucible] entrypoint = "src/main.py" # or entry = "src/main.py" ``` -------------------------------- ### Configure PyCrucible Source Repository Source: https://pycrucible.razorblade23.dev/latest/configuration Sets the GitHub repository for the auto-update feature. Currently supports public repositories and defines the branch and update strategy. ```toml [tool.pycrucible.source] repository = "https://github.com/username/repo" branch = "main" update_strategy = "pull" ``` ```toml [tool.pycrucible.source] repository = "https://github.com/username/repo" branch = "main" update_strategy = "pull" ``` -------------------------------- ### Configure PyCrucible File Patterns Source: https://pycrucible.razorblade23.dev/latest/configuration Specifies files to include and exclude from bundling using GLOB patterns. Essential for controlling the final application package size and contents. ```toml [tool.pycrucible.patterns] include = [ "**/*.py", ] exclude = [ "**/__pycache__/**", ] ``` ```toml patterns.include = [ "**/*.py", ] patterns.exclude = [ ".venv/**/*", "**/__pycache__/**", ".git/**/*", "**/*.pyc", "**/*.pyo", "**/*.pyd" ] ``` -------------------------------- ### Configure PyCrucible Runtime Options Source: https://pycrucible.razorblade23.dev/latest/configuration Defines runtime behavior for the final executable, such as enabling debug mode or temporary file extraction. These are optional settings. ```toml [tool.pycrucible.options] debug = false extract_to_temp = false delete_after_run = false ``` ```toml [tool.pycrucible.options] debug = false extract_to_temp = false delete_after_run = false ``` -------------------------------- ### Configure PyCrucible Environment Variables Source: https://pycrucible.razorblade23.dev/latest/configuration Injects environment variables into the running process. Useful for setting configuration flags or paths required by the application. ```toml [tool.pycrucible.env] PYTHONPATH = "src" DEBUG = "1" APP_ENV = "development" ``` ```toml [tool.pycrucible.env] PYTHONPATH = "src" DEBUG = "1" APP_ENV = "development" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.