[PATCH] gnu: Add python-tinydb.

DoneSubmitted by jgart.
Details
3 participants
  • jgart
  • Ludovic Courtès
  • Vinicius Monego
Owner
unassigned
Severity
normal
J
(address . guix-patches@gnu.org)(name . jgart)(address . jgart@dismail.de)
20211012054449.16935-1-jgart@dismail.de
* gnu/packages/databases.scm (python-tinydb): New variable.--- gnu/packages/databases.scm | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
Toggle diff (53 lines)diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scmindex b1dd44da1c..60970b9c8e 100644--- a/gnu/packages/databases.scm+++ b/gnu/packages/databases.scm@@ -579,6 +579,46 @@ the API, and provides features such as: @end itemize") (license license:bsd-3))) +(define-public python-tinydb+ (package+ (name "python-tinydb")+ (version "4.5.2")+ (source (origin+ (method url-fetch)+ (uri (pypi-uri "tinydb" version))+ (sha256+ (base32+ "1x9c4s42930wwal3ds0plwb57kg5c3gj7kbpy64c29vq478b463x"))))+ (build-system python-build-system)+ (arguments+ ;; PyPi tarball does not contain tests and github repository does not + ;; have a setup.py file (only pyproject).+ `(#:tests? #f+ #:phases+ (modify-phases %standard-phases+ (replace 'check+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)+ (when tests?+ (add-installed-pythonpath inputs outputs)+ (setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH")))+ (invoke "pytest")))))))+ (native-inputs+ `(("python-pytest" ,python-pytest)+ ("python-pytest-cov" ,python-pytest-cov)+ ("python-pycodestyle" ,python-pycodestyle)+ ("python-pyyaml" ,python-pyyaml)))+ (propagated-inputs+ `(("python-typing-extensions" ,python-typing-extensions)))+ (home-page "https://github.com/msiemens/tinydb")+ (synopsis+ "TinyDB is a lightweight document oriented database")+ (description+"TinyDB is a lightweight document oriented database optimized for+your happiness. It's written in pure Python and has no external+dependencies. The targets are small apps that would be blown away by a+SQL-DB or an external database server.")+ (license license:expat)))+ (define-public python-pylibmc (package (name "python-pylibmc")-- 2.33.0
V
V
Vinicius Monego wrote on 11 Nov 06:24 +0100
e157567b9365be850509834e8f83423ea73c9901.camel@posteo.net
Hi jgart,
Em ter, 2021-10-12 às 01:44 -0400, jgart escreveu:
Toggle quote (4 lines)> * gnu/packages/databases.scm (python-tinydb): New variable.> --->  gnu/packages/databases.scm | 40
Don't miss your copyright in this file.
Toggle quote (25 lines)> ++++++++++++++++++++++++++++++++++++++>  1 file changed, 40 insertions(+)> > diff --git a/gnu/packages/databases.scm > b/gnu/packages/databases.scm> index b1dd44da1c..60970b9c8e 100644> --- a/gnu/packages/databases.scm> +++ b/gnu/packages/databases.scm> @@ -579,6 +579,46 @@ the API, and provides features such as:>  @end itemize")>      (license license:bsd-3)))>  > +(define-public python-tinydb> +  (package> +    (name "python-tinydb")> +    (version "4.5.2")> +    (source (origin> +              (method url-fetch)> +              (uri (pypi-uri "tinydb" version))> +              (sha256> +               (base32> +               > "1x9c4s42930wwal3ds0plwb57kg5c3gj7kbpy64c29vq478b463x"))))> +    (build-system python-build-system)
The indentation is off below.
Toggle quote (5 lines)> +    (arguments> +       ;; PyPi tarball does not contain tests and github repository> does not > +       ;; have a setup.py file (only pyproject).
I recently noticed this pattern of shipping only Poetry in therepository while at the same time not shipping tests in PyPI. I don'tknow why this is happening or what we can do about it in guix, the bestfor now is to source from PyPI and skip tests like in this package.
Toggle quote (11 lines)> +      `(#:tests? #f> +        #:phases> +        (modify-phases %standard-phases> +          (replace 'check> +            (lambda* (#:key inputs outputs tests? #:allow-other-> keys)> +              (when tests?> +                (add-installed-pythonpath inputs outputs)> +                (setenv "PYTHONPATH" (string-append ".:" (getenv> "PYTHONPATH")))
The two lines above are redundant. The second line is the manual way ofdoing what the first one does. But if we don't have a way to run thetests, I'd not override the check phase.
Toggle quote (7 lines)> +                (invoke "pytest")))))))> +    (native-inputs> +      `(("python-pytest" ,python-pytest)> +        ("python-pytest-cov" ,python-pytest-cov)> +        ("python-pycodestyle" ,python-pycodestyle)> +        ("python-pyyaml" ,python-pyyaml)))
Test-related native inputs are also useless if tests can't run.
Toggle quote (6 lines)> +    (propagated-inputs> +      `(("python-typing-extensions" ,python-typing-extensions)))> +    (home-page "https://github.com/msiemens/tinydb")> +    (synopsis> +      "TinyDB is a lightweight document oriented database")
Same line for the synopsis.
Toggle quote (7 lines)> +    (description> +"TinyDB is a lightweight document oriented database optimized for> +your happiness.  It's written in pure Python and has no external> +dependencies.  The targets are small apps that would be blown away> by a> +SQL-DB or an external database server.")
I'd suggest "TinyDB is a small document oriented database written inpure Python with no external dependencies. [...]"
Toggle quote (5 lines)> +    (license license:expat)))> +>  (define-public python-pylibmc>    (package>      (name "python-pylibmc")
V
V
Vinicius Monego wrote on 11 Nov 06:26 +0100
d427d45ecc1b3439925e207efcf2520c5b40c965.camel@posteo.net
Hi jgart,
Em ter, 2021-10-12 às 01:44 -0400, jgart escreveu:
Toggle quote (4 lines)> * gnu/packages/databases.scm (python-tinydb): New variable.> --->  gnu/packages/databases.scm | 40
Don't miss your copyright in this file.
Toggle quote (25 lines)> ++++++++++++++++++++++++++++++++++++++>  1 file changed, 40 insertions(+)> > diff --git a/gnu/packages/databases.scm > b/gnu/packages/databases.scm> index b1dd44da1c..60970b9c8e 100644> --- a/gnu/packages/databases.scm> +++ b/gnu/packages/databases.scm> @@ -579,6 +579,46 @@ the API, and provides features such as:>  @end itemize")>      (license license:bsd-3)))>  > +(define-public python-tinydb> +  (package> +    (name "python-tinydb")> +    (version "4.5.2")> +    (source (origin> +              (method url-fetch)> +              (uri (pypi-uri "tinydb" version))> +              (sha256> +               (base32> +               > "1x9c4s42930wwal3ds0plwb57kg5c3gj7kbpy64c29vq478b463x"))))> +    (build-system python-build-system)
The indentation is off below.
Toggle quote (5 lines)> +    (arguments> +       ;; PyPi tarball does not contain tests and github repository> does not > +       ;; have a setup.py file (only pyproject).
I recently noticed this pattern of shipping only Poetry in therepository while at the same time not shipping tests in PyPI. I don'tknow why this is happening or what we can do about it in guix, the bestfor now is to source from PyPI and skip tests like in this package.
Toggle quote (11 lines)> +      `(#:tests? #f> +        #:phases> +        (modify-phases %standard-phases> +          (replace 'check> +            (lambda* (#:key inputs outputs tests? #:allow-other-> keys)> +              (when tests?> +                (add-installed-pythonpath inputs outputs)> +                (setenv "PYTHONPATH" (string-append ".:" (getenv> "PYTHONPATH")))
The two lines above are redundant. The second line is the manual way ofdoing what the first one does. But if we don't have a way to run thetests, I'd not override the check phase.
Toggle quote (7 lines)> +                (invoke "pytest")))))))> +    (native-inputs> +      `(("python-pytest" ,python-pytest)> +        ("python-pytest-cov" ,python-pytest-cov)> +        ("python-pycodestyle" ,python-pycodestyle)> +        ("python-pyyaml" ,python-pyyaml)))
Test-related native inputs are also useless if tests can't run.
Toggle quote (6 lines)> +    (propagated-inputs> +      `(("python-typing-extensions" ,python-typing-extensions)))> +    (home-page "https://github.com/msiemens/tinydb")> +    (synopsis> +      "TinyDB is a lightweight document oriented database")
Same line for the synopsis.
Toggle quote (7 lines)> +    (description> +"TinyDB is a lightweight document oriented database optimized for> +your happiness.  It's written in pure Python and has no external> +dependencies.  The targets are small apps that would be blown away> by a> +SQL-DB or an external database server.")
I'd suggest "TinyDB is a small document oriented database written inpure Python with no external dependencies. [...]".
Toggle quote (5 lines)> +    (license license:expat)))> +>  (define-public python-pylibmc>    (package>      (name "python-pylibmc")
J
[PATCH] gnu: Add python-tinydb.
(address . 51148@debbugs.gnu.org)
20211111163151.13310-1-jgart@dismail.de
Hi Vinicius,
Attached are the changes you requested.
Thanks for the code review.
It's much appreciated!
* gnu/packages/databases.scm (python-tinydb): New variable.--- gnu/packages/databases.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
Toggle diff (36 lines)diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scmindex 92a7aa2761..2495ad8a28 100644--- a/gnu/packages/databases.scm+++ b/gnu/packages/databases.scm@@ -4072,6 +4072,29 @@ (define-public freetds connecting to MS SQL and Sybase servers over TCP/IP.") (license license:lgpl2.0+))) +(define-public python-tinydb+ (package+ (name "python-tinydb")+ (version "4.5.2")+ (source (origin+ (method url-fetch)+ (uri (pypi-uri "tinydb" version))+ (sha256+ (base32 "1x9c4s42930wwal3ds0plwb57kg5c3gj7kbpy64c29vq478b463x"))))+ (build-system python-build-system)+ ;; PyPi tarball does not contain tests and github repository does not+ ;; have a setup.py file (only pyproject).+ (arguments `(#:tests? #f))+ (propagated-inputs+ `(("python-typing-extensions" ,python-typing-extensions)))+ (home-page "https://github.com/msiemens/tinydb")+ (synopsis "TinyDB is a lightweight document oriented database")+ (description+"TinyDB is a small document oriented database written in pure Python+with no external dependencies. The targets are small apps that would+be blown away by a SQL-DB or an external database server.")+ (license license:expat)))+ (define-public sequeler (package (name "sequeler")-- 2.33.1
J
[PATCH v3] gnu: Add python-tinydb.
(address . 51148@debbugs.gnu.org)
20211112034501.29311-1-jgart@dismail.de
I forgot to add the copyright at the top.
Attached is version 3 of the patchset.
* gnu/packages/databases.scm (python-tinydb): New variable.--- gnu/packages/databases.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
Toggle diff (44 lines)diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scmindex 92a7aa2761..87fa1da895 100644--- a/gnu/packages/databases.scm+++ b/gnu/packages/databases.scm@@ -53,6 +53,7 @@ ;;; Copyright © 2021 Simon Streit <simon@netpanic.org> ;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>+;;; Copyright © 2021 Jorge Gomez <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;;@@ -4072,6 +4073,29 @@ (define-public freetds connecting to MS SQL and Sybase servers over TCP/IP.") (license license:lgpl2.0+))) +(define-public python-tinydb+ (package+ (name "python-tinydb")+ (version "4.5.2")+ (source (origin+ (method url-fetch)+ (uri (pypi-uri "tinydb" version))+ (sha256+ (base32 "1x9c4s42930wwal3ds0plwb57kg5c3gj7kbpy64c29vq478b463x"))))+ (build-system python-build-system)+ ;; PyPi tarball does not contain tests and github repository does not+ ;; have a setup.py file (only pyproject).+ (arguments `(#:tests? #f))+ (propagated-inputs+ `(("python-typing-extensions" ,python-typing-extensions)))+ (home-page "https://github.com/msiemens/tinydb")+ (synopsis "TinyDB is a lightweight document oriented database")+ (description+"TinyDB is a small document oriented database written in pure Python+with no external dependencies. The targets are small apps that would+be blown away by a SQL-DB or an external database server.")+ (license license:expat)))+ (define-public sequeler (package (name "sequeler")-- 2.33.1
L
L
Ludovic Courtès wrote on 23 Nov 09:22 +0100
Re: bug#51148: [PATCH] gnu: Add python-tinydb.
(name . jgart)(address . jgart@dismail.de)
87v90jl1rk.fsf_-_@gnu.org
Hi,
jgart <jgart@dismail.de> skribis:
Toggle quote (2 lines)> I forgot to add the copyright at the top.
In the meantime another line had been added for you. :-)
Toggle quote (4 lines)> Attached is version 3 of the patchset.>> * gnu/packages/databases.scm (python-tinydb): New variable.
I applied and tweaked indentation.
Thanks, and thanks Vinicius for reviewing,Ludo’.
Closed
J
(name . Ludovic Courtès)(address . ludo@gnu.org)
20211123033725.GF895@gac.attlocal.net
On Tue, 23 Nov 2021 09:22:39 +0100 Ludovic Courtès <ludo@gnu.org> wrote:
Thanks Ludo and Vinicius!
all best,
jgart
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 51148@debbugs.gnu.org