diff mbox series

[bug#39572] gnu: Add python-sphinx-autodoc-typehints.

Message ID 20200212001420.24513-1-sirgazil@zoho.com
State Work in progress
Headers show
Series [bug#39572] gnu: Add python-sphinx-autodoc-typehints. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

ashish.is--- via Guix-patches" via Feb. 12, 2020, 12:14 a.m. UTC
* gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints): New variable.
---
 gnu/packages/sphinx.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

Comments

Efraim Flashner Feb. 12, 2020, 7:48 a.m. UTC | #1
Overall the package looks good. I ran into an issue with the tests,
namely that they weren't run. (This is becoming a common issue with our
python packages as they change how the test suite is run)

On Tue, Feb 11, 2020 at 07:14:20PM -0500, sirgazil via Guix-patches via wrote:
> * gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints): New variable.
> ---
>  gnu/packages/sphinx.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
> index 4e4abccb04..41bde173c3 100644
> --- a/gnu/packages/sphinx.scm
> +++ b/gnu/packages/sphinx.scm
> @@ -13,6 +13,7 @@
>  ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
>  ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
>  ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
> +;;; Copyright © 2020 sirgazil <sirgazil@zoho.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -597,3 +598,27 @@ to be able to read and render the Doxygen xml output.")
>       "A utility tool that provides several features that make it easy to
>  translate and to apply translation to Sphinx generated document.")
>      (license license:bsd-2)))
> +
> +(define-public python-sphinx-autodoc-typehints
> +  (package
> +    (name "python-sphinx-autodoc-typehints")
> +    (version "1.10.3")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "sphinx-autodoc-typehints" version))
> +       (sha256
> +        (base32
> +         "1w6zy3cyp24jsdi8dcynrinafw2a0k5vblqy9lncm6j7cw0iicx6"))))
> +    (build-system python-build-system)

I added the following snippet here to run the tests:

    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (replace 'check
           (lambda _
             (invoke "pytest"))))))

And added python-pytest to the native-inputs but it turns out that
wasn't enough:

starting phase `check'
ImportError while loading conftest '/tmp/guix-build-python-sphinx-autodoc-typehints-1.10.3.drv-0/sphinx-autodoc-typehints-1.10.3/tests/conftest.py'.
tests/conftest.py:8: in <module>
    from sphobjinv import Inventory
E   ModuleNotFoundError: No module named 'sphobjinv'
command "pytest" failed with status 4

According to here¹ there are a couple of other dependencies that are
needed to run the tests, including sphobjinv which isn't packaged yet.

> +    (native-inputs
> +     `(("python-setuptools-scm" ,python-setuptools-scm)))
> +    (propagated-inputs
> +     `(("python-sphinx" ,python-sphinx)))
> +    (home-page "https://github.com/agronholm/sphinx-autodoc-typehints")
> +    (synopsis "Type hints support for the Sphinx autodoc extension")
> +    (description
> +     "This extension allows you to use Python 3 annotations for
> +documenting acceptable argument types and return value types of
> +functions.")
> +    (license license:expat)))
> -- 
> 2.25.0
> 

¹ https://github.com/agronholm/sphinx-autodoc-typehints/blob/1.10.3/setup.cfg
ashish.is--- via Guix-patches" via Feb. 12, 2020, 2:28 p.m. UTC | #2
---- On Wed, 12 Feb 2020 02:48:27 -0500 Efraim Flashner <efraim@flashner.co.il> wrote ----
 > Overall the package looks good. I ran into an issue with the tests,
 > namely that they weren't run. (This is becoming a common issue with our
 > python packages as they change how the test suite is run)
 > 
 > On Tue, Feb 11, 2020 at 07:14:20PM -0500, sirgazil via Guix-patches via wrote:
 > > * gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints): New variable.
 > > ---
 > >  gnu/packages/sphinx.scm | 25 +++++++++++++++++++++++++
 > >  1 file changed, 25 insertions(+)
 > > 
 > > diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
 > > index 4e4abccb04..41bde173c3 100644
 > > --- a/gnu/packages/sphinx.scm
 > > +++ b/gnu/packages/sphinx.scm
 > > @@ -13,6 +13,7 @@
 > >  ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 > >  ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
 > >  ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
 > > +;;; Copyright © 2020 sirgazil <sirgazil@zoho.com>
 > >  ;;;
 > >  ;;; This file is part of GNU Guix.
 > >  ;;;
 > > @@ -597,3 +598,27 @@ to be able to read and render the Doxygen xml output.")
 > >       "A utility tool that provides several features that make it easy to
 > >  translate and to apply translation to Sphinx generated document.")
 > >      (license license:bsd-2)))
 > > +
 > > +(define-public python-sphinx-autodoc-typehints
 > > +  (package
 > > +    (name "python-sphinx-autodoc-typehints")
 > > +    (version "1.10.3")
 > > +    (source
 > > +     (origin
 > > +       (method url-fetch)
 > > +       (uri (pypi-uri "sphinx-autodoc-typehints" version))
 > > +       (sha256
 > > +        (base32
 > > +         "1w6zy3cyp24jsdi8dcynrinafw2a0k5vblqy9lncm6j7cw0iicx6"))))
 > > +    (build-system python-build-system)
 > 
 > I added the following snippet here to run the tests:
 > 
 >     (arguments
 >      `(#:phases
 >        (modify-phases %standard-phases
 >          (replace 'check
 >            (lambda _
 >              (invoke "pytest"))))))
 > 
 > And added python-pytest to the native-inputs but it turns out that
 > wasn't enough:
 > 
 > starting phase `check'
 > ImportError while loading conftest '/tmp/guix-build-python-sphinx-autodoc-typehints-1.10.3.drv-0/sphinx-autodoc-typehints-1.10.3/tests/conftest.py'.
 > tests/conftest.py:8: in <module>
 >     from sphobjinv import Inventory
 > E   ModuleNotFoundError: No module named 'sphobjinv'
 > command "pytest" failed with status 4
 > 
 > According to here¹ there are a couple of other dependencies that are
 > needed to run the tests, including sphobjinv which isn't packaged yet.

Oh, I read "extras_require" as "completely optional". I'll be more careful with that.


 > > +    (native-inputs
 > > +     `(("python-setuptools-scm" ,python-setuptools-scm)))
 > > +    (propagated-inputs
 > > +     `(("python-sphinx" ,python-sphinx)))
 > > +    (home-page "https://github.com/agronholm/sphinx-autodoc-typehints")
 > > +    (synopsis "Type hints support for the Sphinx autodoc extension")
 > > +    (description
 > > +     "This extension allows you to use Python 3 annotations for
 > > +documenting acceptable argument types and return value types of
 > > +functions.")
 > > +    (license license:expat)))
 > > -- 
 > > 2.25.0
 > > 
 > 
 > ¹ https://github.com/agronholm/sphinx-autodoc-typehints/blob/1.10.3/setup.cfg
 > 
 > -- 
 > Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
 > GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
 > Confidentiality cannot be guaranteed on emails sent or received unencrypted
 > 


Thank you very much for your review, Efraim. I'll check if I'm able to package whatever is missing.
Jelle Licht June 20, 2023, 9:39 p.m. UTC | #3
We now have python-sphinx-autodoc-typehints@1.18.3 available in guix
master. Closing!
- Jelle
diff mbox series

Patch

diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 4e4abccb04..41bde173c3 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -13,6 +13,7 @@ 
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2020 sirgazil <sirgazil@zoho.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -597,3 +598,27 @@  to be able to read and render the Doxygen xml output.")
      "A utility tool that provides several features that make it easy to
 translate and to apply translation to Sphinx generated document.")
     (license license:bsd-2)))
+
+(define-public python-sphinx-autodoc-typehints
+  (package
+    (name "python-sphinx-autodoc-typehints")
+    (version "1.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "sphinx-autodoc-typehints" version))
+       (sha256
+        (base32
+         "1w6zy3cyp24jsdi8dcynrinafw2a0k5vblqy9lncm6j7cw0iicx6"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools-scm" ,python-setuptools-scm)))
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/agronholm/sphinx-autodoc-typehints")
+    (synopsis "Type hints support for the Sphinx autodoc extension")
+    (description
+     "This extension allows you to use Python 3 annotations for
+documenting acceptable argument types and return value types of
+functions.")
+    (license license:expat)))