From 451742bcf658b0bc185e925d01d5b96355bda412 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 13 Jun 2019 16:06:23 +0100 Subject: gnu: Add python-leather. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wireservice.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès --- gnu/packages/wireservice.scm | 91 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 gnu/packages/wireservice.scm (limited to 'gnu/packages/wireservice.scm') diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm new file mode 100644 index 0000000000..290b027e7b --- /dev/null +++ b/gnu/packages/wireservice.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Pierre Langlois +;;; +;;; 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 . + +(define-module (gnu packages wireservice) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system python) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sphinx)) + +;; Base package definition for packages from https://github.com/wireservice. +;; This is done so we can share how to run tests and build documentation. +(define base-package + (package + (name #f) + (version #f) + (source #f) + (home-page #f) + (synopsis #f) + (description #f) + (build-system python-build-system) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "nosetests" "tests"))) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + ,(package-name this-package) + "-" + ,(package-version this-package)))) + (with-directory-excursion "docs" + (for-each + (lambda (target) + (invoke "make" target) + (copy-recursively (string-append "_build/" target) + (string-append doc "/" target))) + '("html" "dirhtml" "singlehtml" "text"))) + #t)))))) + (license license:expat))) + +(define-public python-leather + (package + (inherit base-package) + (name "python-leather") + (version "0.3.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/leather.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ck3dplni99sv4s117cbm07ydwwjsrxkhdy19rnk0iglia1d4s5i")))) + (native-inputs + `(("python-cssselect" ,python-cssselect) + ("python-lxml" ,python-lxml) + ,@(package-native-inputs base-package))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://leather.rtfd.org") + (synopsis "Python charting for 80% of humans") + (description "Leather is a Python charting library for those who need +charts now and don't care if they're perfect."))) -- cgit v1.2.3 From dc835e75ce2f8b192cddf9b20e3cffeb5722db6e Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 13 Jun 2019 16:06:24 +0100 Subject: gnu: Add python-agate. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wireservice.scm (python-agate): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wireservice.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'gnu/packages/wireservice.scm') diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm index 290b027e7b..db17c55cd8 100644 --- a/gnu/packages/wireservice.scm +++ b/gnu/packages/wireservice.scm @@ -25,7 +25,8 @@ #:use-module (gnu packages check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages sphinx)) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages time)) ;; Base package definition for packages from https://github.com/wireservice. ;; This is done so we can share how to run tests and build documentation. @@ -89,3 +90,35 @@ (synopsis "Python charting for 80% of humans") (description "Leather is a Python charting library for those who need charts now and don't care if they're perfect."))) + +(define-public python-agate + (package + (inherit base-package) + (name "python-agate") + (version "1.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "077zj8xad8hsa3nqywvf7ircirmx3krxdipl8wr3dynv3l3khcpl")))) + (native-inputs + `(("python-cssselect" ,python-cssselect) + ("python-lxml" ,python-lxml) + ,@(package-native-inputs base-package))) + (propagated-inputs + `(("python-babel" ,python-babel) + ("python-isodate" ,python-isodate) + ("python-leather" ,python-leather) + ("python-parsedatetime" ,python-parsedatetime) + ("python-pytimeparse" ,python-pytimeparse) + ("python-six" ,python-six) + ("python-slugify" ,python-slugify))) + (home-page "https://agate.rtfd.org") + (synopsis "Data analysis library") + (description "Agate is a Python data analysis library. It is an +alternative to numpy and pandas that solves real-world problems with readable +code. Agate was previously known as journalism."))) -- cgit v1.2.3 From 9b2850c8458747d6840538b1cf9a7f8b804bf17b Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 13 Jun 2019 16:06:25 +0100 Subject: gnu: Add python-agate-sql. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wireservice.scm (python-agate-sql): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wireservice.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages/wireservice.scm') diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm index db17c55cd8..575b63792b 100644 --- a/gnu/packages/wireservice.scm +++ b/gnu/packages/wireservice.scm @@ -23,6 +23,7 @@ #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages check) + #:use-module (gnu packages databases) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx) @@ -122,3 +123,26 @@ charts now and don't care if they're perfect."))) (description "Agate is a Python data analysis library. It is an alternative to numpy and pandas that solves real-world problems with readable code. Agate was previously known as journalism."))) + +(define-public python-agate-sql + (package + (inherit base-package) + (name "python-agate-sql") + (version "0.5.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-sql.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16q0b211n5b1qmhzkfl2jr56lda0rvyh5j1wzw26h2n4pm4wxlx2")))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-crate" ,python-crate) + ("python-sqlalchemy" ,python-sqlalchemy))) + (home-page "https://agate-sql.rtfd.org") + (synopsis "SQL read/write support to agate") + (description "@code{agatesql} uses a monkey patching pattern to add SQL +support to all @code{agate.Table} instances."))) -- cgit v1.2.3 From f1122a2c91d4c6f5bdda495882ac6c9efc4843a8 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 13 Jun 2019 16:06:26 +0100 Subject: gnu: Add python-agate-dbf. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wireservice.scm (python-agate-dbf): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wireservice.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu/packages/wireservice.scm') diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm index 575b63792b..4a8e7681ed 100644 --- a/gnu/packages/wireservice.scm +++ b/gnu/packages/wireservice.scm @@ -146,3 +146,25 @@ code. Agate was previously known as journalism."))) (synopsis "SQL read/write support to agate") (description "@code{agatesql} uses a monkey patching pattern to add SQL support to all @code{agate.Table} instances."))) + +(define-public python-agate-dbf + (package + (inherit base-package) + (name "python-agate-dbf") + (version "0.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-dbf.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y49fi6pmm7gzhajvqmfpcca2sqnwj24fqnsvzwk7r1hg2iaa2gi")))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-dbfread" ,python-dbfread))) + (home-page "https://agate-dbf.rtfd.org") + (synopsis "Add read support for dbf files to agate") + (description "@code{agatedbf} uses a monkey patching pattern to add read +for dbf files support to all @code{agate.Table} instances."))) -- cgit v1.2.3 From 213b05f04e2ee246ffb0285c71ad2f646795d135 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 13 Jun 2019 16:06:27 +0100 Subject: gnu: Add python-agate-excel. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wireservice.scm (python-agate-excel): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wireservice.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu/packages/wireservice.scm') diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm index 4a8e7681ed..78c2a4264d 100644 --- a/gnu/packages/wireservice.scm +++ b/gnu/packages/wireservice.scm @@ -168,3 +168,26 @@ support to all @code{agate.Table} instances."))) (synopsis "Add read support for dbf files to agate") (description "@code{agatedbf} uses a monkey patching pattern to add read for dbf files support to all @code{agate.Table} instances."))) + +(define-public python-agate-excel + (package + (inherit base-package) + (name "python-agate-excel") + (version "0.2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-excel.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1k5lv21k19s7kgbj5srd1xgrkqvxqqs49qwj33zncs9l7851afy7")))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-openpyxl" ,python-openpyxl) + ("python-xlrd" ,python-xlrd))) + (home-page "https://agate-excel.rtfd.org") + (synopsis "Add read support for Excel files (xls and xlsx) to agate") + (description "@code{agateexcel} uses a monkey patching pattern to add read +for xls and xlsx files support to all @code{agate.Table} instances."))) -- cgit v1.2.3 From bf187d92e39e93e8e08719de8b08c57db530eed9 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 13 Jun 2019 16:07:21 +0100 Subject: gnu: Add csvkit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wireservice.scm (csvkit): New variable. * gnu/packages/patches/csvkit-fix-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/packages/wireservice.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'gnu/packages/wireservice.scm') diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm index 78c2a4264d..ab86f21f2f 100644 --- a/gnu/packages/wireservice.scm +++ b/gnu/packages/wireservice.scm @@ -19,6 +19,7 @@ (define-module (gnu packages wireservice) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system python) + #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) @@ -191,3 +192,75 @@ for dbf files support to all @code{agate.Table} instances."))) (synopsis "Add read support for Excel files (xls and xlsx) to agate") (description "@code{agateexcel} uses a monkey patching pattern to add read for xls and xlsx files support to all @code{agate.Table} instances."))) + +(define-public csvkit + (package + (name "csvkit") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "csvkit" version)) + (sha256 + (base32 + "1830lb95rh1iyi3drlwxzb6y3pqkii0qiyzd40c1kvhvaf1s6lqk")) + (patches (search-patches "csvkit-fix-tests.patch")))) + (build-system python-build-system) + (native-inputs + `(("python-psycopg2" ,python-psycopg2) ;; Used to test PostgreSQL support. + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (inputs + `(("python-agate-dbf" ,python-agate-dbf) + ("python-agate-excel" ,python-agate-excel) + ("python-agate-sql" ,python-agate-sql) + ("python-six" ,python-six))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man1 (string-append out "/share/man/man1"))) + (with-directory-excursion "docs" + (invoke "make" "man") + (copy-recursively "_build/man" man1)) + #t)))))) + (home-page "https://csvkit.rtfd.org") + (synopsis "Command-line tools for working with CSV") + (description "csvkit is a suite of command-line tools for converting to +and working with CSV. It provides the following commands: +@itemize +@item Input: + @itemize + @item @command{in2csv}: Convert various formats to CSV. + @item @command{sql2csv}: Execute SQL commands on a database and return the +data as CSV. + @end itemize +@item Processing: + @itemize + @item @command{csvclean}: Remove common syntax errors. + @item @command{csvcut}: Filter and truncate CSV files. + @item @command{csvgrep}: Filter tabular data to only those rows where +certain columns contain a given value or match a regular expression. + @item @command{csvjoin}: Merges two or more CSV tables together using a +method analogous to SQL JOIN operation. + @item @command{csvsort}: Sort CSV files. + @item @command{csvstack}: Stack up the rows from multiple CSV files, +optionally adding a grouping value to each row. + @end itemize +@item Output and analysis: + @itemize + @item @command{csvformat}: Convert a CSV file to a custom output format. + @item @command{csvjson}: Converts a CSV file into JSON or GeoJSON. + @item @command{csvlook}: Renders a CSV to the command line in a +Markdown-compatible, fixed-width format. + @item @command{csvpy}: Loads a CSV file into a @code{agate.csv.Reader} +object and then drops into a Python shell so the user can inspect the data +however they see fit. + @item @command{csvsql}: Generate SQL statements for a CSV file or execute +those statements directly on a database. + @item @command{csvstat}: Prints descriptive statistics for all columns in a +CSV file. + @end itemize +@end itemize") + (license license:expat))) -- cgit v1.2.3 From b9a1d74de59887e0e73908f5bcbe27631038b2cf Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sun, 7 Jul 2019 16:02:26 +0100 Subject: gnu: wireservice: New wireservice-package macro. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the parent 'base-package' variable with a 'wireservice-package' macro that includes all common package fields. * gnu/packages/wireservice.scm (base-package): Delete. (wireservice-package): New macro. (python-leather, python-agate, python-agate-sql, python-agate-dbf, python-agate-excel): Use wireservice-package. Signed-off-by: Ludovic Courtès --- gnu/packages/wireservice.scm | 247 ++++++++++++++++++++++--------------------- 1 file changed, 124 insertions(+), 123 deletions(-) (limited to 'gnu/packages/wireservice.scm') diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm index ab86f21f2f..362b69575f 100644 --- a/gnu/packages/wireservice.scm +++ b/gnu/packages/wireservice.scm @@ -30,21 +30,10 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages time)) -;; Base package definition for packages from https://github.com/wireservice. -;; This is done so we can share how to run tests and build documentation. -(define base-package +;; Common package definition for packages from https://github.com/wireservice. +(define-syntax-rule (wireservice-package extra-fields ...) (package - (name #f) - (version #f) - (source #f) - (home-page #f) - (synopsis #f) - (description #f) (build-system python-build-system) - (native-inputs - `(("python-nose" ,python-nose) - ("python-sphinx" ,python-sphinx) - ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) (arguments `(#:phases (modify-phases %standard-phases @@ -66,131 +55,143 @@ (string-append doc "/" target))) '("html" "dirhtml" "singlehtml" "text"))) #t)))))) - (license license:expat))) + (license license:expat) + extra-fields ...)) (define-public python-leather - (package - (inherit base-package) - (name "python-leather") - (version "0.3.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wireservice/leather.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ck3dplni99sv4s117cbm07ydwwjsrxkhdy19rnk0iglia1d4s5i")))) - (native-inputs - `(("python-cssselect" ,python-cssselect) - ("python-lxml" ,python-lxml) - ,@(package-native-inputs base-package))) - (propagated-inputs - `(("python-six" ,python-six))) - (home-page "https://leather.rtfd.org") - (synopsis "Python charting for 80% of humans") - (description "Leather is a Python charting library for those who need + (wireservice-package + (name "python-leather") + (version "0.3.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/leather.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ck3dplni99sv4s117cbm07ydwwjsrxkhdy19rnk0iglia1d4s5i")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) + ("python-csselect" ,python-cssselect) + ("python-lxml" ,python-lxml))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://leather.rtfd.org") + (synopsis "Python charting for 80% of humans") + (description "Leather is a Python charting library for those who need charts now and don't care if they're perfect."))) (define-public python-agate - (package - (inherit base-package) - (name "python-agate") - (version "1.6.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wireservice/agate.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "077zj8xad8hsa3nqywvf7ircirmx3krxdipl8wr3dynv3l3khcpl")))) - (native-inputs - `(("python-cssselect" ,python-cssselect) - ("python-lxml" ,python-lxml) - ,@(package-native-inputs base-package))) - (propagated-inputs - `(("python-babel" ,python-babel) - ("python-isodate" ,python-isodate) - ("python-leather" ,python-leather) - ("python-parsedatetime" ,python-parsedatetime) - ("python-pytimeparse" ,python-pytimeparse) - ("python-six" ,python-six) - ("python-slugify" ,python-slugify))) - (home-page "https://agate.rtfd.org") - (synopsis "Data analysis library") - (description "Agate is a Python data analysis library. It is an + (wireservice-package + (name "python-agate") + (version "1.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "077zj8xad8hsa3nqywvf7ircirmx3krxdipl8wr3dynv3l3khcpl")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) + ("python-csselect" ,python-cssselect) + ("python-lxml" ,python-lxml))) + (propagated-inputs + `(("python-babel" ,python-babel) + ("python-isodate" ,python-isodate) + ("python-leather" ,python-leather) + ("python-parsedatetime" ,python-parsedatetime) + ("python-pytimeparse" ,python-pytimeparse) + ("python-six" ,python-six) + ("python-slugify" ,python-slugify))) + (home-page "https://agate.rtfd.org") + (synopsis "Data analysis library") + (description "Agate is a Python data analysis library. It is an alternative to numpy and pandas that solves real-world problems with readable code. Agate was previously known as journalism."))) (define-public python-agate-sql - (package - (inherit base-package) - (name "python-agate-sql") - (version "0.5.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wireservice/agate-sql.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "16q0b211n5b1qmhzkfl2jr56lda0rvyh5j1wzw26h2n4pm4wxlx2")))) - (propagated-inputs - `(("python-agate" ,python-agate) - ("python-crate" ,python-crate) - ("python-sqlalchemy" ,python-sqlalchemy))) - (home-page "https://agate-sql.rtfd.org") - (synopsis "SQL read/write support to agate") - (description "@code{agatesql} uses a monkey patching pattern to add SQL + (wireservice-package + (name "python-agate-sql") + (version "0.5.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-sql.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16q0b211n5b1qmhzkfl2jr56lda0rvyh5j1wzw26h2n4pm4wxlx2")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-crate" ,python-crate) + ("python-sqlalchemy" ,python-sqlalchemy))) + (home-page "https://agate-sql.rtfd.org") + (synopsis "SQL read/write support to agate") + (description "@code{agatesql} uses a monkey patching pattern to add SQL support to all @code{agate.Table} instances."))) (define-public python-agate-dbf - (package - (inherit base-package) - (name "python-agate-dbf") - (version "0.2.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wireservice/agate-dbf.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1y49fi6pmm7gzhajvqmfpcca2sqnwj24fqnsvzwk7r1hg2iaa2gi")))) - (propagated-inputs - `(("python-agate" ,python-agate) - ("python-dbfread" ,python-dbfread))) - (home-page "https://agate-dbf.rtfd.org") - (synopsis "Add read support for dbf files to agate") - (description "@code{agatedbf} uses a monkey patching pattern to add read + (wireservice-package + (name "python-agate-dbf") + (version "0.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-dbf.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y49fi6pmm7gzhajvqmfpcca2sqnwj24fqnsvzwk7r1hg2iaa2gi")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-dbfread" ,python-dbfread))) + (home-page "https://agate-dbf.rtfd.org") + (synopsis "Add read support for dbf files to agate") + (description "@code{agatedbf} uses a monkey patching pattern to add read for dbf files support to all @code{agate.Table} instances."))) (define-public python-agate-excel - (package - (inherit base-package) - (name "python-agate-excel") - (version "0.2.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wireservice/agate-excel.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1k5lv21k19s7kgbj5srd1xgrkqvxqqs49qwj33zncs9l7851afy7")))) - (propagated-inputs - `(("python-agate" ,python-agate) - ("python-openpyxl" ,python-openpyxl) - ("python-xlrd" ,python-xlrd))) - (home-page "https://agate-excel.rtfd.org") - (synopsis "Add read support for Excel files (xls and xlsx) to agate") - (description "@code{agateexcel} uses a monkey patching pattern to add read + (wireservice-package + (name "python-agate-excel") + (version "0.2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wireservice/agate-excel.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1k5lv21k19s7kgbj5srd1xgrkqvxqqs49qwj33zncs9l7851afy7")))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (propagated-inputs + `(("python-agate" ,python-agate) + ("python-openpyxl" ,python-openpyxl) + ("python-xlrd" ,python-xlrd))) + (home-page "https://agate-excel.rtfd.org") + (synopsis "Add read support for Excel files (xls and xlsx) to agate") + (description "@code{agateexcel} uses a monkey patching pattern to add read for xls and xlsx files support to all @code{agate.Table} instances."))) (define-public csvkit -- cgit v1.2.3