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