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