all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#40757] New package: VisiData
@ 2020-04-22  0:51 Ryan Prior via Guix-patches via
  2020-04-22 15:53 ` Jack Hill
  2020-04-23  5:24 ` bug#40757: " Ricardo Wurmus
  0 siblings, 2 replies; 7+ messages in thread
From: Ryan Prior via Guix-patches via @ 2020-04-22  0:51 UTC (permalink / raw)
  To: 40757


[-- Attachment #1.1: Type: text/plain, Size: 579 bytes --]

Hi Guix! This patch adds a package for VisiData.

VisiData is an interactive multitool for tabular data. It combines the clarity of a spreadsheet, the efficiency of the terminal, and the power of Python, into a lightweight utility which can handle millions of rows with ease. https://www.visidata.org/, GPLv3

Tests are disabled because they are not packaged with the source tarball.
You can view test status here: https://circleci.com/gh/saulpw/visidata/tree/stable
Upstream suggests tests will be packaged with their source tarball around their 2.0 release.

Cheers,
Ryan Prior

[-- Attachment #1.2: Type: text/html, Size: 826 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-visidata.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-visidata.patch", Size: 3296 bytes --]

From a86e002cd133371eafbd1adbf1354afd3796c9eb Mon Sep 17 00:00:00 2001
From: Ryan Prior <rprior@protonmail.com>
Date: Tue, 21 Apr 2020 16:56:42 -0500
Subject: [PATCH] gnu: Add visidata.

* gnu/packages/visidata.scm (visidata): New variable.
---
 gnu/packages/visidata.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100644 gnu/packages/visidata.scm

diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm
new file mode 100644
index 0000000000..d9df94dc9b
--- /dev/null
+++ b/gnu/packages/visidata.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (visidata)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages python-science)
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages time)
+  #:use-module (gnu packages xml)
+  #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module (guix licenses)
+  #:use-module (guix packages))
+
+(define-public visidata
+  (package
+   (name "visidata")
+   (version "1.5.2")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "https://github.com/saulpw/visidata/archive/v" version ".tar.gz"))
+            (sha256 (base32 "0h7hq6bnc8svkcc9995kkmgcb9n5qgm85rsshzzdicmg9rg3ymhi"))))
+   (build-system python-build-system)
+   (arguments '(#:tests? #f))
+   ;; Tests disabled because they are not packaged with the source tarball.
+   ;; View test status here: https://circleci.com/gh/saulpw/visidata/tree/stable
+   ;; Upstream suggests tests will be packaged with tarball around 2.0 release.
+   (native-inputs
+    `(("python-dateutil" ,python-dateutil)
+      ("python-fonttools" ,python-fonttools)
+      ("python-h5py" ,python-h5py)
+      ("python-lxml" ,python-lxml)
+      ("python-openpyxl" ,python-openpyxl)
+      ("python-psycopg2" ,python-psycopg2)
+      ("python-pyyaml" ,python-pyyaml)
+      ("python-requests" ,python-requests)
+      ("python-xlrd" ,python-xlrd)
+      ("python-pandas" ,python-pandas)))
+   (synopsis "Visidata: A terminal spreadsheet multitool for discovering and arranging data")
+   (description
+    "VisiData is an interactive multitool for tabular data. It combines the
+clarity of a spreadsheet, the efficiency of the terminal, and the power of
+Python, into a lightweight utility which can handle millions of rows with ease.")
+   (home-page "https://www.visidata.org/")
+   (license gpl3)))
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#40757] New package: VisiData
  2020-04-22  0:51 [bug#40757] New package: VisiData Ryan Prior via Guix-patches via
@ 2020-04-22 15:53 ` Jack Hill
  2020-04-22 20:24   ` Ryan Prior via Guix-patches via
  2020-04-23  5:25   ` Ricardo Wurmus
  2020-04-23  5:24 ` bug#40757: " Ricardo Wurmus
  1 sibling, 2 replies; 7+ messages in thread
From: Jack Hill @ 2020-04-22 15:53 UTC (permalink / raw)
  To: Ryan Prior; +Cc: 40757

Ryan,

On Wed, 22 Apr 2020, Ryan Prior via Guix-patches via wrote:

> Hi Guix! This patch adds a package for VisiData.
> 
> VisiData is an interactive multitool for tabular data. It combines the clarity of a
> spreadsheet, the efficiency of the terminal, and the power of Python, into a
> lightweight utility which can handle millions of rows with ease.
> https://www.visidata.org/, GPLv3

Thanks for the patch! This looks like some cool software.

I'm not an expert reviewer, but I'd like to try to help by offering the 
following suggestions for improvement.

>diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm
>new file mode 100644
>index 0000000000..d9df94dc9b
>--- /dev/null
>+++ b/gnu/packages/visidata.scm

When adding new modules, please also add the file to gnu/local.mk

>+(define-module (visidata)

The module name should be (gnu packages visidata) to match the filesystem 
path.

It might be helpful to catch problems like this to try to apply your patch 
apply your patch to a guix source checkout, and try building your package 
from there. The manual has some documentation about that, 
<https://guix.gnu.org/manual/en/html_node/Building-from-Git.html>, but I 
can answer questions as well.

>+(define-public visidata
>+  (package
>+   (name "visidata")
>+   (version "1.5.2")
>+   (source (origin
>+            (method url-fetch)
>+            (uri (string-append "https://github.com/saulpw/visidata/archive/v" version ".tar.gz"))

The GitHub archive URIs are not stable and could result in a different 
hash in the future. Often in these cases we use git-fetch, but since 
visidata is available on pypi, I would recommend

(uri (pypi-uri "visidata" version))

>+            (sha256 (base32 "0h7hq6bnc8svkcc9995kkmgcb9n5qgm85rsshzzdicmg9rg3ymhi"))))
>+   (build-system python-build-system)
>+   (arguments '(#:tests? #f))
>+   ;; Tests disabled because they are not packaged with the source tarball.
>+   ;; View test status here: https://circleci.com/gh/saulpw/visidata/tree/stable
>+   ;; Upstream suggests tests will be packaged with tarball around 2.0 release.

Nitpick: I would prefer to have the comment before the code. I think the 
line about circleci could be removed, but the other two seem good.

>+   (native-inputs
>+    `(("python-dateutil" ,python-dateutil)
>+      ("python-fonttools" ,python-fonttools)
>+      ("python-h5py" ,python-h5py)
>+      ("python-lxml" ,python-lxml)
>+      ("python-openpyxl" ,python-openpyxl)
>+      ("python-psycopg2" ,python-psycopg2)
>+      ("python-pyyaml" ,python-pyyaml)
>+      ("python-requests" ,python-requests)
>+      ("python-xlrd" ,python-xlrd)
>+      ("python-pandas" ,python-pandas)))

Are these all native inputs (required to make the build system run)? I 
expect that some of them could be moved to inputs (run-tine dependencies).

>+   (synopsis "Visidata: A terminal spreadsheet multitool for discovering and arranging data")

guix lint reports that the synopsis should not start with the package 
name. In this case, I think it could be changed to, "Terminal spreadsheet 
for discovering and arranging data".

>+   (description
>+    "VisiData is an interactive multitool for tabular data. It combines the

Please use two spaces between sentences in the description.

>+clarity of a spreadsheet, the efficiency of the terminal, and the power of
>+Python, into a lightweight utility which can handle millions of rows with ease.")

Nitpick: "with ease" sounds like a marketing term, and I believe we can 
leave it out here.

>+   (home-page "https://www.visidata.org/")
>+   (license gpl3)))

In other modules, we import licenses with the license: prefix, so we can 
refer to licenses as like license:gpl3. It might be nice to do that 
here for consistency as well.

The vdtui.py file is under the expat license, so we should record that 
here. With these changes the license field would become something like:

(license (list license:gpl3
                license:expat)) ; visidata/vdtui.py

Thanks and all the best,
Jack

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#40757] New package: VisiData
  2020-04-22 15:53 ` Jack Hill
@ 2020-04-22 20:24   ` Ryan Prior via Guix-patches via
  2020-04-22 21:03     ` Jack Hill
  2020-04-23  5:25   ` Ricardo Wurmus
  1 sibling, 1 reply; 7+ messages in thread
From: Ryan Prior via Guix-patches via @ 2020-04-22 20:24 UTC (permalink / raw)
  To: Jack Hill; +Cc: 40757@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 365 bytes --]

Hi Jack,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, April 22, 2020 3:53 PM, Jack Hill <jackhill@jackhill.us> wrote:


> I'm not an expert reviewer, but I'd like to try to help by offering the
> following suggestions for improvement.

Thank you for these suggestions! I've attached an updated version of the patch.

Ryan

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-visidata.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-visidata.patch", Size: 3951 bytes --]

From 5649ec22097278193426474b9a2f460cc3a931e0 Mon Sep 17 00:00:00 2001
From: Ryan Prior <rprior@protonmail.com>
Date: Tue, 21 Apr 2020 16:56:42 -0500
Subject: [PATCH] gnu: Add visidata.

* gnu/packages/visidata.scm (visidata): New variable.
---
 gnu/local.mk              |  2 ++
 gnu/packages/visidata.scm | 61 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+)
 create mode 100644 gnu/packages/visidata.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index e70715000a..0cf64063c8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -31,6 +31,7 @@
 # Copyright © 2020 R Veera Kumar <vkor@vkten.in>
 # Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
 # Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 #
 # This file is part of GNU Guix.
 #
@@ -521,6 +522,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/video.scm			\
   %D%/packages/vim.scm				\
   %D%/packages/virtualization.scm		\
+  %D%/packages/visidata.scm                     \
   %D%/packages/vnc.scm				\
   %D%/packages/vpn.scm				\
   %D%/packages/vulkan.scm			\
diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm
new file mode 100644
index 0000000000..9647b49289
--- /dev/null
+++ b/gnu/packages/visidata.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages visidata)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages python-science)
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages time)
+  #:use-module (gnu packages xml)
+  #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages))
+
+(define-public visidata
+  (package
+   (name "visidata")
+   (version "1.5.2")
+   (source (origin
+            (method url-fetch)
+            (uri (pypi-uri "visidata" version))
+            (sha256 (base32 "10adfyn4gkisvciqawgh2lakkhhnjjxiyp7mzbgcwkq1b3sigpf1"))))
+   (build-system python-build-system)
+   ;; Tests disabled because they are not packaged with the source tarball.
+   ;; Upstream suggests tests will be packaged with tarball around 2.0 release.
+   (arguments '(#:tests? #f))
+   (inputs
+    `(("python-dateutil" ,python-dateutil)
+      ("python-fonttools" ,python-fonttools)
+      ("python-h5py" ,python-h5py)
+      ("python-lxml" ,python-lxml)
+      ("python-openpyxl" ,python-openpyxl)
+      ("python-psycopg2" ,python-psycopg2)
+      ("python-pyyaml" ,python-pyyaml)
+      ("python-requests" ,python-requests)
+      ("python-xlrd" ,python-xlrd)
+      ("python-pandas" ,python-pandas)))
+   (synopsis "Terminal spreadsheet multitool for discovering and arranging data")
+   (description
+    "VisiData is an interactive multitool for tabular data.  It combines the
+clarity of a spreadsheet, the efficiency of the terminal, and the power of
+Python, into a lightweight utility which can handle millions of rows.")
+   (home-page "https://www.visidata.org/")
+   (license (list license:gpl3
+                  license:expat)))) ;; visidata/vdtui.py
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#40757] New package: VisiData
  2020-04-22 20:24   ` Ryan Prior via Guix-patches via
@ 2020-04-22 21:03     ` Jack Hill
  0 siblings, 0 replies; 7+ messages in thread
From: Jack Hill @ 2020-04-22 21:03 UTC (permalink / raw)
  To: Ryan Prior; +Cc: 40757@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 633 bytes --]

On Wed, 22 Apr 2020, Ryan Prior via Guix-patches via wrote:

> Hi Jack,
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Wednesday, April 22, 2020 3:53 PM, Jack Hill <jackhill@jackhill.us> wrote:
>
>
>> I'm not an expert reviewer, but I'd like to try to help by offering the
>> following suggestions for improvement.
>
> Thank you for these suggestions! I've attached an updated version of the patch.

You're welcome, and thanks for sending the updated patch.

I think now we're waiting on a more experienced reviewer to see if I 
missed anything, and if it looks good a committer to push your patch.

Best,
Jack

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#40757: New package: VisiData
  2020-04-22  0:51 [bug#40757] New package: VisiData Ryan Prior via Guix-patches via
  2020-04-22 15:53 ` Jack Hill
@ 2020-04-23  5:24 ` Ricardo Wurmus
  1 sibling, 0 replies; 7+ messages in thread
From: Ricardo Wurmus @ 2020-04-23  5:24 UTC (permalink / raw)
  To: Ryan Prior, Ryan Prior via Guix-patches; +Cc: 40757-done


Hi Ryan,

I’ve adjusted the patch to gnu/local.mk which no longer applied, changed
spaces to tabs in gnu/local.mk, fixed the indentation of visidata.scm,
ran “guix lint”, built it and tested it (didn’t know how to exit, so I
just did ^Zkill %1) … and pushed it to the master branch with commit
c47f48d972.

Thank you for your patch!

--
Ricardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#40757] New package: VisiData
  2020-04-22 15:53 ` Jack Hill
  2020-04-22 20:24   ` Ryan Prior via Guix-patches via
@ 2020-04-23  5:25   ` Ricardo Wurmus
  2020-04-23 15:29     ` Jack Hill
  1 sibling, 1 reply; 7+ messages in thread
From: Ricardo Wurmus @ 2020-04-23  5:25 UTC (permalink / raw)
  To: Jack Hill; +Cc: Ryan Prior, 40757


Hey Jack,

thanks to your review and Ryan’s response to it I only had to perform
minimal changes to apply the patch.  Thank you very much!

--
Ricardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#40757] New package: VisiData
  2020-04-23  5:25   ` Ricardo Wurmus
@ 2020-04-23 15:29     ` Jack Hill
  0 siblings, 0 replies; 7+ messages in thread
From: Jack Hill @ 2020-04-23 15:29 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: Ryan Prior, 40757

[-- Attachment #1: Type: text/plain, Size: 262 bytes --]

On Thu, 23 Apr 2020, Ricardo Wurmus wrote:

>
> Hey Jack,
>
> thanks to your review and Ryan’s response to it I only had to perform
> minimal changes to apply the patch.  Thank you very much!

You're welcome. It makes me happy to help where I can.

I 💚 Guix

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-04-23 15:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-22  0:51 [bug#40757] New package: VisiData Ryan Prior via Guix-patches via
2020-04-22 15:53 ` Jack Hill
2020-04-22 20:24   ` Ryan Prior via Guix-patches via
2020-04-22 21:03     ` Jack Hill
2020-04-23  5:25   ` Ricardo Wurmus
2020-04-23 15:29     ` Jack Hill
2020-04-23  5:24 ` bug#40757: " Ricardo Wurmus

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.