anaconda / anaconda-project

Tool for encapsulating, running, and reproducing data science projects
https://anaconda-project.readthedocs.io/en/latest/
Other
219 stars 88 forks source link

DOC,ENH: How does anaconda-project work with repo2docker (REES)? #267

Open westurner opened 4 years ago

westurner commented 4 years ago
jbednar commented 4 years ago

I've wanted there to be some integration/interoperatibility there between anaconda-project and repo2docker/binder/REES, and have discussed that with Chris Holdgraf, but that idea stalled out as soon as it started due to personnel changes.

You can see https://github.com/pyviz-topics/examples for examples of setting up a project to work with binder, but there isn't an exact match, because repo2docker assumes you'd have a single project per repository, while anaconda-project is happy to have a different project in each subdirectory. anaconda-project also specifies the command to run as part of the project description, which REES did not include last time I checked on it, so you have to do hacks like https://github.com/holoviz/jupyter-panel-proxy to launch the project if it's anything but a Jupyter notebook.

Note that anaconda-project is also getting the ability to generate Docker images by itself (https://github.com/Anaconda-Platform/anaconda-project/pull/246), so it won't necessarily need repo2docker in any case.

AlbertDeFusco commented 4 years ago

I've not looked at repo2docker, but here's the s2i builder for anaconda-project. I've been working on this and #246 in parallel. There is certainly an opportunity to integrate with repo2docker

https://github.com/Anaconda-Platform/s2i-anaconda-project

westurner commented 4 years ago

cc @choldgraf

choldgraf commented 4 years ago

Feel free to reach out in the repo2docker issues or jupyter discussion forums etc if there are particular questions or blockers that you all have. It would be great to see unification for reproducibility specs etc across the community!

Also, not sure if you've seen this, but we had looked into using s2i as well and ultimately decided that it wasn't a good fit for the kind of reproducibility use-cases we had in mind. In case it's helpful, we wrote up a short blog post about this: http://words.yuvi.in/post/why-not-s2i/