From 2206805c2cda5099d30e3a53db300827bf774d29 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 31 Mar 2020 12:09:47 -0400 Subject: gnu: python-pyyaml: Update to 5.3.1 [fixes CVE-2020-1747] * gnu/packages/python-xyz.scm (python-pyyaml): Update to 5.3.1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index daf129c3c4..e5bf2f5a3d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2594,14 +2594,14 @@ environments and back.") (define-public python-pyyaml (package (name "python-pyyaml") - (version "5.3") + (version "5.3.1") (source (origin (method url-fetch) (uri (pypi-uri "PyYAML" version)) (sha256 (base32 - "058nd4p8f25wwzy2aiwh18wcrdm6663cqbfdkgjp8y9cp7ampx79")))) + "0pb4zvkfxfijkpgd1b86xjsqql97ssf1knbd1v53wkg1qm9cgsmq")))) (build-system python-build-system) (inputs `(("libyaml" ,libyaml))) -- cgit v1.2.3 From 3ccfa4048a005c762d7d4b0f2d143714032a1ba9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 2 Apr 2020 19:49:09 +0200 Subject: gnu: python-pyasn1: Update to 0.4.8. * gnu/packages/python-xyz.scm (python-pyasn1): Update to 0.4.8. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e5bf2f5a3d..bee9d7d292 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7825,14 +7825,14 @@ primary use case is APIs defined before keyword-only parameters existed.") (define-public python-pyasn1 (package (name "python-pyasn1") - (version "0.4.3") + (version "0.4.8") (source (origin (method url-fetch) (uri (pypi-uri "pyasn1" version)) (sha256 (base32 - "1z5h38anjzzrxpraa9iq9llffyx2zs8gx0q6dc1g029miwnn50gv")))) + "1fnhbi3rmk47l9851gbik0flfr64vs5j0hbqx24cafjap6gprxxf")))) (build-system python-build-system) (home-page "http://pyasn1.sourceforge.net/") (synopsis "ASN.1 types and codecs") -- cgit v1.2.3 From 3094c0ae59ef99644cda79b6077073651847b726 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:06:27 -0600 Subject: gnu: Add python-frozendict. * gnu/packages/python-xyz.scm (python-frozendict): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index bee9d7d292..24c449f028 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -74,6 +74,7 @@ ;;; Copyright © 2020 Josh Marshall ;;; Copyright © 2020 Alexandros Theodotou ;;; Copyright © 2020 Lars-Dominik Braun +;;; Copyright © 2020 Alex ter Weele ;;; ;;; This file is part of GNU Guix. ;;; @@ -18726,3 +18727,22 @@ HTML-containing files.") usable as a configuration language. This Python package implements parsing and dumping of JSON5 data structures.") (license license:asl2.0))) + +(define-public python-frozendict + (package + (name "python-frozendict") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "frozendict" version)) + (sha256 + (base32 "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp")))) + (build-system python-build-system) + (home-page "https://github.com/slezica/python-frozendict") + (synopsis "Simple immutable mapping for Python") + (description + "@dfn{frozendict} is an immutable wrapper around dictionaries that +implements the complete mapping interface. It can be used as a drop-in +replacement for dictionaries where immutability is desired.") + (license license:expat))) -- cgit v1.2.3 From bc834c0f625dfe77e430f23c5a316129bbca5d9a Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:07:34 -0600 Subject: gnu: Add python-unpaddedbase64. * gnu/packages/python-xyz.scm (python-unpaddedbase64): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 24c449f028..03f6b63e2b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18746,3 +18746,26 @@ dumping of JSON5 data structures.") implements the complete mapping interface. It can be used as a drop-in replacement for dictionaries where immutability is desired.") (license license:expat))) + +(define-public python-unpaddedbase64 + (package + (name "python-unpaddedbase64") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/matrix-org/python-unpaddedbase64.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0if3fjfxga0bwdq47v77fs9hrcqpmwdxry2i2a7pdqsp95258nxd")))) + (build-system python-build-system) + (home-page "https://pypi.org/project/unpaddedbase64/") + (synopsis "Encode and decode Base64 without “=” padding") + (description + "RFC 4648 specifies that Base64 should be padded to a multiple of 4 bytes +using “=” characters. However this conveys no benefit so many protocols +choose to use Base64 without the “=” padding.") + (license license:asl2.0))) -- cgit v1.2.3 From 77b32f61f99002966cd944e48e01f9da7537be9f Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:08:29 -0600 Subject: gnu: Add python-canonicaljson. * gnu/packages/python-xyz.scm (python-canonicaljson): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 03f6b63e2b..d559496f92 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18769,3 +18769,35 @@ replacement for dictionaries where immutability is desired.") using “=” characters. However this conveys no benefit so many protocols choose to use Base64 without the “=” padding.") (license license:asl2.0))) + +(define-public python-canonicaljson + (package + (name "python-canonicaljson") + (version "1.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "canonicaljson" version)) + (sha256 + (base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six) + ("python-frozendict" ,python-frozendict) + ("python-simplejson" ,python-simplejson))) + (home-page "https://github.com/matrix-org/python-canonicaljson") + (synopsis "Canonical JSON") + (description + "Deterministically encode JSON. + +@itemize +@item Encodes objects and arrays as RFC 7159 JSON. +@item Sorts object keys so that you get the same result each time. +@item Has no insignificant whitespace to make the output as small as possible. +@item Escapes only the characters that must be escaped, U+0000 to + U+0019 / U+0022 / U+0056, to keep the output as small as possible. +@item Uses the shortest escape sequence for each escaped character. +@item Encodes the JSON as UTF-8. +@item Can encode frozendict immutable dictionaries. +@end itemize") + (license license:asl2.0))) -- cgit v1.2.3 From af1f7a3279bc7852de138122c267b70e1603a9c0 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:09:58 -0600 Subject: gnu: Add python-signedjson. * gnu/packages/python-xyz.scm (python-signedjson): New variable. Co-authored-by: Marius Bakke --- gnu/packages/python-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d559496f92..b31f2ff58a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18801,3 +18801,37 @@ choose to use Base64 without the “=” padding.") @item Can encode frozendict immutable dictionaries. @end itemize") (license license:asl2.0))) + +(define-public python-signedjson + (package + (name "python-signedjson") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "signedjson" version)) + (sha256 + (base32 "0280f8zyycsmd7iy65bs438flm7m8ffs1kcxfbvhi8hbazkqc19m")))) + (build-system python-build-system) + (propagated-inputs + `(("python-canonicaljson" ,python-canonicaljson) + ("python-importlib-metadata" ,python-importlib-metadata) + ("python-pynacl" ,python-pynacl) + ("python-typing-extensions" ,python-typing-extensions) + ("python-unpaddedbase64" ,python-unpaddedbase64))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://github.com/matrix-org/python-signedjson") + (synopsis "Sign JSON objects with ED25519 signatures") + (description + "Sign JSON objects with ED25519 signatures. + +@itemize +@item More than one entity can sign the same object. +@item Each entity can sign the object with more than one key making it easier to +rotate keys +@item ED25519 can be replaced with a different algorithm. +@item Unprotected data can be added to the object under the @dfn{\"unsigned\"} +key. +@end itemize") + (license license:asl2.0))) -- cgit v1.2.3 From 039c5499002bfc2294927bfd7c8c7f3b08cfce2c Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:10:35 -0600 Subject: gnu: Add python-daemonize. * gnu/packages/python-xyz.scm (python-daemonize): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b31f2ff58a..b37294fcf0 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18835,3 +18835,19 @@ rotate keys key. @end itemize") (license license:asl2.0))) + +(define-public python-daemonize + (package + (name "python-daemonize") + (version "2.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "daemonize" version)) + (sha256 + (base32 "1hwbl3gf9fdds9sc14zgjyjisjvxidrvqc11xlbb0b6jz17nw0nx")))) + (build-system python-build-system) + (home-page "https://github.com/thesharp/daemonize") + (synopsis "Library for writing system daemons in Python") + (description "Daemonize is a library for writing system daemons in Python.") + (license license:expat))) -- cgit v1.2.3 From 4fd0a4a4e9989cf8bc428a838e84f85b14202856 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:11:11 -0600 Subject: gnu: Add python-pymacaroons. * gnu/packages/python-xyz.scm (python-pymacaroons): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b37294fcf0..9f5a53c995 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18851,3 +18851,30 @@ key. (synopsis "Library for writing system daemons in Python") (description "Daemonize is a library for writing system daemons in Python.") (license license:expat))) + +(define-public python-pymacaroons + (package + (name "python-pymacaroons") + (version "0.13.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pymacaroons" version)) + (sha256 + (base32 "1f0357a6g1h96sk6wy030xmc1p4rd80a999qvxd28v7nlm1blsqy")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six) + ("python-pynacl" ,python-pynacl))) + (home-page "https://github.com/ecordell/pymacaroons") + (synopsis "Python Macaroon Library") + (description + "Macaroons, like cookies, are a form of bearer credential. Unlike opaque +tokens, macaroons embed caveats that define specific authorization +requirements for the target service, the service that issued the root macaroon +and which is capable of verifying the integrity of macaroons it receives. + +Macaroons allow for delegation and attenuation of authorization. They are +simple and fast to verify, and decouple authorization policy from the +enforcement of that policy.") + (license license:expat))) -- cgit v1.2.3 From 534fadf91db7e837c72943664c55418eddc37ffd Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:11:35 -0600 Subject: gnu: Add python-prometheus-client. * gnu/packages/python-xyz.scm (python-prometheus-client): New variable. Co-authored-by: Marius Bakke --- gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9f5a53c995..a424cd0f58 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18878,3 +18878,25 @@ Macaroons allow for delegation and attenuation of authorization. They are simple and fast to verify, and decouple authorization policy from the enforcement of that policy.") (license license:expat))) + +(define-public python-prometheus-client + (package + (name "python-prometheus-client") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "prometheus_client" version)) + (sha256 + (base32 "1ni2yv4ixwz32nz39ckia76lvggi7m19y5f702w5qczbnfi29kbi")))) + (build-system python-build-system) + (arguments + ;; TODO: No tests in the PyPI distribution. + `(#:tests? #f)) + (propagated-inputs + `(("python-twisted" ,python-twisted))) + (home-page "https://github.com/prometheus/client_python") + (synopsis "Prometheus instrumentation library") + (description + "This is the official Python client for the Prometheus monitoring server.") + (license license:asl2.0))) -- cgit v1.2.3 From 858f3834be5b534fb08d237d393e3ccb7a1d31f2 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:12:08 -0600 Subject: gnu: Add python-ldap3. * gnu/packages/python-xyz.scm (python-ldap3): New variable. Co-authored-by: Marius Bakke --- gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a424cd0f58..d148f167f4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18900,3 +18900,36 @@ enforcement of that policy.") (description "This is the official Python client for the Prometheus monitoring server.") (license license:asl2.0))) + +(define-public python-ldap3 + (package + (name "python-ldap3") + (version "2.7") + (home-page "https://github.com/cannatag/ldap3") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xw9fkqld21xsvdpaqir8ccc2l805xnn9gxahsnl70xzp3mwl0xv")))) + (build-system python-build-system) + (arguments + '(#:tests? #f ;TODO: Tests need a real LDAP server to run + #:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "nosetests" "-s" "test")) + #t))))) + (native-inputs + `(("python-nose" ,python-nose))) + (propagated-inputs + `(("python-gssapi" ,python-gssapi) + ("python-pyasn1" ,python-pyasn1))) + (synopsis "Python LDAP client") + (description + "LDAP3 is a strictly RFC 4510 conforming LDAP V3 pure Python client +library.") + (license license:lgpl3+))) -- cgit v1.2.3 From 09e6675dadad1c8376feebf8fe67e17ac75c8ae5 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Tue, 24 Mar 2020 19:32:46 -0500 Subject: gnu: Add python-boltons. * gnu/packages/python-xyz.scm: (python-boltons) New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d148f167f4..d8647b7278 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18933,3 +18933,34 @@ enforcement of that policy.") "LDAP3 is a strictly RFC 4510 conforming LDAP V3 pure Python client library.") (license license:lgpl3+))) + +(define-public python-boltons + (package + (name "python-boltons") + (version "20.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "boltons" version)) + (sha256 + (base32 + "0lrr40qqj3ch8xarvyzbnbjs79pz5aywklllq53l347h1b8xnkg4")))) + (build-system python-build-system) + (home-page "https://github.com/mahmoud/boltons") + (synopsis "Extensions to the Python standard library") + (description + "Boltons is a set of over 230 pure-Python utilities in the same spirit +as — and yet conspicuously missing from — the standard library, including: + +@itemize +@item Atomic file saving, bolted on with fileutils +@item A highly-optimized OrderedMultiDict, in dictutils +@item Two types of PriorityQueue, in queueutils +@item Chunked and windowed iteration, in iterutils +@item Recursive data structure iteration and merging, with iterutils.remap +@item Exponential backoff functionality, including jitter, through +iterutils.backoff +@item A full-featured TracebackInfo type, for representing stack traces, in +tbutils +@end itemize") + (license license:bsd-3))) -- cgit v1.2.3 From acbba42d5686bfe73905f47ef3038520b82f36ac Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Tue, 24 Mar 2020 19:33:36 -0500 Subject: gnu: Add python-eliot. * gnu/packages/python-xyz.scm: (python-eliot) New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d8647b7278..e01e115e92 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18964,3 +18964,56 @@ iterutils.backoff tbutils @end itemize") (license license:bsd-3))) + +(define-public python-eliot + (package + (name "python-eliot") + (version "1.12.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "eliot" version)) + (sha256 + (base32 "0wabv7hk63l12881f4zw02mmj06583qsx2im0yywdjlj8f56vqdn")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-journald-support + (lambda _ + (for-each delete-file + '("eliot/tests/test_journald.py" + "eliot/journald.py")) + #t)) + (add-after 'remove-journald-support 'remove-eliot-prettyprint-tests + ;; remove command-line tool's tests. TODO eliot-prettyprint should + ;; be installed and these tests should pass. + (lambda _ + (delete-file "eliot/tests/test_prettyprint.py") + #t))))) + (propagated-inputs + `(("python-boltons" ,python-boltons) + ("python-pyrsistent" ,python-pyrsistent) + ("python-six" ,python-six) + ("python-zope-interface" ,python-zope-interface))) + (native-inputs + `(("python-black" ,python-black) + ("python-coverage" ,python-coverage) + ("python-dask" ,python-dask) + ("python-flake8" ,python-flake8) + ("python-hypothesis" ,python-hypothesis) + ("python-pytest" ,python-pytest) + ("python-setuptools" ,python-setuptools) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) + ("python-testtools" ,python-testtools) + ("python-twine" ,python-twine) + ("python-twisted" ,python-twisted))) + (home-page "https://github.com/itamarst/eliot/") + (synopsis "Eliot: the logging system that tells you why it happened") + (description + "@dfn{eliot} is a Python logging system that outputs causal chains of +actions: actions can spawn other actions, and eventually they either succeed +or fail. The resulting logs tell you the story of what your software did: what +happened, and what caused it.") + (license license:asl2.0))) -- cgit v1.2.3 From bdbe69f6596aeff4cba76ba40b7afffb1b106ca0 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Tue, 24 Mar 2020 19:49:10 -0500 Subject: gnu: Add python-pem. * gnu/packages/python-xyz.scm: (python-pem) New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e01e115e92..901b241a24 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19017,3 +19017,29 @@ actions: actions can spawn other actions, and eventually they either succeed or fail. The resulting logs tell you the story of what your software did: what happened, and what caused it.") (license license:asl2.0))) + +(define-public python-pem + (package + (name "python-pem") + (version "20.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pem" version)) + (sha256 + (base32 + "1xh88ss279fprxnzd10dczmqwjhppbyvljm33zrg2mgybwd66qr7")))) + (build-system python-build-system) + (native-inputs + `(("python-certifi" ,python-certifi) + ("python-coverage" ,python-coverage) + ("python-pretend" ,python-pretend) + ("python-pyopenssl" ,python-pyopenssl) + ("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx) + ("python-twisted" ,python-twisted))) + (home-page "https://pem.readthedocs.io/") + (synopsis "Easy PEM file parsing in Python") + (description + "This package provides a Python module for parsing and splitting PEM files.") + (license license:expat))) -- cgit v1.2.3 From 87ba9efc6d4fed9abe282ae44c111bd99512bd50 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 2 Apr 2020 20:20:43 +0200 Subject: gnu: Add python-txsni. * gnu/packages/python-xyz.scm: (python-txsni) New variable. Co-authored-by: Alex ter Weele --- gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 901b241a24..52430555da 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19043,3 +19043,31 @@ happened, and what caused it.") (description "This package provides a Python module for parsing and splitting PEM files.") (license license:expat))) + +(define-public python-txsni + ;; We need a few commits on top of 0.1.9 for compatibility with newer + ;; Python and OpenSSL. + (let ((commit "5014c141a7acef63e20fcf6c36fa07f0cd754ce1") + (revision "0")) + (package + (name "python-txsni") + (version (git-version "0.1.9" revision commit)) + (home-page "https://github.com/glyph/txsni") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0imfxx4yjj1lbq0n5ad45al3wvv4qv96sivnc1r51i66mxi658z8")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pyopenssl" ,python-pyopenssl) + ("python-service-identity" ,python-service-identity) + ("python-twisted" ,python-twisted))) + (synopsis "Run TLS servers with Twisted") + (description + "This package provides an easy-to-use SNI endpoint for use +with the Twisted web framework.") + (license license:expat)))) -- cgit v1.2.3 From 9a3d361b5d7d538bfe99bbe3075b8812f7e32032 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:13:26 -0600 Subject: gnu: Add python-txacme. * gnu/packages/python-xyz.scm (python-txacme): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 52430555da..01c0e54e2b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19071,3 +19071,44 @@ happened, and what caused it.") "This package provides an easy-to-use SNI endpoint for use with the Twisted web framework.") (license license:expat)))) + +(define-public python-txacme + (package + (name "python-txacme") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "txacme" version)) + (sha256 + (base32 "1cplx4llq7i508w6fgwjdv9di7rsz9k9irfmzdfbiz6q6a0ykf1d")))) + (build-system python-build-system) + (propagated-inputs + `(("python-acme" ,python-acme) + ("python-attrs" ,python-attrs) + ("python-eliot" ,python-eliot) + ("python-josepy" ,python-josepy) + ("python-pem" ,python-pem) + ("python-treq" ,python-treq) + ("python-twisted" ,python-twisted) + ("python-txsni" ,python-txsni))) + (native-inputs + `(("python-fixtures" ,python-fixtures) + ("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-service-identity" + ,python-service-identity) + ("python-testrepository" ,python-testrepository) + ("python-testscenarios" ,python-testscenarios) + ("python-testtools" ,python-testtools))) + (home-page "https://github.com/twisted/txacme") + (synopsis "Twisted implexmentation of the ACME protocol") + (description + "ACME is Automatic Certificate Management Environment, a protocol that +allows clients and certificate authorities to automate verification and +certificate issuance. The ACME protocol is used by the free Let's Encrypt +Certificate Authority. + +txacme is an implementation of the protocol for Twisted, the event-driven +networking engine for Python.") + (license license:expat))) -- cgit v1.2.3 From 276ddb02b5c59c2b819e306e4d592c5674bef453 Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Tue, 24 Mar 2020 19:38:36 -0500 Subject: gnu: Add python-pysaml2. * gnu/packages/python-xyz.scm: (python-pysaml2) New variable. Co-authored-by: Marius Bakke --- gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 01c0e54e2b..d19adf11c5 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19112,3 +19112,34 @@ Certificate Authority. txacme is an implementation of the protocol for Twisted, the event-driven networking engine for Python.") (license license:expat))) + +(define-public python-pysaml2 + (package + (name "python-pysaml2") + (version "5.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pysaml2" version)) + (sha256 + (base32 + "1h8cmxh9cvxhrdfmkh92wg6zpxmhi2fixq1cy4hxismmaar7bsny")))) + (build-system python-build-system) + (propagated-inputs + `(("python-cryptography" ,python-cryptography) + ("python-dateutil" ,python-dateutil) + ("python-defusedxml" ,python-defusedxml) + ("python-pyopenssl" ,python-pyopenssl) + ("python-pytz" ,python-pytz) + ("python-requests" ,python-requests) + ("python-six" ,python-six))) + (home-page "https://idpy.org") + (synopsis "Python implementation of SAML Version 2 Standard") + (description + "PySAML2 is a pure python implementation of SAML Version 2 Standard. +It contains all necessary pieces for building a SAML2 service provider or +an identity provider. The distribution contains examples of both. + +This package was originally written to work in a WSGI environment, but +there are extensions that allow you to use it with other frameworks.") + (license license:asl2.0))) -- cgit v1.2.3 From aeee50b66125bed0cfbbd8477fe9a377f47eea8d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 3 Apr 2020 11:13:45 -0400 Subject: gnu: Add python-textparser. * gnu/packages/python-xyz.scm (python-textparser): New variable. --- gnu/packages/python-xyz.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d19adf11c5..c51b2f9871 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1108,6 +1108,24 @@ helpers.") (define-public python2-humanfriendly (package-with-python2 python-humanfriendly)) +(define-public python-textparser + (package + (name "python-textparser") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "textparser" version)) + (sha256 + (base32 + "0w5lyhrsvzs5a9q1l3sjgxgljrvd3ybf796w93kc39wayzvd02gh")))) + (build-system python-build-system) + (home-page "https://github.com/eerimoq/textparser") + (synopsis "Fast text parser for Python") + (description "This library provides a text parser written in the Python +language. It aims to be fast.") + (license license:expat))) + (define-public python-capturer (package (name "python-capturer") -- cgit v1.2.3 From e063426031a18e3729e93730bcdf050cfe29f2f2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 3 Apr 2020 11:15:41 -0400 Subject: gnu: Add python-aenum. * gnu/packages/python-xyz.scm (python-aenum): New variable. --- gnu/packages/python-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c51b2f9871..2ab6c8ddac 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1126,6 +1126,44 @@ helpers.") language. It aims to be fast.") (license license:expat))) +(define-public python-aenum + (package + (name "python-aenum") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "aenum" version)) + (sha256 + (base32 + "1s3008rklv4n1kvmq6xdbdfyrpl0gf1rhqasmd27s5kwyjmlqcx4")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (format #t "current working dir ~s~%" (getcwd)) + (setenv "PYTHONPATH" + (string-append ".:" (getenv "PYTHONPATH"))) + ;; We must run the test suite module directly, as it + ;; fails to define the 'tempdir' variable in scope for + ;; the tests otherwise + ;; (see:https://bitbucket.org/stoneleaf/aenum/\ + ;; issues/32/running-tests-with-python-setuppy-test). + (invoke "python3" "aenum/test.py") + ;; This one fails with "NameError: name + ;; 'test_pickle_dump_load' is not defined" (see: + ;; https://bitbucket.org/stoneleaf/aenum/issues/33 + ;; /error-running-the-test_v3py-test-suite). + ;; (invoke "python3" "aenum/test_v3.py") + #t))))) + (home-page "https://bitbucket.org/stoneleaf/aenum") + (synopsis "Advanced enumerations, namedtuples and constants for Python") + (description "The aenum library includes an @code{Enum} base class, a +metaclass-based @code{NamedTuple} implementation and a @code{NamedConstant} +class.") + (license license:bsd-3))) + (define-public python-capturer (package (name "python-capturer") -- cgit v1.2.3 From a9d58a801ef65c93d1f1253120646d50ce81de40 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 3 Apr 2020 11:16:02 -0400 Subject: gnu: Add python-can. * gnu/packages/python-xyz.scm (python-can): New variable. --- gnu/packages/python-xyz.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2ab6c8ddac..75b74ecde7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1164,6 +1164,50 @@ metaclass-based @code{NamedTuple} implementation and a @code{NamedConstant} class.") (license license:bsd-3))) +(define-public python-can + (package + (name "python-can") + (version "3.3.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-can" version)) + (sha256 + (base32 + "0bkbxi45sckzir6s0j3h01pkfn4vkz3ymih2zjp7zw77wz0vbvsz")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-broken-tests + ;; The tests try to run two scripts it expects should be + ;; in PATH, but they aren't at this time (see: + ;; https://github.com/hardbyte/python-can/issues/805). + (lambda _ + (substitute* "test/test_scripts.py" + (("\"can_logger\\.py --help\"") "") + (("\"can_player\\.py --help\"") "")) + #t))))) + (propagated-inputs + `(("python-aenum" ,python-aenum) + ("python-wrapt" ,python-wrapt))) + (native-inputs + `(("python-codecov" ,python-codecov) + ("python-future" ,python-future) + ("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-pyserial" ,python-pyserial) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner) + ("python-pytest-timeout" ,python-pytest-timeout))) + (home-page "https://github.com/hardbyte/python-can") + (synopsis "Controller Area Network (CAN) interface module for Python") + (description "This package defines the @code{can} module, which provides +controller area network (CAN) support for Python developers; providing common +abstractions to different hardware devices, and a suite of utilities for +sending and receiving messages on a CAN bus.") + (license license:gpl3+))) + (define-public python-capturer (package (name "python-capturer") -- cgit v1.2.3 From 91b3f58de83d303548017ac5bf1d9e2f86f38a6a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 3 Apr 2020 11:16:13 -0400 Subject: gnu: Add python-diskcache. * gnu/packages/python-xyz.scm (python-diskcache): New variable. --- gnu/packages/python-xyz.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 75b74ecde7..0bdf165119 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1208,6 +1208,25 @@ abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a CAN bus.") (license license:gpl3+))) +(define-public python-diskcache + (package + (name "python-diskcache") + (version "4.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "diskcache" version)) + (sha256 + (base32 + "1q2wz5sj16zgyy1zpq516qgbnfwsavk1pl2qks0f4r62z5cmmvmw")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;test suite not included in the release + (home-page "http://www.grantjenks.com/docs/diskcache/") + (synopsis "Disk and file backed cache library") + (description "DiskCache is a disk and file backed persistent cache.") + (license license:asl2.0))) + (define-public python-capturer (package (name "python-capturer") -- cgit v1.2.3 From 22a49c09eed46cd7b09ef1c557aadb63ed45b8fb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 3 Apr 2020 11:16:37 -0400 Subject: gnu: Add python-bitstruct. * gnu/packages/python-xyz.scm (python-bitstruct): New variable. --- gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0bdf165119..cd431e401f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1227,6 +1227,26 @@ sending and receiving messages on a CAN bus.") (description "DiskCache is a disk and file backed persistent cache.") (license license:asl2.0))) +(define-public python-bitstruct + (package + (name "python-bitstruct") + (version "8.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bitstruct" version)) + (sha256 + (base32 + "1fpc1qh1vss05ap29xvhjp200fm0q4pvgcjl0qpryh7ay6xgr5vx")))) + (build-system python-build-system) + (home-page "https://github.com/eerimoq/bitstruct") + (synopsis "Python values to and C bit field structs converter") + (description "This module performs conversions between Python values and C +bit field structs represented as Python byte strings. It is intended to have +a similar interface as the @code{struct} module from Python, but working on +bits instead of primitive data types like @code{char}, @code{int}, etc.") + (license license:expat))) + (define-public python-capturer (package (name "python-capturer") -- cgit v1.2.3 From 5179b5cbe94eabd2d47a5c66fb79244d1904d090 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 3 Apr 2020 11:16:51 -0400 Subject: gnu: Add python-cantools. * gnu/packages/python-xyz.scm (python-cantools): New variable. --- gnu/packages/python-xyz.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index cd431e401f..d98b38411f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1247,6 +1247,68 @@ a similar interface as the @code{struct} module from Python, but working on bits instead of primitive data types like @code{char}, @code{int}, etc.") (license license:expat))) +(define-public python-cantools + (package + (name "python-cantools") + (version "33.1.1") + (source + (origin + ;; We take the sources from the Git repository as the documentation is + ;; not included with the PyPI archive. + (method git-fetch) + (uri (git-reference + (url "https://github.com/eerimoq/cantools.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aad137yd8b4jkfvlv812qsxmxcgra7g1p4wbxfsjy1cbf8fbq9q")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + ;; See: https://github.com/eerimoq/cantools/issues/190. + (substitute* "README.rst" + (("https://github.com/eerimoq/cantools/raw/master\ +/docs/monitor.png") + "monitor.png")) + (with-directory-excursion "docs" + (invoke "make" "man" "info")))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info")) + (man1 (string-append out "/share/man/man1"))) + (format #t "CWD: ~s~%" (getcwd)) + (install-file "docs/_build/texinfo/cantools.info" info) + (install-file "docs/_build/man/cantools.1" man1) + #t)))))) + (native-inputs + `(("sphinx" ,python-sphinx) + ("texinfo" ,texinfo))) + (propagated-inputs + `(("python-bitstruct" ,python-bitstruct) + ("python-can" ,python-can) + ("python-diskcache" ,python-diskcache) + ("python-textparser" ,python-textparser))) + (home-page "https://github.com/eerimoq/cantools") + (synopsis "Tools for the Controller Area Network (CAN) bus protocol") + (description "This package includes Controller Area Network (CAN) related +tools that can be used to: +@itemize +@item parse DBC, KCD, SYM, ARXML 4 and CDD files +@item encode and decode CAN messages +@item multiplex simple and extended signals +@item diagnose DID encoding and decoding +@item dump the CAN decoder output +@item test CAN nodes +@item generate C source code +@item monitor the CAN bus +@end itemize") + (license license:expat))) + (define-public python-capturer (package (name "python-capturer") -- cgit v1.2.3 From 081535087457ba68569cbad6e56343c67fdebfa2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Mar 2020 10:09:13 +0200 Subject: gnu: Add python-ipyparallel. * gnu/packages/python-xyz.scm (python-ipyparallel): New variable. --- gnu/packages/python-xyz.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d98b38411f..565a8baca7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5888,6 +5888,64 @@ away.") (define-public python2-ipython-genutils (package-with-python2 python-ipython-genutils)) +(define-public python-ipyparallel + (package + (name "python-ipyparallel") + (version "6.2.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ipyparallel" version)) + (sha256 + (base32 + "0rf0dbpxf5z82bw8lsjj45r3wdd4wc74anz4wiiaf2rbjqlb1ivn")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; RuntimeError: IO Loop failed to start + #:phases + (modify-phases %standard-phases + (add-before 'check 'prepare-for-tests + (lambda _ + (setenv "HOME" (getcwd)) + #t))))) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-decorator" ,python-decorator) + ("python-ipykernel" ,python-ipykernel) + ("python-ipython" ,python-ipython) + ("python-ipython-genutils" ,python-ipython-genutils) + ("python-jupyter-client" ,python-jupyter-client) + ("python-pyzmq" ,python-pyzmq) + ("python-tornado" ,python-tornado) + ("python-traitlets" ,python-traitlets))) + (native-inputs + `(("python-ipython" ,python-ipython) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-testpath" ,python-testpath))) + (home-page "https://ipython.org/") + (synopsis "Interactive Parallel Computing with IPython") + (description + "@code{ipyparallel} is a Python package and collection of CLI scripts for +controlling clusters for Jupyter. @code{ipyparallel} contains the following +CLI scripts: +@enumerate +@item ipcluster - start/stop a cluster +@item ipcontroller - start a scheduler +@item ipengine - start an engine +@end enumerate") + (license license:bsd-3))) + +(define-public python2-ipyparallel + (let ((ipyparallel (package-with-python2 python-ipyparallel))) + (package + (inherit ipyparallel) + (propagated-inputs + `(("python2-futures" ,python2-futures) + ,@(package-propagated-inputs ipyparallel)))))) + (define-public python-traitlets (package (name "python-traitlets") -- cgit v1.2.3 From 68d8ec5770da58910bb740881040882723dc707b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 12 Mar 2020 10:10:02 +0200 Subject: gnu: Add python-ipython-cluster-helper. * gnu/packages/python-xyz.scm (python-ipython-cluster-helper): New variable. --- gnu/packages/python-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu/packages/python-xyz.scm') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 565a8baca7..1b97e21a62 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5946,6 +5946,54 @@ CLI scripts: `(("python2-futures" ,python2-futures) ,@(package-propagated-inputs ipyparallel)))))) +(define-public python-ipython-cluster-helper + (package + (name "python-ipython-cluster-helper") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ipython-cluster-helper" version)) + (sha256 + (base32 + "1l6mlwxlkxpbvawfwk6qffich7ahg9hq2bxfissgz6144p3k4arj")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "requirements.txt" + (("ipython.*") "ipython\n")) + #t)))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Test suite can't find IPython. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (if tests? + (begin + (setenv "HOME" (getcwd)) + (add-installed-pythonpath inputs outputs) + (invoke "python" "example/example.py" "--local")) + #t)))))) + (propagated-inputs + `(("python-ipyparallel" ,python-ipyparallel) + ("python-ipython" ,python-ipython) + ("python-netifaces" ,python-netifaces) + ("python-pyzmq" ,python-pyzmq) + ("python-setuptools" ,python-setuptools) + ("python-six" ,python-six))) + (home-page "https://github.com/roryk/ipython-cluster-helper") + (synopsis + "Simplify IPython cluster start up and use for multiple schedulers") + (description + "@code{ipython-cluster-helper} creates a throwaway parallel IPython +profile, launches a cluster and returns a view. On program exit it shuts the +cluster down and deletes the throwaway profile.") + (license license:expat))) + +(define-public python2-ipython-cluster-helper + (package-with-python2 python-ipython-cluster-helper)) + (define-public python-traitlets (package (name "python-traitlets") -- cgit v1.2.3