OpenWaterAnalytics / epanet-python

python wrapper for epanet library
76 stars 40 forks source link

Are there any plans to offer a pythonic interface and not just a wrapper to what exists? #4

Closed goanpeca closed 6 years ago

mauriziocingi commented 8 years ago

It's difficult develop a true pythonic interface for an old style (not object oriented) C program. Something is done (see errors handling) but epanet2 APIs do not expose any pointer to data structures: arrays are stored deep inside library.

In a near future I have hopefully planned writing some oo pythonic classes for new epanet version (https://github.com/OpenWaterAnalytics/epanet-dev/blob/master/README.md )

goanpeca commented 8 years ago

It's difficult develop a true pythonic interface for an old style (not object oriented) C program. Something is done (see errors handling) but epanet2 APIs do not expose any pointer to data structures: arrays are stored deep inside library.

Indeed, but the problem is not necessarily _old style (not object oriented) C program_, but it not exposing the things needed to make a layer on top of python where the actual interface can be made (more easily).

In a near future I have hopefully planned writing some oo pythonic classes for new epanet version (https://github.com/OpenWaterAnalytics/epanet-dev/blob/master/README.md )

Is there a document for this? I have some ideas on how this api could work (even if it does no entirely connect to the low level C stuff), but could help in guiding future work, thoughts?

michaeltryby commented 6 years ago

The objective of the epanet-python project as I envision it is to provide a low level pythonic api on the epanet.dll using SWIG. These packages will serve as foundational building blocks for other projects to build upon.