diff options
author | Felix Gruber <felgru@posteo.net> | 2023-03-26 19:43:29 +0000 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-03-29 13:23:45 -0400 |
commit | 62cfe07f6a2c50622b01be79382c9ee97e37ed10 (patch) | |
tree | 59fe003dc0b74067a1980ef4d36f6aa60601ecd6 /gnu/packages/databases.scm | |
parent | 33f2e0dad1983135d7f69942fabc9872b8554ccd (diff) |
gnu: Add python-sqlite-utils.
* gnu/packages/databases.scm (python-sqlite-utils): New variable.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r-- | gnu/packages/databases.scm | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index b119005773..277cb4e7db 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3640,6 +3640,60 @@ in Python for ranking documents indexed using the SQLite's FTS4 full 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) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + ;; This is a variant designed to have a binary + ;; wheel made available on PyPI, which is not a + ;; concern to Guix. + (("click-default-group-wheel") + "click-default-group"))))))) + (propagated-inputs (list python-click python-click-default-group + 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") |