Open charlie9578 opened 7 months ago
After chatting in bit more detail and thinking on this @charlie9578 I think this is a really great idea that could help demonstrate how to solve workflow issues for others as well.
My initial thought is to set up something akin to the from_enter method, but I'm not sure this would work if we have to modify the Greenbyte API. I think we could another utils
module that can host these methods, so PlantData
can have a from_xx
method for each that acts as a thin wrapper.
@ejsimley I'm curious on your thoughts here.
I think this is a great idea, and it probably makes sense to add a utils module for Greenbyte (and potentially other data platforms) to import data. We would need to work closely with you @charlie9578, or someone else who uses Greenbyte, to develop and test this feature. If you're interested, we could come up with a plan.
I'm interested, and happy to develop this feature... but I think worth discussing how best to make it work.
My initial feeling is that including it in the utils would be a good option, as it could support development of a selection of connectors to different systems. To an extent this and issue #279 could be considered two sides of the same coin when it comes to integrating new datasets, just one is for open data and the other closed.
I agree, @charlie9578, this is certainly related to #279, though I'd propose taking a piecemeal approach since each API is going to differ quite a bit. Do you happen to have a working example? I'd lean towards utils
with a thin wrapper in the PlantData
class like is done with the ENTR connector. Though I feel that each is going to require its own Python API client, so it might be useful to have a package within the utilities, like utils/apis
or utils/connectors
or similar, and have separate modules for each external API connection to avoid unnecessary package requirements for the varying use cases.
I'd like to include a method to use data from Greenbyte's API in OpenOA, so that companies using this secondary SCADA platform are able to simply enter their API key, select their site, and run the analysis. It might be nice to develop a series of IO modules to support other data systems too. Does this sound reasonable?