diff mbox series

[bug#51675,3/5] gnu: Add python-pydoctor.

Message ID 20211108024520.49594-3-singpolyma@singpolyma.net
State New
Headers show
Series [bug#51675,1/5] gnu: python-incremental: Update to 21.3.0 | expand

Checks

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

Commit Message

Stephen Paul Weber Nov. 8, 2021, 2:45 a.m. UTC
* gnu/packages/python-xyz.scm (python-pydoctor): New variable.
---
 gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

Vinicius Monego Nov. 12, 2021, 6:02 p.m. UTC | #1
Em dom, 2021-11-07 às 21:45 -0500, Stephen Paul Weber escreveu:
> * gnu/packages/python-xyz.scm (python-pydoctor): New variable.
> ---
>  gnu/packages/python-xyz.scm | 38
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-
> xyz.scm
> index 96718c7c18..f439ffd91e 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -27693,3 +27693,41 @@ simple mock/record and a complete
> capture/replay framework.")
>       "Ijson is an iterative JSON parser with standard Python
> iterator
>  interfaces.")
>      (license license:bsd-3)))
> +
> +(define-public python-pydoctor
> +  (package
> +    (name "python-pydoctor")
> +    (version "21.9.2")
> +    (source
> +      (origin
> +        (method url-fetch)
> +        (uri (pypi-uri "pydoctor" version))
> +        (sha256
> +          (base32
> "0nknh3k4zv505031ga8ira0d4slvwwm5g5bzjacjidmi2mmjj311"))))
> +    (build-system python-build-system)
> +    (arguments
> +     ; Some tests use network and cache storage
> +     '(#:tests? #f))

Can these tests be skipped somehow? If Pytest is used there may be a
pytest mark, or if they are in specific files these files can be
deleted in a phase. If they are few they can be skipped manually too.

> +    (propagated-inputs
> +      `(("python-appdirs" ,python-appdirs)
> +        ("python-astor" ,python-astor)
> +        ("python-attrs" ,python-attrs)
> +        ("python-cachecontrol" ,python-cachecontrol)
> +        ("python-docutils" ,python-docutils)
> +        ("python-importlib-metadata" ,python-importlib-metadata)
> +        ("python-importlib-resources" ,python-importlib-resources)
> +        ("python-requests" ,python-requests)
> +        ("python-twisted" ,python-twisted)))

Does this package only provides an executable? Inputs can be normal
inputs in that case, the libraries will be wrapped to the executable in
the 'wrap phase.

> +    (native-inputs
> +      `(("python-beautifulsoup4" ,python-beautifulsoup4)
> +        ("python-hypothesis" ,python-hypothesis)
> +        ("python-pytest" ,python-pytest)
> +        ("python-sphinx" ,python-sphinx)))

If the tests still can't run these inputs can be removed or commented
out.

> +    (home-page "https://github.com/twisted/pydoctor")
> +    (synopsis "Python API documentation generator")
> +    (description "A documentation generator that works by static
> analysis.
> +It puts a fair bit of effort into resolving imports and computing
> inheritance
> +hierarchies and, as it aims at documenting Twisted, knows about
> zope.interface's
> +declaration API and can present information about which classes
> implement which
> +interface, and vice versa.")

Description should have full sentences. A rule of thumb is to use the
package name, e.g. "Pydoctor is a [...]" or "This package provides
[...]".

> +    (license license:expat)))
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 96718c7c18..f439ffd91e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27693,3 +27693,41 @@  simple mock/record and a complete capture/replay framework.")
      "Ijson is an iterative JSON parser with standard Python iterator
 interfaces.")
     (license license:bsd-3)))
+
+(define-public python-pydoctor
+  (package
+    (name "python-pydoctor")
+    (version "21.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pydoctor" version))
+        (sha256
+          (base32 "0nknh3k4zv505031ga8ira0d4slvwwm5g5bzjacjidmi2mmjj311"))))
+    (build-system python-build-system)
+    (arguments
+     ; Some tests use network and cache storage
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("python-appdirs" ,python-appdirs)
+        ("python-astor" ,python-astor)
+        ("python-attrs" ,python-attrs)
+        ("python-cachecontrol" ,python-cachecontrol)
+        ("python-docutils" ,python-docutils)
+        ("python-importlib-metadata" ,python-importlib-metadata)
+        ("python-importlib-resources" ,python-importlib-resources)
+        ("python-requests" ,python-requests)
+        ("python-twisted" ,python-twisted)))
+    (native-inputs
+      `(("python-beautifulsoup4" ,python-beautifulsoup4)
+        ("python-hypothesis" ,python-hypothesis)
+        ("python-pytest" ,python-pytest)
+        ("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/twisted/pydoctor")
+    (synopsis "Python API documentation generator")
+    (description "A documentation generator that works by static analysis.
+It puts a fair bit of effort into resolving imports and computing inheritance
+hierarchies and, as it aims at documenting Twisted, knows about zope.interface's
+declaration API and can present information about which classes implement which
+interface, and vice versa.")
+    (license license:expat)))