[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#51148] [PATCH] gnu: Add python-tinydb.
From: |
Vinicius Monego |
Subject: |
[bug#51148] [PATCH] gnu: Add python-tinydb. |
Date: |
Thu, 11 Nov 2021 05:24:54 +0000 |
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")
- [bug#51148] [PATCH] gnu: Add python-tinydb.,
Vinicius Monego <=