summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-17 08:46:41 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:50 -0400
commit34c98f2cd387675313b06d1ff1baab2848a413bf (patch)
tree391b7685fd2ef748df44accfb6015cd0393fd707 /gnu
parent37caa64189b1cd35a806d42fcc9cad7001388164 (diff)
downloadguix-34c98f2cd387675313b06d1ff1baab2848a413bf.tar.gz
gnu: Add python-strict-rfc3339.
* gnu/packages/python-xyz.scm (python-strict-rfc3339): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 78e5334bce..1ca87fee50 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29550,6 +29550,48 @@ from multiple sources.  Online trading accounts also often provide account
 statements in OFX files.")
     (license license:expat)))
 
+(define-public python-strict-rfc3339
+  (package
+    (name "python-strict-rfc3339")
+    (version "0.7")
+    (source
+     (origin
+       (method git-fetch)               ;no tests in pypi release
+       (uri (git-reference
+             (url "https://github.com/danielrichman/strict-rfc3339")
+             (commit (string-append "version-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0b12bh9v9gwkm89kxbidxw2z81lg8fx1v5fzgs313v1wgx6qb09p"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv"
+                        ;; The timestamp to local offset tests fail due to
+                        ;; missing timezone data (see:
+                        ;; https://github.com/danielrichman/strict-rfc3339/issues/9).
+                        "-k" "not LocalOffset")))))))
+    (native-inputs (list python-pytest))
+    (home-page "https://github.com/danielrichman/strict-rfc3339")
+    (synopsis "RFC3339 procedures library")
+    (description "The @code{strict_rfc3339} Python module provides strict,
+simple, lightweight RFC3339 procedures.  It enables or aims to:
+@itemize
+@item Convert UNIX timestamps to and from RFC3339.
+@item Produce RFC3339 strings with a UTC offset (Z) or with the offset that
+the C time module reports is the local timezone offset.
+@item Be simple with minimal dependencies/libraries.
+@item Avoid timezones as much as possible.
+@item Be very strict and follow RFC3339.
+@end itemize")
+    (license license:gpl3+)))
+
 (define-public python-stripe
   (package
     (name "python-stripe")