Subject: [PATCH 0/4] Update python-numpy

From: Vinicius Monego <[email-masked]>
Date: Wed, 16 Jun 2021 09:10:52 +0000

Hello,

Since this is a mid to long term update (the packages have quite a few
[heavy] dependents), I'd like to suggest some refactoring. I will talk
about each package separately.

- python-numpy:

1. Why is it sourced from a tar.gz in the github releases page and not
from PyPI or a checkout? I had a look at the PyPI source file and the
tests are provided. If that source is required, a comment would help.

2.

> ;; Tests can only be run after the library has been installed and not
> ;; within the source directory.

I'm not sure if pytest was invoked manually or if the runtests.py
script was executed to reach that conclusion.

Numpy uses the tests under subdirectories structure. In that case,
tests should run with "python -m pytest --pyargs numpy" or "pytest --
pyargs numpy". I have this generic template that worked for all of my
packages so far:

> (replace 'check
>   (lambda* (#:key inputs outputs tests? #:allow-other-keys)
>     (when tests?
>       (add-installed-pythonpath inputs outputs)
>       (invoke "python" "-m" "pytest" "--pyargs" "numpy"))))

NumPy could be a special case, but a more detailed comment would help.

3. #:tests? is not respected.

4. Don't return #t in the phases.

- python-scipy

1. Same comment about tests from NumPy. Overriding the check would also
allow removing the 'disable-broken-tests phase.

2. #:tests? is not respected here either.

3. Don't return #t in the phases.

4. Since documentation is being built, it would be good to have the
sphinx theme for scipy ready. The current documentation doesn't have
any CSS. Not a big problem though.

- python-matplotlib

1. Respect #:tests?.

2. Don't return #t in the phases.

LGTM otherwise.

- python-pandas

1. I think the check phase could be simplified by using the same pytest
structure suggested in numpy and scipy.
2. Respect #:tests?
3. Don't return #t in the phases.