[IPython-dev] Project idea: Automatic lab notebook for iPython
Sat Apr 20 02:01:24 CDT 2013
>>but it would not record how those files were produced, such as which
programs produced them, what parameters were used, etc., unless the users
manually write this in their commit messages.
This is the part (the metadata not provided by git) I was implying the
wrapper glue would inject in a "background" fashion into the commit
messages on behalf of the user.
A python wrapper lib is at https://github.com/libgit2/pygit2 - snapshots of
the current IPython notebook can be saved to a folder which has been "git
enabled" and a post save "commit " would do it - I am vigorously
handwaving here as is obvious.
On Fri, Apr 19, 2013 at 2:08 PM, Peter Macko <email@example.com>wrote:
> Hi Nitin,
> Thanks for the suggestion. Version control systems, such as git, will
> solve a good chunk of the problem we are trying to address, but not
> everything: git would record files at particular user-selected points in
> time and store them with user-supplied annotations, but it would not record
> how those files were produced, such as which programs produced them, what
> parameters were used, etc., unless the users manually write this in their
> commit messages. But that being said, git in iPython is a cool idea.
> On Apr 18, 2013, at 8:45 PM, Nitin Borwankar wrote:
> Hi Peter,
> Is there something in your concept of provenance that git or a similar
> dvcs does not cover?
> 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.
> 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.
> I've spent non-trivial amount of time exploring how git could be used as a
> database-with-history for heterogenous data.
> Nitin Borwankar
> Nitin Borwankar
> On Tue, Apr 16, 2013 at 4:38 PM, Peter Macko <firstname.lastname@example.org>wrote:
>> Hi iPython developers,
>> Here is a new project idea: automatic lab notebook for iPython and
>> iPython Notebook, which would keep track of how each of your output
>> files was produced, linking this "history" (or a "lineage") of an object
>> across different iPython sessions and different iPython notebooks, and
>> storing it persistently. This is frequently referred to in the Computer
>> Science literature as "provenance."
>> It will enable you to ask questions like "what did I do to produce this
>> plot?" - and for example, it will tell you that you downloaded the input
>> data set on Monday from such and such website, you ran all these
>> commands to process the data on Tuesday, and then produced this plot on
>> Thursday from a different iPython session. Note that this goes beyond
>> (and is complementary in purpose to) iPython Notebook, since the history
>> of a file is tracked across different sessions and Notebooks, and when
>> you ask a question, you will get only the relevant information,
>> suppressing any additional things that you did that are unrelated to the
>> file in which you are interested.
>> We are in touch with computational scientists all the way from
>> bioinformatics to physics that are very interested in this feature! We
>> met their needs partially by developing a cross-platform, multi-lingual
>> library (https://code.google.com/p/core-provenance-library/) that they
>> can use to annotate their Python (and non-Python) scripts in order to
>> track the lineage of their objects.
>> Our vision is that this will be all done fully automatically, without
>> requiring the users to manually annotate their scripts. But
>> unfortunately neither of us who are involved in this project has the
>> resources or the knowledge of the iPython code-base to tackle this
>> challenge. We need your help to make this happen! We have some ideas
>> about how we might go about this, but we need someone who knows more
>> about iPython to talk them over and to spearhead the actual development.
>> Please let us know if you can help!
>> Thank you,
>> Peter Macko
>> Harvard School of Engineering and Applied Sciences
>> 33 Oxford St.
>> Cambridge, MA 02138
>> IPython-dev mailing list
> IPython-dev mailing list
> IPython-dev mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the IPython-dev