<div dir="ltr"><div>Pip please :) Conda is fairly non-standard in the Python ecosystem in my experience; it's common for data analysis and IPython sort of things, but pip is the more common packaging standard. Though pip is less powerful than conda, it has the benefits that <i>every</i> Python developer knows its use, and I think it's much more appropriate for the base IPython notebook docker file.<br>

<br></div><div>Again, this is from the view that I want the IPython notebook docker build as a <i>base</i> for something non-Python related; so I <i>just</i> want the bare essentials required for IPython itself, and nothing more. Conda seems like it is adding more than you really need, whereas pip does that. It may make sense to have the Python-based derived notebook (the one that includes scipy and so on) to use Conda, though. (Not sure how well pip and conda mix.)<br>

</div><div><br></div>-- Andrew<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 5, 2014 at 8:53 AM, Kyle Kelley <span dir="ltr"><<a href="mailto:rgbkrk@gmail.com" target="_blank">rgbkrk@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Wes,<div><br></div><div>Responses inline.<br><div class="gmail_extra"><br><br><div class="gmail_quote">
<div>
<div class="h5">On Tue, Aug 5, 2014 at 1:00 AM, Wes Turner <span dir="ltr"><<a href="mailto:wes.turner@gmail.com" target="_blank">wes.turner@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><br></div><div class="gmail_quote"><div>On Tue, Aug 5, 2014 at 12:46 AM, Tyler Erickson <span dir="ltr"><<a href="mailto:tylere@google.com" target="_blank">tylere@google.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">



<div>On Mon, Aug 4, 2014 at 10:33 PM, Kyle Kelley <span dir="ltr"><<a href="mailto:rgbkrk@gmail.com" target="_blank">rgbkrk@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Tyler,<div><br></div><div>Taking in everyones comments and my opinion as a not-quite-sysadmin:</div>



<div>

<br></div><div>Base image, ipython/notebook, will</div><div><br></div><div>* have just the ipython notebook essentials</div>
<div>* up to date (as of image build) version of pip (or conda... plead for one or the other please!)</div></div></blockquote><div><br></div></div><div>conda, please :)  </div></div></div></div></blockquote><div><br></div>



</div><div>+1. <a href="http://conda.pydata.org/docs/build.html" target="_blank">http://conda.pydata.org/docs/build.html</a></div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">





<div dir="ltr"><div>* be installed for all users (all users inside the container)</div><div>  * This means that any images inheriting from it can set up their own user setup, install more packages</div></div></blockquote>





<div><br></div></div><div>Sounds fine to me.</div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div dir="ltr">
<div>* default cmd that runs the notebook server with some default parameters</div><div>  * This can be overwritten by a Dockerfile that uses FROM ipython/notebook</div><div><br></div><div>My personal take on this is that we could have an ipy user, with notebooks at /home/ipy/notebooks.</div>





</div></blockquote><div><br></div></div><div>Sounds reasonable. I have no strong opinion.</div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div dir="ltr"><div>

</div><div>Derivative image, ipython/scipystack (please suggest other names), could be</div><div><br></div><div>* numpy</div><div>* scipy</div><div>* matplotlib</div><div>* pandas</div><div>* scikit-learn</div></div></blockquote>





<div><br></div></div><div>I would be happy with that list.</div></div></div></div></blockquote><div><br></div></div><div>* [ ] pip (which version?)</div><div><br></div><div>* Supervisord? <a href="http://supervisord.org/" target="_blank">http://supervisord.org/</a> <a href="https://github.com/Supervisor/initscripts" target="_blank">https://github.com/Supervisor/initscripts</a></div>


</div></div></div></blockquote><div><br></div></div></div><div>Why? The process can be kept up inside the container and managed outside of the container. Does this grant something else?</div><div class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><br></div><div>* conda <a href="https://pypi.python.org/pypi/conda" target="_blank">https://pypi.python.org/pypi/conda</a></div><div><br></div><div>* enpkg <a href="https://pypi.python.org/pypi/enstaller" target="_blank">https://pypi.python.org/pypi/enstaller</a></div>


</div></div></div></blockquote><div><br></div></div><div>That's just making things more complicated. Would you be able to pip install or conda install this if you really need it?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br>
</div><div><br></div><div>* pyenv <a href="https://github.com/yyuu/pyenv" target="_blank">https://github.com/yyuu/pyenv</a></div></div></div></div></blockquote><div><br></div><div>No thank you. Switching kernels will be done inside the notebook itself.</div>

<div class="">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>* tox, {... build packages }</div>


</div></div></div></blockquote><div><br></div></div><div>tox is out of scope to me. What is your reasoning and audience?</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>* { ad infinitum }</div><div><div><div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">



<div><br></div><div>Cheers,</div><div>Tyler</div><div><div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">





<div dir="ltr"><div></div><div>For an IHaskell base image, I'd prefer the namespace to actually be jupyter/ihaskell in the long run.</div><div><br></div><div>There may come a time when we want multiple kernels in one container. After all, have you seen what you can do with the current master branch? </div>






<div><br></div><div><br></div><div><div><img height="234" width="226"><br></div></div><div><br></div><div>Including all the kernels (and stacks) will make a hefty docker image though, so I won't progress down that path just yet.</div>






<div><br></div><div><br></div><div><div><div class="gmail_extra"><div><div><br><div class="gmail_quote">On Mon, Aug 4, 2014 at 4:52 PM, Tyler Erickson <span dir="ltr"><<a href="mailto:tylere@google.com" target="_blank">tylere@google.com</a>></span> wrote:<br>






<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Kyle,</div><div><br></div>I think having an official base Docker instance will be quite useful, especially for running workshops.<div>






<br></div><div>I added comments for my particular use case below.<div>

<div class="gmail_extra"><br><div class="gmail_quote"><div>On Fri, Aug 1, 2014 at 6:54 PM, Kyle Kelley <span dir="ltr"><<a href="mailto:rgbkrk@gmail.com" target="_blank">rgbkrk@gmail.com</a>></span> wrote:<br>
</div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr">Earlier this week we released an experimental base Docker image for the IPython notebook: <div><br></div><div><a href="https://registry.hub.docker.com/u/ipython/notebook/" target="_blank">https://registry.hub.docker.com/u/ipython/notebook/</a><div>










<br></div><div>As well as a Docker image for the notebook viewer (which will be used in production soon):</div><div><br></div><div><a href="https://registry.hub.docker.com/u/ipython/nbviewer/" target="_blank">https://registry.hub.docker.com/u/ipython/nbviewer/</a><br>










</div></div><div><br></div><div>Yay!</div><div><br></div><div>Several folks have reached out about these images, and I'd like to get a conversation started amongst those that want to build from a common base. There are, after all, a *lot* of ipython images up on Docker already. Additionally, there is a LONG thread on the software carpentry mailing list </div>









<div><br></div>There are some open questions from me:<div><br></div><div>* Who should the user be inside the container?</div><div>  * Should they be able to install more packages?</div></div></blockquote><div><br></div></div>






<div>

I don't think the user accessing the instance needs to be able to install custom packages. (It would be nice this functionality was available, but it is not critical for running workshops.)</div><div><br></div><div>However, administrators need to have the ability to create custom images based off the docker base image that have additional packages. </div>






<div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>  * In a chef cookbook and deployment setup, I just made the user named ipynb.</div>







<div><br></div><div>* Is it ok to force HTTPS?</div><div>  * If we do, we're stuck with self signed certs or requiring them to provide them on run</div><div>  * This isn't really the right way to compose applications with Docker and probably makes things problematic for anyone building on top of ours</div>









<div><br></div><div>* Who is our target audience?</div><div>  * People deploying notebooks across their organization for users?</div><div>  * Students (and their teachers) wanting access to an easy analytics environment?</div>








</div></blockquote><div> </div></div><div>My interest is in providing an environment for external users of our analysis API, so it somewhat similar to the latter description. Some are in academia, but many are not. </div>






<div><div>
<br>
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div>* What would you see out of a base image? Where would the value be?</div>






<div><br>

</div><div>* Would people like to see a bleeding latest image that you can spin up to see the current state of the IPython notebook by just running `docker run ipython/notebook:bleeding-latest`?</div>
<div><br></div><div>* Do people want a base image that has a large portion of the scipy stack?</div></div></blockquote><div><br></div></div><div>Yes, particularly matplotlib and pandas.</div><div><br></div><div>Cheers,</div>






<div>

Tyler</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div dir="ltr"><div>
I'll stop with these and see where the discussion takes us.</div></div>


<br></div>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div dir="ltr">Kyle Kelley (<a href="https://twitter.com/rgbkrk" target="_blank">@rgbkrk</a>; <a href="http://lambdaops.com/" style="color:rgb(17,85,204)" target="_blank">http://lambdaops.com</a>)<br>






</div>
</font></span></div></div></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div></div></div><br></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div></div></div><br></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div></div></div><div><div class="h5"><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Kyle Kelley (<a href="https://twitter.com/rgbkrk" target="_blank">@rgbkrk</a>; <a href="http://lambdaops.com/" style="color:rgb(17,85,204)" target="_blank">http://lambdaops.com</a>)<br>


</div>
</div></div></div></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br></div>