From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Hinsen Subject: Re: Towards reproducibly Jupyter notebooks with Guix-Jupyter Date: Mon, 14 Oct 2019 08:35:00 +0200 Message-ID: References: <87lftt57ux.fsf@inria.fr> <87imowwt3i.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:39104) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iJtwh-0003Bs-Bf for guix-devel@gnu.org; Mon, 14 Oct 2019 02:35:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iJtwg-0002pO-4t for guix-devel@gnu.org; Mon, 14 Oct 2019 02:35:07 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:58863) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iJtwf-0002pB-PP for guix-devel@gnu.org; Mon, 14 Oct 2019 02:35:06 -0400 In-Reply-To: <87imowwt3i.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: Guix Devel Hi Ludo, > That reminds me of an interesting issue regarding > bitwise-reproducibility that was raised on the Reproducible Builds > mailing list: > > https://lists.reproducible-builds.org/pipermail/rb-general/2019-Septemb= er/001657.html We ran into this problem as well in the Reproducible Research MOOC. It's hard to test equality for notebooks. But we went for solution a) because our main goal is to teach good practices for writers of future notebooks, rather than patch bad practices of the past with an additional layer of build tools. >> It would be nice in fact to adapt the ideas behind Guix-Jupyter (and >> perhaps parts of the code) to Org-mode. Some integration with Emacs will >> be necessary to tell Org-mode to start Python etc. from the Guix >> environment. > > I=E2=80=99d love to see that happen! I thought perhaps we could trick Al= ex Kost > or Pierre Neidhardt to hack on that, let=E2=80=99s see. :-) I might also do it myself because I suspect it would be less work to write the required Emacs package than to explain how to live without it. Tutorial-driven development :-) What would be the best way to run code in a specific environment created for recorded channels? The obvious approach would be guix pull -C channels.scm -p /tmp/temp-profile /tmp/temp-profile/bin/guix environment =E2=80=93-pure -m manifest.scm = =E2=80=93- python script.py rm -rf /tmp/temp-profile but doing that properly involves the usual messy precautions for dealing with temporary directories, and it's probably expensive to do the "guix pull" repeatedly for the same channel file just because the temporary profile gets deleted immediately. This looks like a use case for "guix inferior", but is that already stable enough to be talked about in public? Konrad.