Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / passlib / default.nix
blobcf264c504353ab78141d8db91353b52d6988dd10
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , argon2-cffi
5 , bcrypt
6 , cryptography
7 , pytestCheckHook
8 , pythonOlder
9 , pytest-xdist
12 buildPythonPackage rec {
13   pname = "passlib";
14   version = "1.7.4";
15   format = "setuptools";
17   disabled = pythonOlder "3.7";
19   src = fetchPypi {
20     inherit pname version;
21     hash = "sha256-3v1Q9ytlxUAqssVzgwppeOXyAq0NmEeTyN3ixBUuvgQ";
22   };
24   passthru.optional-dependencies = {
25     argon2 = [ argon2-cffi ];
26     bcrypt = [ bcrypt ];
27     totp = [ cryptography ];
28   };
30   nativeCheckInputs = [
31     pytestCheckHook
32     pytest-xdist
33   ] ++ passthru.optional-dependencies.argon2
34   ++ passthru.optional-dependencies.bcrypt
35   ++ passthru.optional-dependencies.totp;
37   pythonImportsCheck = [
38     "passlib"
39   ];
41   disabledTests = [
42     # timming sensitive
43     "test_dummy_verify"
44     "test_encrypt_cost_timing"
45     # These tests fail because they don't expect support for algorithms provided through libxcrypt
46     "test_82_crypt_support"
47   ];
49   pytestFlagsArray = [
50     # hashing algorithms we don't support anymore
51     "--deselect=passlib/tests/test_handlers.py::des_crypt_os_crypt_test::test_82_crypt_support"
52     "--deselect=passlib/tests/test_handlers.py::md5_crypt_os_crypt_test::test_82_crypt_support"
53     "--deselect=passlib/tests/test_handlers.py::sha256_crypt_os_crypt_test::test_82_crypt_support"
54   ];
56   meta = with lib; {
57     description = "A password hashing library for Python";
58     homepage = "https://foss.heptapod.net/python-libs/passlib";
59     license = licenses.bsdOriginal;
60     maintainers = with maintainers; [ ];
61   };