* gnu/packages/databases.scm (python-tinydb): New variable. --- gnu/packages/databases.scm | 40 ++++++++++++++++++++++++++++++++++++++ 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) + (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
Hi jgart, Em ter, 2021-10-12 às 01:44 -0400, jgart escreveu: > * gnu/packages/databases.scm (python-tinydb): New variable. > --- > gnu/packages/databases.scm | 40 Don't miss your copyright in this file. > ++++++++++++++++++++++++++++++++++++++ > 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. > + (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 the repository while at the same time not shipping tests in PyPI. I don't know why this is happening or what we can do about it in guix, the best for now is to source from PyPI and skip tests like in this package. > + `(#: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 of doing what the first one does. But if we don't have a way to run the tests, I'd not override the check phase. > + (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. > + (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. > + (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 in pure Python with no external dependencies. [...]" > + (license license:expat))) > + > (define-public python-pylibmc > (package > (name "python-pylibmc")
Hi jgart, Em ter, 2021-10-12 às 01:44 -0400, jgart escreveu: > * gnu/packages/databases.scm (python-tinydb): New variable. > --- > gnu/packages/databases.scm | 40 Don't miss your copyright in this file. > ++++++++++++++++++++++++++++++++++++++ > 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. > + (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 the repository while at the same time not shipping tests in PyPI. I don't know why this is happening or what we can do about it in guix, the best for now is to source from PyPI and skip tests like in this package. > + `(#: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 of doing what the first one does. But if we don't have a way to run the tests, I'd not override the check phase. > + (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. > + (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. > + (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 in pure Python with no external dependencies. [...]". > + (license license:expat))) > + > (define-public python-pylibmc > (package > (name "python-pylibmc")
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(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 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
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(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 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
Hi, jgart <jgart@dismail.de> skribis: > I forgot to add the copyright at the top. In the meantime another line had been added for you. :-) > 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’.
On Tue, 23 Nov 2021 09:22:39 +0100 Ludovic Courtès <ludo@gnu.org> wrote: Thanks Ludo and Vinicius! all best, jgart