Where should we put poppy software files?

For the moment, some configuration files and behaviours of Poppy are included in the pypot library. Should we continue to keep them together or should we split them in two repositories for example, pypot and poppy-software ?

For me, it would make sense to split them. People interested in building behaviours for poppy do not really need to touch the low level and will use a lot of 3rd party libraries to do high level tricks.
However, pypot and Poppy are deeply connected and we need to ensure that people keeps an up to date release of pypot…

1 Like

I agree with the idea to split the Poppy specific configuration and behavior files from PyPot.
Who knows, maybe some people will want to use PyPot for something else…
Moreover we can still make a git repo for that, depending on PyPot (as a git submodule) if you want.

So I recommand an architecture more like ROS :slight_smile: with robot specific stacks separated from the core repository.

1 Like

I fully agree on the principle. When pypot reaches a stable stage (probably just after half life 3 is out :trollface:) this solution will definitely be the right one.

But at the moment, with pypot changing often I’m not quite sure what the good solution would be to preserve compatibly between the two repo. A few ideas with no really strong opinion:

  • Using python packages and using their dependance system. Probably not easy to maintain for us and not really practical for users.
  • Having a dedicated branch for poppy ? We maintain compatibility and users have only one repo to clone.
  • Using git submodules (I have no idea how they work…)

Any other ideas?

@Steve ROS organisation ? I don’t understand what that could mean :wink: More seriously, we could also consider having specific robots separated (poppy and ergo robot for the moment) from the core code kind like plugins.

So it means that the PyPot API is not stable enough to start developping stuff for Poppy?
I think we have to freeze some features to build a stable release so that we can start developping in top of it.
Then new stuff should be backward compatible. Otherwise, it will be a big mess like ROS…
Maybe we need a kind of Linus Torvald for that job.

2 Likes

perceval c’est pas faux.

I don’t really see any major incoming features. Pypot is already quite robust and efficient.

Maybe should we check again what git submodules are ?

So I had a discussion with @omangin and I’m more and more convince what we should split the code.
We could use submodule to do that but it seems that git submodule are complicated to use for non-git-expert. I think we could try just to separate the repository and specify in the documentation that people have to keep up-to-date their pypot version.

If you are agree with that, do you have any suggestions about the name for this repository ?
For the moment, I randomly chose poppy-software as there is already a pypot-hardware repo for the mechanics and future electronics made by @Fdepraetre.