X-Loop: help-debbugs@HIDDEN Subject: [bug#61527] [PATCH] Add edgelist graph backend Resent-From: Kyle Andrews <kyle@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Wed, 15 Feb 2023 05:31:01 +0000 Resent-Message-ID: <handler.61527.B.167643904828911 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 61527 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 61527 <at> debbugs.gnu.org X-Debbugs-Original-To: Guix Patches <guix-patches@HIDDEN> Received: via spool by submit <at> debbugs.gnu.org id=B.167643904828911 (code B ref -1); Wed, 15 Feb 2023 05:31:01 +0000 Received: (at submit) by debbugs.gnu.org; 15 Feb 2023 05:30:48 +0000 Received: from localhost ([127.0.0.1]:57581 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pSANT-0007WE-NR for submit <at> debbugs.gnu.org; Wed, 15 Feb 2023 00:30:48 -0500 Received: from lists.gnu.org ([209.51.188.17]:39724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <kyle@HIDDEN>) id 1pSANR-0007W6-Ji for submit <at> debbugs.gnu.org; Wed, 15 Feb 2023 00:30:46 -0500 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 <kyle@HIDDEN>) id 1pSANQ-0006iw-BD for guix-patches@HIDDEN; Wed, 15 Feb 2023 00:30:45 -0500 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <kyle@HIDDEN>) id 1pSANO-0000Aj-AF for guix-patches@HIDDEN; Wed, 15 Feb 2023 00:30:44 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id C80B4240287 for <guix-patches@HIDDEN>; Wed, 15 Feb 2023 06:30:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1676439038; bh=lUr7DIWCDox3PbrpO64vLcDA11izcru2oLBa4rb+h78=; h=From:To:Subject:Date:From; b=S8LVXc8An/+zgH0v3f6d8anfFvLF7ObDgtVxZ+bweNBdmqQJ/2p89UsqI1r3AiOfz U4Cj5bj7+zZcgbGWh9E72AraMURTpOWvx5KlQOpvzysefOR9WfyL4NdRyDn6vMuAFh YAIIAL19cKToIphDAl5JlW3CSx9CkxnM/LlRryOjdaGAgCARptgnCFEV6QMXLvZJDL +9//k1frNicuO0mdFnW/yrHiQKz4LdcZ1WFjm1CTJonCfD/FY18UgvVtwJDuv7NmQi dDGR1JsJzRF9+M51pAvQDQnjsH4N8rqbEgM8olXcjoSLvQVqXGExSRViO1jFYuuZ+p Pk7gXGbZuTjBw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4PGmrF5w6Fz9rxH for <guix-patches@HIDDEN>; Wed, 15 Feb 2023 06:30:36 +0100 (CET) From: Kyle Andrews <kyle@HIDDEN> Date: Wed, 15 Feb 2023 05:21:35 +0000 Message-ID: <875yc3sdfo.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=185.67.36.65; envelope-from=kyle@HIDDEN; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain Dear Guix, I would like to be able to conveniently analyze Guix package dependencies using general purpose network analysis software such as igraph. To achieve this, I have added another backend to Guix and which is exposed via guix graph which spits out a three column table that, while not technically and edge list, is readily transformed into one with minimal data munging. Please see the attached patch file which I have created with `git diff' from my working tree since I am not yet comfortable with more advanced git workflows. --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=edgelist-graph-backend.patch Content-Description: edgelist backend patch diff --git a/guix/graph.scm b/guix/graph.scm index 41219ab67d..e1760ed92a 100644 --- a/guix/graph.scm +++ b/guix/graph.scm @@ -255,6 +255,24 @@ (define %graphviz-backend emit-prologue emit-epilogue emit-node emit-edge)) +(define (emit-edgelist-prologue name port) + (display "" port)) + +(define (emit-edgelist-epilogue port) + (display "" port)) + +(define (emit-edgelist-node id label port) + (format port "package, ~a, ~a\n" label id)) + +(define (emit-edgelist-edge id1 id2 port) + (format port "depends, ~a, ~a\n" id1 id2)) + +(define %edgelist-backend + (graph-backend "edgelist" + "Generate graph in CSV edge list format" + emit-edgelist-prologue emit-edgelist-epilogue + emit-edgelist-node emit-edgelist-edge)) + ;;; ;;; d3js export. @@ -338,7 +356,8 @@ (define %cypher-backend (define %graph-backends (list %graphviz-backend %d3js-backend - %cypher-backend)) + %cypher-backend + %edgelist-backend)) (define (lookup-backend name) "Return the graph backend called NAME. Raise an error if it is not found." --=-=-=--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Kyle Andrews <kyle@HIDDEN> Subject: bug#61527: Acknowledgement ([PATCH] Add edgelist graph backend) Message-ID: <handler.61527.B.167643904828911.ack <at> debbugs.gnu.org> References: <875yc3sdfo.fsf@HIDDEN> X-Gnu-PR-Message: ack 61527 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 61527 <at> debbugs.gnu.org Date: Wed, 15 Feb 2023 05:31:01 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 61527 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 61527: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D61527 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: [bug#61527] [PATCH] Add edgelist graph backend Resent-From: Simon Tournier <zimon.toutoune@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Wed, 15 Feb 2023 16:34:02 +0000 Resent-Message-ID: <handler.61527.B61527.16764787954543 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 61527 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Kyle Andrews <kyle@HIDDEN>, 61527 <at> debbugs.gnu.org Received: via spool by 61527-submit <at> debbugs.gnu.org id=B61527.16764787954543 (code B ref 61527); Wed, 15 Feb 2023 16:34:02 +0000 Received: (at 61527) by debbugs.gnu.org; 15 Feb 2023 16:33:15 +0000 Received: from localhost ([127.0.0.1]:33758 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pSKiY-0001BC-D1 for submit <at> debbugs.gnu.org; Wed, 15 Feb 2023 11:33:14 -0500 Received: from mail-wr1-f49.google.com ([209.85.221.49]:37845) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zimon.toutoune@HIDDEN>) id 1pSKiV-0001Au-Sm for 61527 <at> debbugs.gnu.org; Wed, 15 Feb 2023 11:33:12 -0500 Received: by mail-wr1-f49.google.com with SMTP id m10so10844398wrn.4 for <61527 <at> debbugs.gnu.org>; Wed, 15 Feb 2023 08:33:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1676478786; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=eigV7drV3uP9KCIfVNbWRt/BPX9bTfNIEB8UZZ/0Ilc=; b=jwNTb/MSGL3nKwHujq53zOh4To5JnsbmQOJnG/N8tYs7+6CdCCTEIstBeIcKpM+i95 va2a4eMFTWsgla4yhGKlateITWxEnXpB6hS8X1FHnC/UVo6oxm6LZDcxH5gcob3qek2u w8DYQ/SkZXnUTWlACa87dtuoEeYt0RiXOPEyOqsNv84NLeYnvanXvYm+us7NLb+GFzKo mkKIdOpD+cSA5ra+YZ8d+DQkwmGFKRHHTfT6HckdWMzLLAF6G1MLlrlF43FjUbfdrbN/ Y3n2aEeoyOEVhf3jkvk1wGUt6SD8RYBRpIVeWnLOT81yj18/TrpFJuR7RrliuEcM2S/H 3mug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1676478786; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:to:from:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=eigV7drV3uP9KCIfVNbWRt/BPX9bTfNIEB8UZZ/0Ilc=; b=LZKu9LxqHoIE4Ya3BdvCJvMvETnVCuehTJc3HfJWUpmR9Th4Tp9ZxcTYl84HmgZx1+ s9hUCW2SB5oAlSs4YlD1KaHSpN5QWqTgbF+Z9C7bVUG+F1xX912kWWp60lulEfNNctIq Z5EOnwEIbKHaFutb7aL54fgW1I4+VIzv2/0QMNvV9v0VNebmTmUu8alwXBJ/swlnSJOf O6UWjY29jCOTfIWcm9H+y9keYwmx5j62XBs30GClD8V2jSre5A9jh38A6+L51URI+Xy/ SadjSUNCTDcLiE8yVnml8EyIUT/eqWJkcRSqoF01AzinH/+gPPT3l5VsVL5j5GHv9BsW 5bRg== X-Gm-Message-State: AO0yUKXRTbJuk9cACk67KklE+eDbG9d/kpDjMHE5woOD7pUIASu2GTBt jTnWB5/RTAvBhy0P8U8tTJOGB+tV5M4= X-Google-Smtp-Source: AK7set+FicAwITKGBJDhnO3JO4oTh4uexumP4x8V+AjyPHKF6aVFJE6Y9ezQ/46Iw/YxHmQENEc96A== X-Received: by 2002:adf:dd82:0:b0:2c3:d296:7a94 with SMTP id x2-20020adfdd82000000b002c3d2967a94mr1573745wrl.3.1676478785861; Wed, 15 Feb 2023 08:33:05 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id h12-20020adff4cc000000b002be505ab59asm16176885wrp.97.2023.02.15.08.33.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Feb 2023 08:33:05 -0800 (PST) From: Simon Tournier <zimon.toutoune@HIDDEN> In-Reply-To: <875yc3sdfo.fsf@HIDDEN> References: <875yc3sdfo.fsf@HIDDEN> Date: Wed, 15 Feb 2023 17:32:47 +0100 Message-ID: <86h6vmdh3k.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi, On Wed, 15 Feb 2023 at 05:21, Kyle Andrews <kyle@HIDDEN> wrote: > Dear Guix, > > I would like to be able to conveniently analyze Guix package > dependencies using general purpose network analysis software such as > igraph. To achieve this, I have added another backend to Guix and which > is exposed via guix graph which spits out a three column table that, > while not technically and edge list, is readily transformed into one > with minimal data munging. You might be interested by [1] where I export all the packages as JSON-like (Python dictionary) and then import with python-networkx. Feel free to report your analyses, I am very interested by such. :-) 1: https://yhetil.org/guix/874ju4qyd4.fsf@HIDDEN > +(define (emit-edgelist-prologue name port) > + (display "" port)) Here, I would add the description of the data as header of the CSV-like file. For instance, something: --8<---------------cut here---------------start------------->8--- # type, name-or-edge1, item-or-edge2 # package, name, item # depends, edge1, edge2 --8<---------------cut here---------------end--------------->8--- Well, is this format a standard format for representing graph? From igraph documentation [1], it reads =E2=80=99igraph_read_graph_edgelist= =E2=80=99: This format is simply a series of an even number of non-negative integers separated by whitespace. The integers represent vertex IDs. Placing each edge (i.e. pair of integers) on a separate line is not required, but it is recommended for readability. Edges of directed graphs are assumed to be in "from, to" order. so maybe it could be nice to use this plain list for the edgelist backend. WDYT? 1: https://igraph.org/c/doc/igraph-Foreign.html#igraph_read_graph_edgelist Cheers, simon
X-Loop: help-debbugs@HIDDEN Subject: [bug#61527] [PATCH] Add edgelist graph backend Resent-From: Kyle Andrews <kyle@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Thu, 16 Feb 2023 05:30:02 +0000 Resent-Message-ID: <handler.61527.B61527.167652537418309 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 61527 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Simon Tournier <zimon.toutoune@HIDDEN> Cc: 61527 <at> debbugs.gnu.org Received: via spool by 61527-submit <at> debbugs.gnu.org id=B61527.167652537418309 (code B ref 61527); Thu, 16 Feb 2023 05:30:02 +0000 Received: (at 61527) by debbugs.gnu.org; 16 Feb 2023 05:29:34 +0000 Received: from localhost ([127.0.0.1]:34641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pSWpq-0004lF-7n for submit <at> debbugs.gnu.org; Thu, 16 Feb 2023 00:29:34 -0500 Received: from mout01.posteo.de ([185.67.36.65]:45333) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <kyle@HIDDEN>) id 1pSWpl-0004ky-Ki for 61527 <at> debbugs.gnu.org; Thu, 16 Feb 2023 00:29:33 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 4ED092401F1 for <61527 <at> debbugs.gnu.org>; Thu, 16 Feb 2023 06:29:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1676525363; bh=MqV9IK5pBXsoPMgCJjTwtvyhFVTxd9+aeEZClKUaLs8=; h=From:To:Cc:Subject:Date:From; b=puDAX0r+PpTyjrVw9+cyDAPfUb7+Kkdz5DzBRfPfOD/Bv1wVOlB9TsByL0AyFCxhg Nye0vL0LJtMTT2q6O3+6k7OQv2EM6qCkw4AuywNuwMfG+bWCBbLEasCLHkiFvxk8CR IOxFCfs9V7XA9qgolxWz4sq74d/AP0Ky5Kpap5BjfAS3GcWh8rLgCh30KPnC98GLjC ANR0Awc+Jyr0cN7Z/+pvVUu3BIa3eT/m4wEejiCTu5wyFhs6BTCNwC/HYxgJmEkEiv WcUiLhqhlCOj1QzpPHJj8lG1IJCIkuOROv1kI4HdzNM3Ap3k/PKPL+lOXkGeALMqR6 60Q4sfUJJNbOA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4PHNmK3hJRz6tmd; Thu, 16 Feb 2023 06:29:20 +0100 (CET) References: <875yc3sdfo.fsf@HIDDEN> <86h6vmdh3k.fsf@HIDDEN> From: Kyle Andrews <kyle@HIDDEN> Date: Thu, 16 Feb 2023 03:28:34 +0000 In-reply-to: <86h6vmdh3k.fsf@HIDDEN> Message-ID: <878rgynpox.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Simon Tournier <zimon.toutoune@HIDDEN> writes: > Hi, > > On Wed, 15 Feb 2023 at 05:21, Kyle Andrews <kyle@HIDDEN> wrote: >> Dear Guix, >> >> I would like to be able to conveniently analyze Guix package >> dependencies using general purpose network analysis software such as >> igraph. To achieve this, I have added another backend to Guix and which >> is exposed via guix graph which spits out a three column table that, >> while not technically and edge list, is readily transformed into one >> with minimal data munging. > > You might be interested by [1] where I export all the packages as > JSON-like (Python dictionary) and then import with python-networkx. > > Feel free to report your analyses, I am very interested by such. :-) That's my plan. I hope to provide Guix developers some tools to guide their efforts. Of course, I would really like to make networks of many more things in Guix including the Guile code itself and the Git history. > 1: https://yhetil.org/guix/874ju4qyd4.fsf@HIDDEN That looks like a great reference! With regards to your query about graphs in that email, I remember there being a Racket library which provides the core graph data structures. Maybe those could be ported to guile? However, I wonder if it would more practical for guile to interface with igraph. >> +(define (emit-edgelist-prologue name port) >> + (display "" port)) > > Here, I would add the description of the data as header of the CSV-like > file. For instance, something: > > --8<---------------cut here---------------start------------->8--- > # type, name-or-edge1, item-or-edge2 > # package, name, item > # depends, edge1, edge2 > --8<---------------cut here---------------end--------------->8--- I toyed with calling columns 2 and 3 "parent/child", "source/sink", "input/output", "origin/destination". The "input/output" option sounds the best to me. > Well, is this format a standard format for representing graph? No it's not. Since I am not particularly comfortable with guile, I was hesitant to make extensive changes to the existing backend code. If I could have produced just the "depends" lines with the integers substituted with their meaningful names@versions, I would have done that instead. If I could pass id1 id2 label1 label2 to all of the emit procedures that would be pretty handy! For example: ``` input, output package1@HIDDEN, package3@HIDDEN package1@HIDDEN, package2@HIDDEN ... ``` Technically, R programmers would probably first turn this into a matrix or a data frame. That intermediate step would provide a convenient opportuntity to extract out the versions strings so that networks could more readily be compared across commits and branches. The versions could be added back in later as node attributes. Just as with relational tables, network analysis gets much more powerful when they have lots of attributes, some of which may refer to hash table keys pointing to other data structures. For example, libressl and openssl might share a protocol attribute with a value of "SSL". With a rich set of attributes data, researchers could start thinking about how to sample from the distribution of possible alternative system configurations when doing reproducibility studies. This might reveal "hot spots" of irreproducibility which package authors could be looking out for. That's one idea I just had while writing this email. I'm sure many people could come up with many more neat ideas if the biggest barriers to getting the data in the first place were removed. > From igraph documentation [1], it reads =E2=80=99igraph_read_graph_edgeli= st=E2=80=99: > > This format is simply a series of an even number of non-negative > integers separated by whitespace. The integers represent vertex > IDs. Placing each edge (i.e. pair of integers) on a separate > line is not required, but it is recommended for > readability. Edges of directed graphs are assumed to be in > "from, to" order. > > so maybe it could be nice to use this plain list for the edgelist > backend. WDYT? > > 1: https://igraph.org/c/doc/igraph-Foreign.html#igraph_read_graph_edgelist This is exactly why I did what I did in this patch. Just by filtering rows with "depends" in the first column, you get the edge list the igraph manual describes. To get the labels, you just need to filter rows with "package" instead. These are straightfoward post processing steps for many R and python users. I don't like the idea of just returning integers though. It's no fun to not be able to readily see what nodes refer to. That's why I prefer the CSV view of things with descriptive labels. Thanks for looking at my patch! Cheers, Kyle
X-Loop: help-debbugs@HIDDEN Subject: [bug#61527] [PATCH] Add edgelist graph backend Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Mon, 27 Feb 2023 22:49:01 +0000 Resent-Message-ID: <handler.61527.B61527.16775381151964 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 61527 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Kyle Andrews <kyle@HIDDEN> Cc: 61527 <at> debbugs.gnu.org, Simon Tournier <zimon.toutoune@HIDDEN> Received: via spool by 61527-submit <at> debbugs.gnu.org id=B61527.16775381151964 (code B ref 61527); Mon, 27 Feb 2023 22:49:01 +0000 Received: (at 61527) by debbugs.gnu.org; 27 Feb 2023 22:48:35 +0000 Received: from localhost ([127.0.0.1]:49153 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pWmIN-0000Vb-9g for submit <at> debbugs.gnu.org; Mon, 27 Feb 2023 17:48:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1pWmIK-0000V4-UF for 61527 <at> debbugs.gnu.org; Mon, 27 Feb 2023 17:48:33 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1pWmIF-00065O-Ex; Mon, 27 Feb 2023 17:48:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=JbUbXzzNpzQVeVekx8ndpcq1ozFxZBg2Csbn5ZA9A7A=; b=iKPrILfuiOJwZ3VMAtNy f8dSnl2Tumb35J/Oz+niz27N8Z2IEMG0jRFeyxRGzPCk3XVLYxFohKZD9DtMTLy+churZyN0waM9Q DoUkL1qnYXlFcF66FeWcG7EYdLIFIK2K6+xwOaYm49964uxaDoPklh/ZPE1mrdNpkCwEUOUvzyslB F/aldldVnR7p6uNEQVUOVHEZ7NlZ7NxrJiFIgF4Dm9XF/1SXkgtGPHA6WH7zx0o6SkG6v3qb9gXHL JjkclE99w6CoKPbuvFc8sBE0/bfCzSt7/Wp5JaZzGtUla3RiM5EK53Wi/J6e10vvcw4uOVIpwUD4A 23VD1Zw3eK2EHg==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1pWmIE-0005rJ-TO; Mon, 27 Feb 2023 17:48:27 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> References: <875yc3sdfo.fsf@HIDDEN> Date: Mon, 27 Feb 2023 23:48:25 +0100 In-Reply-To: <875yc3sdfo.fsf@HIDDEN> (Kyle Andrews's message of "Wed, 15 Feb 2023 05:21:35 +0000") Message-ID: <87bkleg1xi.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hello Kyle, Kyle Andrews <kyle@HIDDEN> skribis: > I would like to be able to conveniently analyze Guix package > dependencies using general purpose network analysis software such as > igraph. To achieve this, I have added another backend to Guix and which > is exposed via guix graph which spits out a three column table that, > while not technically and edge list, is readily transformed into one > with minimal data munging. Is =E2=80=9CCSV edge list=E2=80=9D some sort of a standard format, or is it= more of an idea you came up with? The patch LGTM but we=E2=80=99ll need a couple more things: 1. Maybe emitting extra metadata as Simon suggested. 2. Adding documentation under =E2=80=9CInvoking guix graph=E2=80=9D. In = particular, it=E2=80=99d be nice to have an example showing how to query the gener= ated CSV with igraph. 3. Ideally a full patch with commit log as generated with =E2=80=98git format-patch=E2=80=99. :-) Could you send an updated patch? Thank you! Ludo=E2=80=99.
X-Loop: help-debbugs@HIDDEN Subject: [bug#61527] [PATCH] Add edgelist graph backend Resent-From: Simon Tournier <zimon.toutoune@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Tue, 28 Feb 2023 10:37:02 +0000 Resent-Message-ID: <handler.61527.B61527.16775806051158 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 61527 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Kyle Andrews <kyle@HIDDEN> Cc: 61527 <at> debbugs.gnu.org Received: via spool by 61527-submit <at> debbugs.gnu.org id=B61527.16775806051158 (code B ref 61527); Tue, 28 Feb 2023 10:37:02 +0000 Received: (at 61527) by debbugs.gnu.org; 28 Feb 2023 10:36:45 +0000 Received: from localhost ([127.0.0.1]:49792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pWxLh-0000IX-E8 for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 05:36:45 -0500 Received: from mail-wm1-f45.google.com ([209.85.128.45]:39529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <zimon.toutoune@HIDDEN>) id 1pWxLY-0000Hq-5J for 61527 <at> debbugs.gnu.org; Tue, 28 Feb 2023 05:36:39 -0500 Received: by mail-wm1-f45.google.com with SMTP id t25-20020a1c7719000000b003eb052cc5ccso8720837wmi.4 for <61527 <at> debbugs.gnu.org>; Tue, 28 Feb 2023 02:36:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677580590; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=VT7FEhda+PkYeKkQoOKf2o/onDNeM/s0qBsI/xnwjxg=; b=TQHOPqW/zg4foD2b37STSHASjfOohjfzgT/C1gYPvp++MEUtmbaKRKLFg32o+Q7TA8 m8q8N6s0h+hjovznXE/aWU0n44Lz4jie5elE/p1lXqmViOHo9MV94BnQFvib46bxMxn/ CQfViWNHpKVoUqCpdAGMgE0eMU8SDGqzKyOo4tiDpcJhZyk0XTsl2EsDNkGiEhEVwrmi /YqI2ATyJAdfotNHcAASIu2HaYCvJXOGJnBm31IuHe3VNau5hbXqXSYzeO1j4RowbxZ4 QWOl+JakF5vVsRVij1e5njGUQlV/Awo0sj6UxsfoeTkuSslSgWhxoF80MxLcF9DUlIH8 fylA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677580590; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VT7FEhda+PkYeKkQoOKf2o/onDNeM/s0qBsI/xnwjxg=; b=DSyku5HAriubG1sEr7F+FMlFokKEetseTMg8dlNcTEfFZKTQYduMEtililx1qAed78 yFaPikG95QcqzPft8HIwyCaHGxeY3hH7EmDppbhqa2hBfz29Mk5INpNpXfJDk2s3FUkf ks+JWjq2SoDXWb0FkTl8IkxZdi6AMxAtGOHyEvwiTGrO17XJpbF3ClrUAiYCon9QNbHX cIufK3f26JJcLPmwpgb+NC50efkHjP/7CsLBrttw/8Ul0R15BCAM9sBdZLb1QVk/sYEQ 9ZJ3qjcX4heKD7dNdGO86J65Ttm12PGABlCsPFQLBR8o38mE8fzJRuBczDKGoWQ3JIRO F7cQ== X-Gm-Message-State: AO0yUKXje4mb96HO98IpyDe45UKyJJJLRTR30p5X1p6ByfkBlx3sFiA/ 4JdAaGGtGwOUbYzqHiEtPa4UMVa2HVQ= X-Google-Smtp-Source: AK7set9mk+0uhXGXZ+TOwii+MPapN+jcU7DEe7vkGsgh9iCaShxYraCpLZWzxWtxWKAueKMNIbC8fg== X-Received: by 2002:a05:600c:444c:b0:3eb:42f6:ac55 with SMTP id v12-20020a05600c444c00b003eb42f6ac55mr1881897wmn.1.1677580589931; Tue, 28 Feb 2023 02:36:29 -0800 (PST) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id l20-20020a05600c4f1400b003e20cf0408esm12911965wmq.40.2023.02.28.02.36.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Feb 2023 02:36:29 -0800 (PST) From: Simon Tournier <zimon.toutoune@HIDDEN> In-Reply-To: <87bkleg1xi.fsf@HIDDEN> References: <875yc3sdfo.fsf@HIDDEN> <87bkleg1xi.fsf@HIDDEN> Date: Tue, 28 Feb 2023 10:21:51 +0100 Message-ID: <87cz5ukuvk.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi Kyle, Thank you for your inputs on the topic. :-) On lun., 27 f=C3=A9vr. 2023 at 23:48, Ludovic Court=C3=A8s <ludo@HIDDEN> w= rote: > Is =E2=80=9CCSV edge list=E2=80=9D some sort of a standard format, or is = it more of an > idea you came up with? In addition to Ludo=E2=80=99s suggestions below, and commenting your answer= [1], instead of =E2=80=9Cedgelist=E2=80=9D backend =E2=80=93 which seems well do= cumented by igraph so it could be confusing for igraph folk, if any :-) =E2=80=93 instead of =E2=80=9Cedgelist=E2=80=9D backend I would use =E2=80=9Ccsv=E2=80=9D. WDYT? Quoting [1] for context: > > Here, I would add the description of the data as header of the CSV-like > > file. For instance, something: > > > > --8<---------------cut here---------------start------------->8--- > > # type, name-or-edge1, item-or-edge2 > > # package, name, item > > # depends, edge1, edge2 > > --8<---------------cut here---------------end--------------->8--- > > I toyed with calling columns 2 and 3 "parent/child", "source/sink", > "input/output", "origin/destination". The "input/output" option sounds > the best to me. This =E2=80=9Cinput/output=E2=80=9D does not sound to me. I would keep som= ething like: --8<---------------cut here---------------start------------->8--- # type, name-or-from, vertex-or-to # package, name, vertex # depends, from, to --8<---------------cut here---------------end--------------->8--- Thinking a bit about this format, I agree with you that this =E2=80=9Cforma= t=E2=80=9D covers various needs feeding Python, R, etc. graph libraries. And it is easy to filter via plain pipe =E2=80=9C| grep depends=E2=80=9C or else. 1: <https://issues.guix.gnu.org/msgid/878rgynpox.fsf@HIDDEN> > The patch LGTM but we=E2=80=99ll need a couple more things: > > 1. Maybe emitting extra metadata as Simon suggested. > > 2. Adding documentation under =E2=80=9CInvoking guix graph=E2=80=9D. I= n particular, > it=E2=80=99d be nice to have an example showing how to query the gen= erated > CSV with igraph. > > 3. Ideally a full patch with commit log as generated with =E2=80=98git > format-patch=E2=80=99. :-) > > Could you send an updated patch? Let me know if you need help. :-) Cheers, simon
X-Loop: help-debbugs@HIDDEN Subject: [bug#61527] [PATCH] Add edgelist graph backend Resent-From: Kyle Andrews <kyle@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Wed, 01 Mar 2023 04:21:01 +0000 Resent-Message-ID: <handler.61527.B61527.16776444595226 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 61527 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Simon Tournier <zimon.toutoune@HIDDEN> Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 61527 <at> debbugs.gnu.org Received: via spool by 61527-submit <at> debbugs.gnu.org id=B61527.16776444595226 (code B ref 61527); Wed, 01 Mar 2023 04:21:01 +0000 Received: (at 61527) by debbugs.gnu.org; 1 Mar 2023 04:20:59 +0000 Received: from localhost ([127.0.0.1]:52380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pXDxb-0001ME-4a for submit <at> debbugs.gnu.org; Tue, 28 Feb 2023 23:20:59 -0500 Received: from mout01.posteo.de ([185.67.36.65]:35725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <kyle@HIDDEN>) id 1pXDxZ-0001Lw-2r for 61527 <at> debbugs.gnu.org; Tue, 28 Feb 2023 23:20:57 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 268D42405BF for <61527 <at> debbugs.gnu.org>; Wed, 1 Mar 2023 05:20:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1677644451; bh=j6cOmGtX/RSsjAGwDvVqK5mSQ/WDC0jWF7/W0AWEGL4=; h=From:To:Cc:Subject:Date:From; b=ChieRf4Lfk733OMjprUN95sLXJ5F2+/rhHpOzGTcj9dB5Rqh6/QG0YhgYe5POKIO1 LLQgmYia6ImgkFzUNrH6M1DZiSXzya/PBo0rUCdCZHdGR5WUX21WBthPpPHH/sOd1D b99yFOu3zXc+vuiHSwuEGEioyl3rxNk6OXrsuLmi764IZpH5P5ITPrOktqsBh6kOUW gQv+avQzlzAISh2J8f4aECsVMg7bSUmAZUCv1Lmd/Ms4OimFLhqh9ga/Q61AZ+Ki8M lLIvH/IO79ZNPQvit4Oh/02xFMvD3Lo5YL7zRvOkkizEeX5Px/LVrFg2UtzR7T8140 skAZkFJzSYQow== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4PRLdB5SJkz6trS; Wed, 1 Mar 2023 05:20:43 +0100 (CET) References: <875yc3sdfo.fsf@HIDDEN> <87bkleg1xi.fsf@HIDDEN> <87cz5ukuvk.fsf@HIDDEN> From: Kyle Andrews <kyle@HIDDEN> Date: Wed, 01 Mar 2023 03:49:33 +0000 In-reply-to: <87cz5ukuvk.fsf@HIDDEN> Message-ID: <875yblgl0m.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Simon Tournier <zimon.toutoune@HIDDEN> writes: > Hi Kyle, > > Thank you for your inputs on the topic. :-) > > > On lun., 27 f=C3=A9vr. 2023 at 23:48, Ludovic Court=C3=A8s <ludo@HIDDEN>= wrote: > >> Is =E2=80=9CCSV edge list=E2=80=9D some sort of a standard format, or is= it more of an >> idea you came up with? > > In addition to Ludo=E2=80=99s suggestions below, and commenting your answ= er [1], > instead of =E2=80=9Cedgelist=E2=80=9D backend =E2=80=93 which seems well = documented by igraph so > it could be confusing for igraph folk, if any :-) =E2=80=93 instead of > =E2=80=9Cedgelist=E2=80=9D backend I would use =E2=80=9Ccsv=E2=80=9D. WD= YT? I agree 'csv' would be less confusing since in reality there are two (normalized) tables embedded in one in the output. > Quoting [1] for context: > >> > Here, I would add the description of the data as header of the CSV-like >> > file. For instance, something: >> > >> > --8<---------------cut here---------------start------------->8--- >> > # type, name-or-edge1, item-or-edge2 >> > # package, name, item >> > # depends, edge1, edge2 >> > --8<---------------cut here---------------end--------------->8--- >> >> I toyed with calling columns 2 and 3 "parent/child", "source/sink", >> "input/output", "origin/destination". The "input/output" option sounds >> the best to me. > > This =E2=80=9Cinput/output=E2=80=9D does not sound to me. I would keep s= omething like: > > --8<---------------cut here---------------start------------->8--- > # type, name-or-from, vertex-or-to > # package, name, vertex > # depends, from, to > --8<---------------cut here---------------end--------------->8--- I like the name "table" for the first column following my rationale above. For the second and third columns my sense of style and experience working with data in R, I tend to prefer shorter vaguer names which are easier to type. I hope it should be clear from context what is a label for a vertex and what is an id for vertex. It would make more sense to me to explain the meaning of each column in a "data dictionary" included in the documentation, rather than sacrifice interactive convenience. > Thinking a bit about this format, I agree with you that this =E2=80=9Cfor= mat=E2=80=9D > covers various needs feeding Python, R, etc. graph libraries. And it is > easy to filter via plain pipe =E2=80=9C| grep depends=E2=80=9C or else. Exactly. > > 1: <https://issues.guix.gnu.org/msgid/878rgynpox.fsf@HIDDEN> > > >> The patch LGTM but we=E2=80=99ll need a couple more things: >> >> 1. Maybe emitting extra metadata as Simon suggested. Mostly done depending on whether you will be satisfied with my "data dictionary" idea. >> 2. Adding documentation under =E2=80=9CInvoking guix graph=E2=80=9D. = In particular, >> it=E2=80=99d be nice to have an example showing how to query the ge= nerated >> CSV with igraph. I have not added an example yet but I did mention the backend in the documentation with a short description. >> 3. Ideally a full patch with commit log as generated with =E2=80=98git >> format-patch=E2=80=99. :-) >> Could you send an updated patch? Sorry, I tried to send an updated patch without reading (2) closely enough. So, it's missing the example. I also want to add the data dictionary I mentioned above. I used git send-email for this task. --8<---------------cut here---------------start------------->8--- git send-email *.patch --to=3Dguix-patches@HIDDEN --8<---------------cut here---------------end--------------->8--- Is that the preferred way to do it? I'm not quite sure how debbugs associates the issue numbers. > > Let me know if you need help. :-) Thanks, for the offer! I really appreciate your patience. > Cheers, > simon
Received: (at control) by debbugs.gnu.org; 1 Mar 2023 09:32:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 01 04:32:17 2023 Received: from localhost ([127.0.0.1]:52706 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pXIoq-000789-Ou for submit <at> debbugs.gnu.org; Wed, 01 Mar 2023 04:32:16 -0500 Received: from mailrelay.tugraz.at ([129.27.2.202]:42935) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <liliana.prikler@HIDDEN>) id 1pXIop-00077p-8c for control <at> debbugs.gnu.org; Wed, 01 Mar 2023 04:32:16 -0500 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4PRTXW439cz3ws4; Wed, 1 Mar 2023 10:32:08 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1677663131; bh=9MDoZLRkTYDHtCfq7HStjH2/RJI8nlz/LpoAnjdG9xc=; h=Subject:From:To:Cc:Date; b=kqeVv7d7JUjfhj0Lgogs8q4Fy+7EsyVfwNqoexaO1+EyZFtghYqcNvhM0QzRdNo0X nr2tp1h6PjG4BH8jIHfkMeEWSPmf1AVR9uugXCLOvqXWORZvaTspTQQ1d33VL43tcl Mqaeoa8LO/dcDThqKfaTKArOVrGoyzKvFgyDppfM= Message-ID: <a2064a92dd87c1c6509e3096e8df7d23493e3f16.camel@HIDDEN> Subject: From: Liliana Marie Prikler <liliana.prikler@HIDDEN> To: control <at> debbugs.gnu.org Date: Wed, 01 Mar 2023 10:32:07 +0100 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.0 MIME-Version: 1.0 X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -0.3 (/) X-Debbugs-Envelope-To: control Cc: Kyle Andrews <kyle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.3 (-) merge 61527 61888 thanks @Kyle: Next time, use the reroll-count option of git send-email and resend your patch to the bug that's already open. Cheers=20
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.