<div dir="ltr"><div><div><div><div>Hi Peter,<br><br></div>Is there something in your concept of provenance that git or a similar dvcs does not cover?<br></div>It would seem that the kind of granular history tracking built into git could be taken advantage of with a small amount of semantic glue on top to give you what you want.  Plus you get a large global user community. <br>

There are well defined API's wrapping a git client lib that would make this feasible.  If this makes sense please feel free to connect via nborwankar on gmail.<br></div>I've spent non-trivial amount of time exploring how git could be used as a database-with-history for heterogenous data.<br>

<br></div>Nitin Borwankar<br></div><div class="gmail_extra"><br clear="all"><div><br>------------------------------------------------------------------<br>Nitin Borwankar <br><a href="mailto:nborwankar@gmail.com">nborwankar@gmail.com</a></div>


<br><br><div class="gmail_quote">On Tue, Apr 16, 2013 at 4:38 PM, Peter Macko <span dir="ltr"><<a href="mailto:pmacko@eecs.harvard.edu" target="_blank">pmacko@eecs.harvard.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi iPython developers,<br>
<br>
Here is a new project idea: automatic lab notebook for iPython and<br>
iPython Notebook, which would keep track of how each of your output<br>
files was produced, linking this "history" (or a "lineage") of an object<br>
across different iPython sessions and different iPython notebooks, and<br>
storing it persistently. This is frequently referred to in the Computer<br>
Science literature as "provenance."<br>
<br>
It will enable you to ask questions like "what did I do to produce this<br>
plot?" - and for example, it will tell you that you downloaded the input<br>
data set on Monday from such and such website, you ran all these<br>
commands to process the data on Tuesday, and then produced this plot on<br>
Thursday from a different iPython session. Note that this goes beyond<br>
(and is complementary in purpose to) iPython Notebook, since the history<br>
of a file is tracked across different sessions and Notebooks, and when<br>
you ask a question, you will get only the relevant information,<br>
suppressing any additional things that you did that are unrelated to the<br>
file in which you are interested.<br>
<br>
We are in touch with computational scientists all the way from<br>
bioinformatics to physics that are very interested in this feature! We<br>
met their needs partially by developing a cross-platform, multi-lingual<br>
library (<a href="https://code.google.com/p/core-provenance-library/" target="_blank">https://code.google.com/p/core-provenance-library/</a>) that they<br>
can use to annotate their Python (and non-Python) scripts in order to<br>
track the lineage of their objects.<br>
<br>
Our vision is that this will be all done fully automatically, without<br>
requiring the users to manually annotate their scripts. But<br>
unfortunately neither of us who are involved in this project has the<br>
resources or the knowledge of the iPython code-base to tackle this<br>
challenge. We need your help to make this happen! We have some ideas<br>
about how we might go about this, but we need someone who knows more<br>
about iPython to talk them over and to spearhead the actual development.<br>
Please let us know if you can help!<br>
<br>
Thank you,<br>
<br>
Peter Macko<br>
<br>
Harvard School of Engineering and Applied Sciences<br>
33 Oxford St.<br>
Cambridge, MA 02138<br>
<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>
</blockquote></div><br></div>