From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id CDpdBrsZJmQeLQEASxT56A (envelope-from ) for ; Fri, 31 Mar 2023 01:22:35 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 4Bt3BbsZJmQrOQAAG6o9tA (envelope-from ) for ; Fri, 31 Mar 2023 01:22:35 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BD9502E98F for ; Fri, 31 Mar 2023 01:22:34 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pi1b3-0007xT-NJ; Thu, 30 Mar 2023 19:22:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pi1b1-0007xI-W9 for guix-devel@gnu.org; Thu, 30 Mar 2023 19:22:20 -0400 Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pi1b0-00052k-1d for guix-devel@gnu.org; Thu, 30 Mar 2023 19:22:19 -0400 Received: by mail-qt1-x841.google.com with SMTP id n14so20133192qta.10 for ; Thu, 30 Mar 2023 16:22:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=terpmail.umd.edu; s=google; t=1680218536; x=1682810536; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=KtDQwmOmluWseYcG4DmrQZ7dbcDRJcQuSpLz+f1m+0o=; b=dKATEpm5qXsfq+BrnodVTC9f0Y0r+SrxQpiwYHpENpoOxqyznl5IOqodu7EUeHJn9y eBSSd3tw7SoIXAAQBSahs0pOPKiqxlKSemQZlRkHVUTf6fVpAfckID8tsrJ6zRCFhLYI ma6JrEYqrmdeLsHljXM/9BMrfbmYVybNaBANK5DcYTLXBH3lEsK8B03mnj5p1oG9l3jt FupIdVk2mJ0ynXSN/jgHRSdXdW+r2X8vq1YxbLiG0APuaqQVzA1mUwalkW5eOj6x0wjC nnOEPgacyg6xLGSGyPl0aa4vfxLOoJ5OOH2/WBGmISUcNUWuJ+W2JvBDQUlq7CkqlVc0 V9Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680218536; x=1682810536; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KtDQwmOmluWseYcG4DmrQZ7dbcDRJcQuSpLz+f1m+0o=; b=cAnpikeW5+igr7ZqRaVa2lmkE2RP68hOkkCFLYH31B/dJWebC7GAKWjgg5uwlHtkOg yng9L9YUVirKr1UmyyKuxFTgBH3D83TRrOiZseTXhWNGrb9TcwteaWIlxJX4o7qsEhGm 2LhSSiLQwVeMqLqp766RckJ8xbpMfjb0EryCGUkKWLyjvv91LCOnYZPnPlD40sATFgNi UAZx2erAaPv5impBMlLzldT0ae4T2aVY3Tbe6Ro9rQYG6W52Jb1BG+vEO++IRXuNux+R XbZWCBKspcHK9eL/TYcBkevlZeToWA3cdRqOr2wNrKmrNJSQC/Mh6Kz5vmdAXz8qWS8u bG3A== X-Gm-Message-State: AO0yUKXD4YAHQG9KPQtUZk7JWSocRn7sQNNeP+cN2Ac4kKIaQKIzRhrz cv0cZ0eeLwXqx93Pw6N2QYFXaw== X-Google-Smtp-Source: AK7set/Baak06ov3SO6IXhbBQcMHVEm+iwjrbR+F7/jicKSA6ooGZtOKr5ncbMap9r7GLm3Pu9tm8Q== X-Received: by 2002:ac8:5e09:0:b0:3bf:d179:f964 with SMTP id h9-20020ac85e09000000b003bfd179f964mr44964264qtx.34.1680218536469; Thu, 30 Mar 2023 16:22:16 -0700 (PDT) Received: from [10.104.59.23] ([129.2.192.23]) by smtp.gmail.com with ESMTPSA id fp26-20020a05622a509a00b003a81eef14efsm206041qtb.45.2023.03.30.16.22.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Mar 2023 16:22:16 -0700 (PDT) Message-ID: <42aa5844-0769-e122-efd7-8a152070c71c@terpmail.umd.edu> Date: Thu, 30 Mar 2023 19:22:14 -0400 MIME-Version: 1.0 Subject: Re: Google Summer of Code 2023 Inquiry To: Kyle , Ricardo Wurmus , Simon Tournier Cc: guix-devel@gnu.org References: <6d30ee7b-f1f0-9199-fea8-efd434c8611c@terpmail.umd.edu> <86sfeb9zx8.fsf@gmail.com> <87ttycir7r.fsf@elephly.net> From: Spencer Skylar Chan Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=2607:f8b0:4864:20::841; envelope-from=schan12@terpmail.umd.edu; helo=mail-qt1-x841.google.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1680218554; a=rsa-sha256; cv=none; b=XCTG5QT6T209hlynUHFaZnLZ1qJ0uF8HY34cOkvagmHA887DXekKQBVqEOGTUUJYvwdcBe d30OR4NobXbmegTIx56DHoy43CN0aKebfsLr5X2ZU8C5ZMnWX8z09Q6EdjrlCCsY64qNBr 79PGgZRpZwpDK/Mi2GJ2rUdeTqHDt+Y0+16A4SiNZnObmFzLtstf1NtNXTenTESDVktT0b 5Yum1SsrtsebWGLJqp8Zl1CqB7FZKkfbNNlmf8fQdm2htGIqYlOUZGuJ7ywjch5Imrlm1t RuAHPA7k/REWZ2ecEhGw3O0W0bODrrOOOZmcQ3LrluYvD9KcjqMubL5RzX50FA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=terpmail.umd.edu header.s=google header.b=dKATEpm5; dmarc=pass (policy=none) header.from=terpmail.umd.edu; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1680218554; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=KtDQwmOmluWseYcG4DmrQZ7dbcDRJcQuSpLz+f1m+0o=; b=KrVNvJRe7oy8/9XbF5T5yJuaGFgCiKDiAGLuhOkDHGVWs0VDIEF0bU2rhab9gCSzNgh+wd XVDOR7hp6l3L/J/g2hljTHRUQRJcYyX5VgH+Kd8gPELf8xP17V3p/niABhVcOJsP6WLR/l vFhTXse1cO5dU9c1FpLurmut9C1bxQUl5eaodQC0UAsC4cIn5QQ5XhmUE9FJN7SUBuiMvn 1IjPhxAHTzc23w5cqNZCElee188rpPHglviLBQPFNeAUk9BDJ0r4hGFIjJ2l8XBoo7+anD aabzZg1RZwY6OEtK8sPoEMGWVK4dgqGtgGMwIAen0gDJYM1KsicOi2OedkV6gg== X-Migadu-Spam-Score: -5.68 X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=terpmail.umd.edu header.s=google header.b=dKATEpm5; dmarc=pass (policy=none) header.from=terpmail.umd.edu; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Spam-Score: -5.68 X-Migadu-Queue-Id: BD9502E98F X-TUID: YRZpZjcY+DTG Hi Kyle, On 3/24/23 14:59, Kyle wrote: > I am a bit worried about your proposed project is too focused on > replacing python with guile. I think the project would benefit more from > making python users more comfortable productively using Guix tools in > concert with the tools they are already comfortable with. Yes, I agree with you. Replacing Python with Guile is a much more ambitious task and is not the highest priority here. > I'm wondering if you might consider modifying your project goals toward > exploring how GWL might be enhanced so that it could better complement > more expressive language specific workflow tools like snakemake. I am > also personally interested in exploring such a facilities from the > targets workflow system in R as well. Alternatively, perhaps you could > focus kn extending the GWL with more features? I would also be interested in extending GWL with more features, I will follow up with this on the GWL mailing list. > I agree that establishing an achievable scope within a short timeline is > crucial. The conda env importer idea would be quite an ambitious > undertaking by itself and would lead you towards thinking about some > pretty interesting and impactful problems. While it's a challenging project, it could be broken into smaller steps: 1. import packages by exact matching names only, without versioning. 2. extend `guix import` to have `guix import conda` to help with package names that do not match exactly, and to accelerate adoption of Conda packages not in Guix 3. match software version numbers when translating Conda packages to Guix What's currently undefined is the error handling: - if a Conda package does not exist in Guix - if the dependency graph is not solvable - if compiling the environment fails (due to mismatching dependency versions) I believe there are many satisfactory stopping points for successful completion within the timeline of the summer, which I hope to present with my proposal soon. Thanks, Skylar > > On March 22, 2023 5:44:52 PM EDT, Spencer Skylar Chan > wrote: > > Hi Ricardo, > > On 3/22/23 14:19, Ricardo Wurmus wrote: > > > - Translating Snakemake to Guix Workflow Language (GWL) > > > Ricardo, maybe you would have some suggestions. :-) > > > Oh, this looks interesting. Could you please elaborate on the idea? > > My idea is to take as input a Snakemake workflow file and eventually output an equivalent GWL workflow file. > > Currently, Snakemake workflows can be exported to CWL (Common Workflow Language): > > https://snakemake.readthedocs.io/en/stable/executing/interoperability.html > > One approach could be to add CWL import/export capabilities to GWL. Then Snakemake/GWL conversion would be a 2 step process, using CWL as an intermediate step: > > 1. Snakemake -> CWL > 2. CWL -> GWL > > However, CWL is not as expressive as Snakemake. There may be some details that are lost from Snakemake workflows. > > So a 1-step Snakemake/GWL transpiler could be interesting, as both Snakemake/GWL use a domain-specific language inside a general purpose language (Python/Guile respectively). There may be a possibility to achieve more "accurate" translations between workflows. > > Is this topic something that could fit into a summer project? >