Message ID | 0b8c873370cb71654009b5ea1d876d721b4cf02b.1679080713.git.felgru@posteo.net |
---|---|
State | New |
Headers | show |
Series | Add datasette and python-sqlite-utils. | expand |
Hello, Felix Gruber <felgru@posteo.net> writes: > * gnu/packages/databases.scm (datasette): New variable. > --- > gnu/packages/databases.scm | 47 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 47 insertions(+) > > diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm > index d9ea2bba34..72960396fc 100644 > --- a/gnu/packages/databases.scm > +++ b/gnu/packages/databases.scm > @@ -59,6 +59,7 @@ > ;;; Copyright © 2022 muradm <mail@muradm.net> > ;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org> > ;;; Copyright © 2021, 2022 jgart <jgart@dismail.de> > +;;; Copyright © 2023 Felix Gruber <felgru@posteo.net> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -5049,3 +5050,49 @@ (define-public python-dogpile.cache > provides API hooks which integrate these cache backends with the locking > mechanism of @code{dogpile}.") > (license license:expat))) > + > +(define-public datasette > + (package > + (name "datasette") > + (version "0.64.2") > + (source > + (origin > + (method url-fetch) > + (uri (pypi-uri "datasette" version)) > + (sha256 > + (base32 > + "1z2qwj7gmyph4dnbr44p332f9ydpv7c4z5jiyai12bmgsgdnxqg9")))) > + (build-system pyproject-build-system) > + (arguments > + (list > + #:tests? #f ; pypi package contains no tests That's a lame excuse for disabling the test suite, in my opinion (and I know it can be tempting to use it!) :-). Please fetch from git when there are no tests in the sdist releases (which is increasingly common, it seems). > + #:phases > + #~(modify-phases %standard-phases > + (add-after 'unpack 'loosen-requirements Nitpick: I call these phases 'relax-requirements. > + (lambda _ > + ;; The package needlessly specifies exact versions > + ;; of dependencies, when it works fine with others. > + (substitute* "setup.py" > + (("(black)==[0-9\\.]+" all package) > + package))))))) The above only affects the 'black' package, right? Since the 'all' binding is not used, it can be set to '_' instead. > + (propagated-inputs (list python-aiofiles > + python-asgi-csrf > + python-asgiref > + python-click-7 > + python-click-default-group-wheel > + python-httpx > + python-hupper > + python-itsdangerous > + python-janus > + python-jinja2 > + python-mergedeep > + python-pint > + python-pluggy-next > + python-pyyaml > + python-uvicorn)) > + (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))) It otherwise looks very good! Apart from enabling the tests suite where applicable, my comments are mostly cosmetic, so a v2 and we should be good! Thank you for the contribution!
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index d9ea2bba34..72960396fc 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -59,6 +59,7 @@ ;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org> ;;; Copyright © 2021, 2022 jgart <jgart@dismail.de> +;;; Copyright © 2023 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -5049,3 +5050,49 @@ (define-public python-dogpile.cache provides API hooks which integrate these cache backends with the locking mechanism of @code{dogpile}.") (license license:expat))) + +(define-public datasette + (package + (name "datasette") + (version "0.64.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "datasette" version)) + (sha256 + (base32 + "1z2qwj7gmyph4dnbr44p332f9ydpv7c4z5jiyai12bmgsgdnxqg9")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #f ; pypi package contains no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'loosen-requirements + (lambda _ + ;; The package needlessly specifies exact versions + ;; of dependencies, when it works fine with others. + (substitute* "setup.py" + (("(black)==[0-9\\.]+" all package) + package))))))) + (propagated-inputs (list python-aiofiles + python-asgi-csrf + python-asgiref + python-click-7 + python-click-default-group-wheel + python-httpx + python-hupper + python-itsdangerous + python-janus + python-jinja2 + python-mergedeep + python-pint + python-pluggy-next + python-pyyaml + python-uvicorn)) + (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)))