dss-extensions / DSS-Python

Native, "direct" Python bindings (interface) and misc tools for a custom implementation of OpenDSS (EPRI Distribution System Simulator). Based on CFFI, DSS C-API, aiming for full COM API-level compatibility on Windows, Linux and MacOS, while providing various extensions.
https://dss-extensions.org/DSS-Python/
BSD 3-Clause "New" or "Revised" License
58 stars 4 forks source link

Pythonic API #8

Closed PMeira closed 5 years ago

PMeira commented 6 years ago

While the COM compatibility is a must-have, an alternate and more Pythonic API is also desirable.

kdheepak commented 6 years ago

@PMeira Great job on the package and having COM compatibility, it looks really great! I'm wondering if you have thoughts on making it compatible with OpenDSSDirect.py. And perhaps, if you are interested, we can even discuss merging these two efforts?

PMeira commented 6 years ago

Hi @kdheepak

Great job on the package and having COM compatibility, it looks really great!

Thanks!

I'm wondering if you have thoughts on making it compatible with OpenDSSDirect.py.

They both share the same basic general idea, so it seems reasonable to reproduce the API from OpenDSSDirect.py. I also haven't started working on this issue (Pythonic API) and that would be a good starting point. I'm working on other tasks right now, but give me a few weeks and I'll try to produce at least a proof-of-concept.

we can even discuss merging these two efforts?

Sure, that would be great!

Is it alright if I ping you back when I finish that proof-of-concept? When that is ready, we can better discuss merging and so on. We also have a couple extra things that are not in the public repository yet. Maybe I'll be able to finish some of those by then.

kdheepak commented 6 years ago

Great! Feel free to reach out to me if you want to discuss this further. I'm also willing to contribute towards this effort.

PMeira commented 6 years ago

Hey @kdheepak Just a quick update. Since the PM version became the default on version 8, I'm waiting for a couple of official fixes so I can drop most of my custom patches to the Pascal code. From the official repository commits, it seems Davis is handling those recently. As soon as the official code stabilizes, I'll work on this again, hopefully by next week. I'll send you an email then so we can better discuss merging.

kdheepak commented 6 years ago

Sounds great! Looking forward to it! Let me know how I can help with this effort!

kdheepak commented 5 years ago

Hey @PMeira I'm planning on working on some of these changes. Let me know if you want to discuss how we can work on this effort together.

kdheepak commented 5 years ago

@PMeira Thanks for tackling the OpenDSSDirect.py integration with dss_python! Are you thinking this issue is done or do you anticipate more work on this front?

PMeira commented 5 years ago

@kdheepak I think it can be closed, I'll update the README.md to reflect this.

Right now I don't any thoughts for any other possible API. When I start exposing more in DSS C-API, since it's something new (doesn't need to mock the COM API, etc.), we could work on a better way to expose that in Python (might be simple enough to not warrant much discussion).

kdheepak commented 5 years ago

Great! Just wanted to check!