- Collects all python (.py) files recursively from the specified
sourcefolder. - Uses
CLRto compile to a.ghpy(or.dll) binary. - Outputs
nameof the compiled binary (without file extension)full-nameof the compiled binary.buildof the compiled binary for downstream use.
- uses: thekaushikls/make-ghpy@v1.0.1
with:
source: src
package-name: my_plugin
version: 0.0.1
type: ghpy
ironpython: true
See test_action.yml for example.
- uses: thekaushikls/make-ghpy@v1.0.1
with:
# Root folder for python source.
source: ''
# Name of the compiled binary / plugin.
package-name: ''
# Version tag to add with name. For example: v0.0.1
# Can also add version from tag. For example, ${{ github.ref_name }}
version: ''
# (Optional) Specifies file type of the compiled binary. Can be 'ghpy' / 'dll'
# Default: 'ghpy'
type: ''
# (Optional) If true, installs IronPython v2.7.12 internally.
# Default: false
ironpython: ""
The motivation comes from my previous script where I compile Grasshopper-Python .ghpy plugins outside Rhino. This GitHub Action's aim is to take things one step forward by making way for a "build-test-deploy" workflow.
Most folks in the AEC industry prefer python to start programming, and creating custom tools/components. This tool aims to help build and share those a tad bit easier.
- Tutorial: creating a Grasshopper component with the Python GHPY compiler
- GitHub Gist: build_module.py
- Users cannot set files / file-patterns to be ignored while compiling.
The scripts and documentation in this project are released under the MIT License