-
Notifications
You must be signed in to change notification settings - Fork 3
Bye rhino7 #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Bye rhino7 #24
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR modernizes the Grasshopper component infrastructure for Rhino 8, transitioning from legacy Rhino 7 components to the new CPython-based Rhino 8 components. The changes also consolidate build configuration from setup.py to pyproject.toml and add Yak package publishing automation.
- Migrates Grasshopper components from
ghpythonlib.componentbase.executingcomponenttoGrasshopper.Kernel.GH_ScriptInstancefor Rhino 8 compatibility - Consolidates build configuration into
pyproject.tomlwith dynamic versioning and removes legacysetup.py - Adds Yak package publishing workflow and template files for package distribution
Reviewed Changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tasks.py | Updates task configuration to use ghuser_cpython and adds Grasshopper Yak packaging tasks |
| src/compas_eve/mqtt/mqtt_paho.py | Reorders imports to follow style guidelines (stdlib, third-party, local) |
| src/compas_eve/ghpython/yak_template/manifest.yml | Adds Yak package manifest with metadata for Grasshopper package distribution |
| src/compas_eve/ghpython/yak_template/icon.png | Adds package icon for Yak distribution |
| src/compas_eve/ghpython/components/Ce_Subscribe/code.py | Migrates to Rhino 8 component structure with type hints and warning helper |
| src/compas_eve/ghpython/components/Ce_Publish/code.py | Migrates to Rhino 8 component structure with updated component reference pattern |
| src/compas_eve/ghpython/components/Ce_MqttConnect/code.py | Migrates to Rhino 8 component structure with type hints |
| src/compas_eve/ghpython/components/Ce_Message/code.py | Reorders imports and removes version comment |
| src/compas_eve/ghpython/components/Ce_BackgroundTask/code.py | Migrates to Rhino 8 component structure |
| src/compas_eve/ghpython/init.py | Adds helper functions for component messaging (warning, error, remark, message) |
| src/compas_eve/codecs/conversions.py | Reorders imports to follow style guidelines |
| setup.py | Removes legacy setup.py in favor of pyproject.toml configuration |
| requirements-dev.txt | Adds pythonnet dependency for .NET interop in development |
| pyproject.toml | Adds dynamic versioning, bumpversion configuration, and improves code organization |
| CHANGELOG.md | Documents removal of Rhino 7 components |
| .github/workflows/yak_publish.yml | Adds GitHub Actions workflow for automated Yak package publishing |
| .bumpversion.cfg | Removes legacy bumpversion config file (migrated to pyproject.toml) |
| if not topic_name: | ||
| raise ValueError("Please specify the name of the topic") | ||
| warning(ghenv.Component, "Please specify the name of the topic") # noqa: F821 | ||
| return |
Copilot
AI
Nov 4, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mixing implicit and explicit returns may indicate an error, as implicit returns always return None.
| return | |
| return 0 |
|
|
||
| try: | ||
| import Grasshopper # type: ignore | ||
| except (ImportError, SyntaxError): |
Copilot
AI
Nov 4, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'except' clause does nothing but pass and there is no explanatory comment.
| except (ImportError, SyntaxError): | |
| except (ImportError, SyntaxError): | |
| # Grasshopper is only available in Rhino/Grasshopper environments. | |
| # Ignore import errors to allow this module to be imported elsewhere. |
Co-authored-by: Gonzalo Casas <[email protected]>
pyproject.toml, removing legacysetup.pyand.bumpversion.cfgfilesghpythonmoduleWhat type of change is this?
Checklist
Put an
xin the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.CHANGELOG.mdfile in theUnreleasedsection under the most fitting heading (e.g.Added,Changed,Removed).invoke test).invoke lint).compas.datastructures.Mesh.