uwmisl / poretitioner

https://misl.cs.washington.edu
Other
3 stars 1 forks source link

Set up package mangement system #2

Closed thequicksort closed 4 years ago

thequicksort commented 4 years ago

Description

Define a package management scheme for handling the poretitioner's dependencies and build outputs.

Details

To make the NanoporeTER application distributable, one thing we should iron out quickly is our dependency management scheme. I would advise against using pip, as that can lead to non-deterministic builds.

Chris suggested Nix, and based on my research it seems like a really strong contender. I've spent the last two weeks diving in and experimenting with it.

Nix Pros:

Nix Cons:

Goal

By the end of this task, I anticipate having an extremely simple main script that will import the core NanoporTER dependencies, as proof that the packaging works. The next step will be wrapping it in a docker image, and trying it from another machine.

References

thequicksort commented 4 years ago

https://github.com/uwmisl/poretitioner/commit/eab2f87d284c65ee53627afd28c7dc0fdf8108e9