From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.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 EJZTON2gIGTXSAAASxT56A (envelope-from ) for ; Sun, 26 Mar 2023 21:45:33 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id UJJEON2gIGQ8WQEA9RJhRA (envelope-from ) for ; Sun, 26 Mar 2023 21:45:33 +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 C2C4F1FBF7 for ; Sun, 26 Mar 2023 21:45:33 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pgWIb-0002zy-7G; Sun, 26 Mar 2023 15:45:05 -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 1pgWIZ-0002zC-Kp for guix-patches@gnu.org; Sun, 26 Mar 2023 15:45:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pgWIZ-0007tg-BD for guix-patches@gnu.org; Sun, 26 Mar 2023 15:45:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pgWIZ-0004o4-6S for guix-patches@gnu.org; Sun, 26 Mar 2023 15:45:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#60838] [PATCH v3 3/9] gnu: Add python-sqlite-utils. Resent-From: Felix Gruber Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Mar 2023 19:45:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60838 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60838@debbugs.gnu.org, Maxim Cournoyer Cc: Felix Gruber Received: via spool by 60838-submit@debbugs.gnu.org id=B60838.167985985418313 (code B ref 60838); Sun, 26 Mar 2023 19:45:03 +0000 Received: (at 60838) by debbugs.gnu.org; 26 Mar 2023 19:44:14 +0000 Received: from localhost ([127.0.0.1]:45879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgWHl-0004lC-Fx for submit@debbugs.gnu.org; Sun, 26 Mar 2023 15:44:13 -0400 Received: from mout01.posteo.de ([185.67.36.65]:36313) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgWHi-0004kV-99 for 60838@debbugs.gnu.org; Sun, 26 Mar 2023 15:44:10 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id BE7152400CE for <60838@debbugs.gnu.org>; Sun, 26 Mar 2023 21:44:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1679859844; bh=oSj7QQe6vKnsK+wlEX7XDU2KzmTV/izioyv9J5xdZxY=; h=From:To:Cc:Subject:Date:From; b=kNruvQ0b7uhN2Z76pHLV5KXodjpSG1iJgglPq99RrNdKax7o3EXLo545Y0zit6Iun HMCILyAP+rmhkaDKNpcTW4OuzWjApdXpTB2aUgfNQK34UCfKzoynG2rACflKrH033D NYV7m9+x7bW6Ve63x0zjE/eEBvHglgsoJK3ZPuXPbRUClxIiQ7ErxcelJbAMG/YORN x5kT5EF42UmBp91t7Nj7dgbjOEUMIhW9lFLMxT/auD7ly0zgweLP3dcVF+nioi7CDa AMiZuizX9fiph/Cc1hNgnwYi+vPChXOQUxoSiLPPHPdgoXx4zx9Ja1/OgAKq0UhWhQ Brl2gahGpjidg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Pl5x01K46z6tmN; Sun, 26 Mar 2023 21:44:04 +0200 (CEST) From: Felix Gruber Date: Sun, 26 Mar 2023 19:43:29 +0000 Message-Id: <0b2239a7997f185f4cd411d3a5e3b1a7c67fd22a.1679859198.git.felgru@posteo.net> In-Reply-To: References: <87lejplhxd.fsf@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-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=1679859933; a=rsa-sha256; cv=none; b=rpJtykqdyvW+x7VDhU45pPp1/7W251DKlajmmQkEb6WSEVyjhJYrdf9OSEOg+R5qbdRDPm V6358jvHvuTOGc/8eMC6thFzGekpxuBjxe/nEIXh5FgwoXXZyS+cPNvcJRkiAJC1KRz0Ky J3SO2Na3/yK4INAWa40ejYJx9gefAbSmYSHu6Lbc4+cYYaL/ny/5qN8jqHonwjOt8V/Y1x PEFY0LxV4jGmFT8OfebRQrnh3tE/N+slj/UELxKxBzZHYoTP62Qi/VK2SepMIUUEmWwq7j QXUf/X6PtcrsVM9VxVpjua9lDoFGYYv2U5izJq2KQoBhYHbDqtALe+nIfsKOZg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=kNruvQ0b; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1679859933; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=W0WwcDqUA0gkuJtZpPWhNR8A2UIzXxdD8Ujvo8qT6q0=; b=pTtX4BHfIoecJeGjBBCdPC/Ni7pD2V+2bqmJ4CiXPnQWFPaLlX/wAacMCTmoqGCoFnAW74 0cPiWKHTmRf5cDM9uuPhMt6/IS4gtshqJKf+lQB+Ix9aalUJiA/EOEVk6bRisbc3AYLLmU SGahg8UA5R/qxTEfFhjmemlC1EVyZjU/VJAMsdIU+4MCBTte+t/jVnT4LK8nP42uB3hDLr 66L+5LheOT9bXjIVny12KVuuGXs2NvAO0hY3PeqGqldXeWpIxpIyv9/YdGqnmBIbk4g2Dx zSGtegzjqyFJ+KrzKCAZQkOeYRL4AvgXsZfc1emN8eFE1fnpJ5i6kgo1fA86bg== Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=kNruvQ0b; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: 0.67 X-Spam-Score: 0.67 X-Migadu-Queue-Id: C2C4F1FBF7 X-TUID: UDb2FID3e1T/ * gnu/packages/databases.scm (python-sqlite-utils): New variable. --- gnu/packages/databases.scm | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7a5f62c0f4..87fa24038f 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3580,6 +3580,52 @@ (define-public python-sqlite-fts4 text search extension.") (license license:asl2.0))) +(define-public python-sqlite-utils + (package + (name "python-sqlite-utils") + (version "3.30") + (source (origin + (method git-fetch) ; for tests + (uri (git-reference + (url "https://github.com/simonw/sqlite-utils") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1a58syvh5jp40vi5libsxkqy99z75kj4ckxqmylbhd342ppfy1wp")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-click python-click-default-group-wheel + python-dateutil python-sqlite-fts4 + python-tabulate)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/simonw/sqlite-utils") + (synopsis + "CLI tool and Python utility functions for manipulating SQLite databases") + (description + "This package provides a CLI tool and Python utility functions for +manipulating SQLite databases. + +It's main features are: +@itemize +@item +Pipe JSON (or CSV or TSV) directly into a new SQLite database file, +automatically creating a table with the appropriate schema. +@item +Run in-memory SQL queries, including joins, directly against data in +CSV, TSV or JSON files and view the results. +@item +Configure SQLite full-text search against your database tables and run +search queries against them, ordered by relevance. +@item +Run transformations against your tables to make schema changes that +SQLite ALTER TABLE does not directly support, such as changing the type +of a column. +@item +Extract columns into separate tables to better normalize your existing +data. +@end itemize") + (license license:asl2.0))) + (define-public python-pickleshare (package (name "python-pickleshare") -- 2.39.2