joshiemoore/snakeware

Add a package manager

Opened this issue · 5 comments

As the distribution grows, it may stop making sense to package all apps into it. What kinds of package management solutions make sense for this project?

My preliminary thoughts are:

Packages are maintained in their own repo by their respective maintainers. There is one central repository that hosts package metadata (maybe JSON?) of 'approved' packages. The package manager syncs to the master list (with the option of using other package lists?) and uses the metadata to resolve dependencies, clone and install applications, etc.

(in case it wasn't clear, with input from the community and further study of how the distribution works, I may be willing to write the package manager)

akx commented

You could just host a Snakeware-specific PyPI server; then you can simply use pip to install stuff from it.

I think using the existing PyPI is the right approach here, and very inline with the Snakeware philosophy

It would be cool to only ship stock Python (and pip) with snakeware releases, and then use pip to install required packages over the internet on first boot. We'll have to get networking and "persistence" fleshed out first though