summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-10-10 01:03:33 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-10-10 01:03:33 -0400
commite4dbc257948a3a322ac00e665ae5e83c045a8c6d (patch)
tree91bd1312afa2cebc2731cb737bcceab143a1565c
parent4451d08828994f6f9d711188edbe9c4c8256e022 (diff)
downloadguix-e4dbc257948a3a322ac00e665ae5e83c045a8c6d.tar.gz
gnu: Add python-zxcvbn.
* gnu/packages/python-crypto.scm (python-zxcvbn): New variable.
-rw-r--r--gnu/packages/python-crypto.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index d8e52225c1..00b1e8c803 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -1760,3 +1760,33 @@ supply a handful of python functions as methods to a class.")
     (description "This package provides a Python ECDSA library, optimized for
 speed but without C extensions.")
     (license license:expat)))
+
+(define-public python-zxcvbn
+  (package
+    (name "python-zxcvbn")
+    (version "4.4.28")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/dwolfhub/zxcvbn-python")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0xzlsqc9h0llfy19w4m39jgfcnvzqviv8jhgwn3r75kip97i5mvs"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/dwolfhub/zxcvbn-python")
+    (synopsis "Realistic password strength estimator Python library")
+    (description "This is a Python implementation of the @code{zxcvbn} library
+created at Dropbox.  The original library, written for JavaScript, can be
+found @url{https://github.com/dropbox/zxcvbn, here}.  This port includes
+features such as:
+@enumerate
+@item Accepts user data to be added to the dictionaries that are tested
+against (name, birthdate, etc.)
+@item Gives a score to the password, from 0 (terrible) to 4 (great).
+@item Provides feedback on the password and ways to improve it.
+@item Returns time estimates on how long it would take to guess the password
+in different situations.
+@end enumerate")
+    (license license:expat)))