Skip to content
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

Update project directory structure #205

Open
fxjung opened this issue May 13, 2022 · 1 comment
Open

Update project directory structure #205

fxjung opened this issue May 13, 2022 · 1 comment

Comments

@fxjung
Copy link
Member

fxjung commented May 13, 2022

There are a few things I don't like with how the historically grown project structure has evolved, namely inconsistencies and unclear situations:

  • ridepy/util:
    • Inconsistent: the cython/c++ transport space is defined in there, not in data_structures_cython, where it should be
    • Confusing name: Most of the things inside there are not actually utilities. The name was historically chosen to differentiate the spaces, request generators etc. in there from the core of the simulator.
  • The mix of cythonic directories/packages and python modules in ridepy/ which represent the core of the whole thing makes it confusing for new users to separate it from the non-core packages like util and extras.
  • extras contains partially stuff that actually should go into the ridepy_extras repository, and partially stuff that is pretty universally and project-independently useful, like SimSet.
  • Unclear: ridepy/cpp -- should it stay this way?

Possible solution:

  • Clean out extras, rename it to util
  • Rename util to something that represents its "batteries-included" purpose. Any ideas?
  • Move all the core stuff, including the c++/cython def of TransportSpace to e.g. ridepy/core

As this is interface-breaking, we should try to find a nice solution and not act hastily.

@debsankha

@matdahl
Copy link
Collaborator

matdahl commented Jun 29, 2022

My proposal to reorganise the code would be:
Separate teh C++, Cython and Python world by creating in the ridepy directory 3 subdirectories:

  • cpp
  • cython
  • python

Inside each of these subdirectories, all RidePy stuff in the given language is located. In this way, one can have in ridepy/cpp a C++ styled C++ library, in ridepy/cython a Cython styled Cython library and in ridepy/python a Python styled Python library.

In this case, the need to differ e.g. C++ code from Cython generated C++ files by complicated filename conventions is obsolete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants