Danny Milosavljevic writes: > * gnu/packages/python.scm (python-pycontracts, python2-pycontracts): > New variables. > --- > gnu/packages/python.scm | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm > index 4dc284d03..1cd4f168a 100644 > --- a/gnu/packages/python.scm > +++ b/gnu/packages/python.scm > @@ -2201,6 +2201,38 @@ have failed since the last commit or what tests are currently failing.") > (define-public python2-testrepository > (package-with-python2 python-testrepository)) > > +(define-public python-pycontracts > + (package > + (name "python-pycontracts") > + (version "1.7.15") > + (source > + (origin > + (method url-fetch) > + (uri (pypi-uri "PyContracts" version)) > + (sha256 > + (base32 > + "0sf41nccy5ihymiab31sfc4ylxd87fvvhbzqd8lhw7fnryskmgr4")))) > + (build-system python-build-system) > + (propagated-inputs > + `(("python-decorator" ,python-decorator) > + ("python-pyparsing" ,python-pyparsing) > + ("python-six" ,python-six))) > + (native-inputs > + `(("python-nose" ,python-nose))) > + (home-page "http://andreacensi.github.com/contracts/") > + (synopsis "Checks declared constraints on function parameters and return > +values") This is a little too long for my taste. Maybe just 'Declare constraints on function parameters and return values'. Checking them is kind of implied, me thinks. > + (description "PyContracts is a Python package that allows to declare > +constraints on function parameters and return values. Contracts can be > +specified using Python3 annotations, in a decorator, or inside a docstring > +:type: and :rtype: tags. PyContracts supports a basic type system, variables ^^^^ ^^^^ @code{} on these. > +binding, arithmetic constraints, and has several specialized contracts > +(notably for Numpy arrays), as well as an extension API.") > + (license license:lgpl3))) > + > +(define-public python2-pycontracts > + (package-with-python2 python-pycontracts)) Otherwise LGTM, thanks! I guess you can push this yourself when the account is set up :)