HACKER Q&A
📣 daww

How to release research paper code?


How would you publicly release code from a recently published paper? I have some python notebooks and would like to present them as a library. Should I use docker? Pipenv? Poetry?


  👤 leksak Accepted Answer ✓
Given https://github.com/jupyter/docker-stacks Docker might be appropriate. No matter which route you decide to take: make it easy. If you are using pipenv or poetry do so while offering a Makefile or documentation on what commands to run.

A Makefile with a decent "help" target would be perfect even if you do use Docker. I'd suggest looking at https://marmelab.com/blog/2016/02/29/auto-documented-makefil... to spare you some work with maintaining the help target.


👤 probably_wrong
Putting it in a Github repo seems to be standard practice.

I personally would prefer a well-curated "requirements.txt" with which to create a virtual environment in Python. I would stay away from Docker mostly because researchers are not system administrators, and making them install a container solution seems a bit excessive to me.


👤 eljost
Check out Zenodo [1]. It lets you generate DOIs for Github releases.

[1] https://zenodo.org/