1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 argon2-cffi,
7 construct,
8 lxml,
9 pycryptodomex,
10 pyotp,
11 unittestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "pykeepass";
16 version = "4.1.1.post1";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "libkeepass";
21 repo = "pykeepass";
22 tag = "v${version}";
23 hash = "sha256-DeEz3zrUK3cXIvMK/32Zn3FPiNsenhpAb17Zgel826s=";
24 };
25
26 build-system = [ setuptools ];
27
28 dependencies = [
29 argon2-cffi
30 construct
31 lxml
32 pycryptodomex
33 ];
34
35 propagatedNativeBuildInputs = [ argon2-cffi ];
36
37 nativeCheckInputs = [
38 pyotp
39 unittestCheckHook
40 ];
41
42 pythonImportsCheck = [ "pykeepass" ];
43
44 meta = with lib; {
45 homepage = "https://github.com/libkeepass/pykeepass";
46 changelog = "https://github.com/libkeepass/pykeepass/blob/${src.rev}/CHANGELOG.rst";
47 description = "Python library to interact with keepass databases (supports KDBX3 and KDBX4)";
48 license = licenses.gpl3Only;
49 maintainers = with maintainers; [ dotlambda ];
50 };
51}