Skip to content
This repository has been archived by the owner on Mar 22, 2021. It is now read-only.

Open Discussion: Use python dependencies management #11

Open
arneboockmeyer opened this issue Feb 2, 2020 · 7 comments
Open

Open Discussion: Use python dependencies management #11

arneboockmeyer opened this issue Feb 2, 2020 · 7 comments

Comments

@arneboockmeyer
Copy link
Collaborator

I would recommend to use a python based dependencies management system. Therefore I would create a setup.py with details about the project and all dependencies (like aexpr or pylxd).

See: https://packaging.python.org/tutorials/packaging-projects/
And: https://python-packaging.readthedocs.io/en/latest/dependencies.html
Example: https://github.com/active-expressions/active-expressions-static-python/blob/master/setup.py

Advantages:

  • Use common way to manage python dependencies
  • Let python manage his dependencies itself - and not docker
  • Offers the option to have a pip installation of the testbed
@arneboockmeyer arneboockmeyer mentioned this issue Feb 2, 2020
@lpirl
Copy link

lpirl commented Feb 2, 2020 via email

@arneboockmeyer
Copy link
Collaborator Author

arneboockmeyer commented Feb 2, 2020

👍 @lpirl I totally agree. And it would be really really nice, if we are able to provide the functionality of the testbed just with pip install <repo-url>

@arneboockmeyer
Copy link
Collaborator Author

Then the installation inside of the container could only be pip install <repo-url>. This would keep the dependencies at one place.

@mgjm
Copy link
Collaborator

mgjm commented Feb 2, 2020

If we manage to build an easily installable package for ns-3, then our cohydra framework can depend on this ns-3 package. But the current situation is that the workflow to get the ns-3 python package is quite tedious and requires manual recompilation. Therefore I think it is out of the scope for this project to build such an easily installable python package for ns-3.
But all other dependencies can be managed with e.g. pip.

But then it would still not be possible to pip install cohydra 🤔

@lpirl
Copy link

lpirl commented Feb 2, 2020

It is true that cohydra has dependencies beyond setup.py and that we probably won't focus on streamlining the on-boarding process.
From my understanding, this issue is about the Python packages which cohydra requires and which can be installed from the CheeseShop right away.

@arneboockmeyer
Copy link
Collaborator Author

@mgjm Yes, we will not build a ns-3 pip package or something like that. But we also do not install docker, lxd or sumo on the machines. But we should cover as much as possible at a single point. The setup.py is the intended way from python and we should follow that. I opened this issue because I tried to run the lxd branch and it crashed the first time because of a missing dependency. We should fix that.

@lpirl
Copy link

lpirl commented Feb 3, 2020 via email

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

No branches or pull requests

3 participants