-
Notifications
You must be signed in to change notification settings - Fork 28
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
Interface for writing plugins #142
Comments
Given standardized definitions for these types that include inputs and outputs, do you think standardized ways to interpolate within the space of I had toyed with the idea a while back with a But it was very much a prototype. Does that even make sense? To go from a device simulation to a circuit simulation this can be powerful. |
Hmm I think these are likely two separate issues. I think our main goal should be standardizing inputs and outputs, these are the types that we are targeting. For things like S-parameters it's relatively obvious how to do that, so probably we should do that first. Once there are a few simulation plugins that support these standardized types, it will hopefully be trivial to just chain them together. In principle this is not something that we need to take explicit care of but that should "just work", it's just function composition then. Creating interpolating models from that I think is a separate issue and it might more sense to have that in a separate plugin. From the notebooks you linked I think something like Kriging really is a natural fit, and of course it might make sense to have different interpolators too. But that is a lot of functionality that I'm not sure should be supported in a common core. What do you think? |
Is there a reason for not using ComponentSpec, Ports from gf.typings? -SkandanC |
Hey @drinwater, not sure what you mean? Both Some of the functionality should probably make it upstream to gdsfactory, e.g. the serializable |
I meant as types for Components, and Ports |
I'm still not sure what you mean, are you referring to the semantic difference between importing |
This issue is stale because it has been inactive for 60 days. Remove stale label or comment or this will be closed in 7 days. |
We should define a common interface for writing gdsfactory plugins. Plugin interfaces will be defined via
gplugins/common/base_models
, with common pydantic base models that plugins can derive from.Obviously we cannot cover every possible plugin, but there is definitely some common ground that we should be able to cover.
Base types should only cover types that are (possibly) common to all plugins and have no dependencies on other plugins, custom types for specific plugins should be defined inside of that particular plugin. Feel free to add whatever I might have missed @simbilod @joamatab.
Todos:
The text was updated successfully, but these errors were encountered: