1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 xeddsa,
7 cryptography,
8 pydantic,
9 typing-extensions,
10 pytestCheckHook,
11 pytest-asyncio,
12 pytest-cov-stub,
13}:
14buildPythonPackage rec {
15 pname = "x3dh";
16 version = "1.2.0";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "Syndace";
21 repo = "python-x3dh";
22 tag = "v${version}";
23 hash = "sha256-NLuFfkutFtNrpBcLA/83QArCDrlrT+i85s2d6FHtuT0=";
24 };
25
26 strictDeps = true;
27
28 build-system = [
29 setuptools
30 ];
31
32 dependencies = [
33 xeddsa
34 cryptography
35 pydantic
36 typing-extensions
37 ];
38
39 nativeCheckInputs = [
40 pytestCheckHook
41 pytest-asyncio
42 pytest-cov-stub
43 ];
44
45 pythonImportsCheck = [ "x3dh" ];
46
47 meta = {
48 description = "Python Implementation of the Extended Triple Diffie-Hellman key Agreement Protocol";
49 homepage = "https://github.com/Syndace/python-x3dh";
50 changelog = "https://github.com/Syndace/python-x3dh/blob/v${version}/CHANGELOG.md";
51 license = lib.licenses.mit;
52 teams = with lib.teams; [ ngi ];
53 maintainers = with lib.maintainers; [ ];
54 };
55}