Hartmut Goebel <h.goe...@crazy-compilers.com> skribis: > * doc/guix.texi (Python Modules): New sub-subsection "Specifying > Dependencies".
Cool, thanks for working on it. > +@subsubsection Specifying Dependencies > +@cindex inputs, for Python packages > + > +@itemize Could you add a sentence or two before @itemize to give some context? > +@item > +All Python package required at run-time need to go into s/All Python package/Python packages/ s/run-time/run time/ > +@code{propagated-inputs}. These are typically defined in ^ (@pxref{package Reference, @code{propagated-inputs}}) > +@code{install_requires} or in a requirements-file. Perhaps this is obvious to a seasoned Python programmer, but I think we should clarify this: in the @code{install_requires} field of whatever(?), or in a @file{requirements.txt} file. > +@item > +Python packages required only for building (to be found e.g. in > +@code{setup_requires}) or testing (to be found e.g. in Remove “e.g.” here or put it at the beginning of the parenthetical expression. > +@code{tests_require}) go into @code{native-inputs}. Examples are > +@emph{setuptools}, @emph{pytest}, @emph{mock}, and @emph{nose}. Of > +course if any of these packages is required at run-time, it needs to be > +set in @code{propagated-inputs}. s/to be set in/to go to/ I’m not entirely convinced that this is an improvement of what “package Reference” says. In particular, it describes ‘native-inputs’ as having nothing to do with cross-compilation. OTOH, it has the advantage of providing concrete instructions to someone focusing on Python. Thoughts? > +@item > +@code{inputs} only contain programs or C-libraries (and such) required > +for building Python packages containing c-extensions (or such). “C libraries” and “C extensions”; remove “(and/or such)”. > +@item > +If a Python package has optional extra dependencies s/extra// > +(@code{extras_require}), not these are not listed here at all - except ^^^ ^^^ Remove “not”. “at all---except” > +if there is a test-case in which case they are added to > +@code{native-inputs}. “test case” I’m not sure what “if there is a test case” means here; should it be “if it is a test suite framework”? > + > +@item > +If a packages has complicated optional extra dependencies you may want ^ > +to define another package to ease resolving these dependencies for the > +user. E.g. @code{python-abcdef-ssh} inherits @code{python-abcdef} and > +adds the dependencies required for the @emph{ssh} extra feature. The question of optional dependencies in general is already covered in “Submitting Patches”, item 5. Could you send an updated patch? Thanks, Ludo’.