gnu: Add datasette.
* gnu/packages/databases.scm (datasette): New variable. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>master
parent
ec628ef1c8
commit
cd31437e9c
|
@ -59,6 +59,7 @@
|
||||||
;;; Copyright © 2022 muradm <mail@muradm.net>
|
;;; Copyright © 2022 muradm <mail@muradm.net>
|
||||||
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
|
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
|
||||||
;;; Copyright © 2021, 2022 jgart <jgart@dismail.de>
|
;;; Copyright © 2021, 2022 jgart <jgart@dismail.de>
|
||||||
|
;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -5152,3 +5153,84 @@ generic interface to caching backends of any variety, and additionally
|
||||||
provides API hooks which integrate these cache backends with the locking
|
provides API hooks which integrate these cache backends with the locking
|
||||||
mechanism of @code{dogpile}.")
|
mechanism of @code{dogpile}.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public datasette
|
||||||
|
(package
|
||||||
|
(name "datasette")
|
||||||
|
(version "0.64.2")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch) ;for tests
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/simonw/datasette")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1c8ajdaraynrjvsb8xxxnkb7zgm5fwq60qczaz00n465ki80j4h3"))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:test-flags
|
||||||
|
;; There are multiple unexplained test failures (see:
|
||||||
|
;; https://github.com/simonw/datasette/issues/2048).
|
||||||
|
#~(list "-k" (string-append
|
||||||
|
"not (test_database_page_for_database_with_dot_in_name"
|
||||||
|
" or test_row_strange_table_name"
|
||||||
|
" or test_database_with_space_in_name"
|
||||||
|
" or test_tilde_encoded_database_names"
|
||||||
|
" or test_weird_database_names"
|
||||||
|
" or test_css_classes_on_body"
|
||||||
|
" or test_templates_considered"
|
||||||
|
" or test_row_html_compound_primary_key"
|
||||||
|
" or test_edit_sql_link_on_canned_queries"
|
||||||
|
" or test_alternate_url_json"
|
||||||
|
" or test_table_with_slashes_in_name"
|
||||||
|
" or test_searchable"
|
||||||
|
" or test_custom_query_with_unicode_characters"
|
||||||
|
" or test_searchmode)")
|
||||||
|
"-n" (number->string (parallel-job-count))
|
||||||
|
"-m" "not serial") ;cannot run in parallel
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'relax-requirements
|
||||||
|
(lambda _
|
||||||
|
;; The package needlessly specifies exact versions
|
||||||
|
;; of dependencies, when it works fine with others.
|
||||||
|
(substitute* "setup.py"
|
||||||
|
(("(black)==[0-9\\.]+" _ package)
|
||||||
|
package)
|
||||||
|
(("click-default-group-wheel")
|
||||||
|
"click-default-group")))))))
|
||||||
|
(propagated-inputs
|
||||||
|
(list python-aiofiles
|
||||||
|
python-asgi-csrf
|
||||||
|
python-asgiref
|
||||||
|
python-click
|
||||||
|
python-click-default-group
|
||||||
|
python-httpx
|
||||||
|
python-hupper
|
||||||
|
python-itsdangerous
|
||||||
|
python-janus
|
||||||
|
python-jinja2
|
||||||
|
python-mergedeep
|
||||||
|
python-pint
|
||||||
|
python-pluggy-next
|
||||||
|
python-pyyaml
|
||||||
|
python-uvicorn))
|
||||||
|
(native-inputs
|
||||||
|
(list python-beautifulsoup4
|
||||||
|
python-black
|
||||||
|
python-cogapp
|
||||||
|
python-pytest-7.1
|
||||||
|
python-pytest-asyncio
|
||||||
|
python-pytest-runner
|
||||||
|
python-pytest-timeout
|
||||||
|
python-pytest-xdist-next
|
||||||
|
python-setuptools
|
||||||
|
python-trustme))
|
||||||
|
(home-page "https://datasette.io/")
|
||||||
|
(synopsis "Multi-tool for exploring and publishing data")
|
||||||
|
(description "Datasette is a tool for exploring and publishing data.
|
||||||
|
It helps people take data of any shape or size and publish that as an
|
||||||
|
interactive, explorable website and accompanying API.")
|
||||||
|
(license license:asl2.0)))
|
||||||
|
|
Reference in New Issue