- Collects all python (.py) files recursively from the specified
source
folder. - Uses
CLR
to compile to a.ghpy
(or.dll
) binary. - Outputs
name
of the compiled binary (without file extension)full-name
of the compiled binary.build
of 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