GMLC-TDC / HELICS

Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)
https://docs.helics.org/en/latest/
BSD 3-Clause "New" or "Revised" License
127 stars 41 forks source link

Clean-out out-of-date directories? #136

Closed bpalmintier closed 6 years ago

bpalmintier commented 6 years ago

Notable example is that (I think) $HELICS-SRC/python is depreciated since we are using $HELICS-SRC/swig/python.

Not sure if there are others, but would be good to remove extraneous code as part of beta (or even alpha2) so as not to confuse new, non-developer users

phlptp commented 6 years ago

regarding the python directory, at some point we should have a "pythonic wrapper" around the swig calls including proper objects and the like. The question regarding the python directory is where would we put that? in the swig/python directory or a python directory?

kdheepak commented 6 years ago

I would like that to be a separate repo altogether. The main advantage is that I can set it up such that if there is a separate pyhelics repo in this organization, a user can run the following command to get the Python extension:

pip install git+git://github.com/GMLC-TDC/pyhelics.git@master

If it were in a folder in this repo, then it's one additional step ( cloning to local + pip install from local folder ).

Regardless, the python folder in this repo could be deprecated and we could move that out. The main question here is that the python folder allows a Python interface to the CPP Application API. The swig Python interface is only to the C interface. Should we keep and maintain this Python interface in Cython to the Application API

I'm still in favor of removing the python folder, since it may be a source of confusion for new users. We can use swig to generate a CPP Application API interface in the future. The only thing in my opinion that we would lose by deleting the python folder (which contains all the Cython code) is an example of how to integrate HELICS using the Application API for another CPP developer. If we update the examples with a Application API example, then we should be good.

phlptp commented 6 years ago

can we move that code to examples/python/?

phlptp commented 6 years ago

eventually we will want tests/python as well for some tests we can run to check the python interface

kdheepak commented 6 years ago

Sure, I can move it to examples/cython. There's a build step involved here that requires Cython, I can work on getting that together as part of #102. For now, it will definitely help to have that file over there so users can look at an integration example.

bpalmintier commented 6 years ago

How about examples/cython to be more clear and less confusing

bpalmintier commented 6 years ago

(looks like I, or our e-mail) was slow on the draw.

Are there other examples of extraneous or confusing folders we might want to move around?

kdheepak commented 6 years ago

Moved python folder to examples/cython in d78bf70.