1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 rustPlatform,
6 pytestCheckHook,
7}:
8
9buildPythonPackage rec {
10 pname = "loro";
11 version = "1.6.0";
12 pyproject = true;
13
14 src = fetchPypi {
15 inherit pname version;
16 hash = "sha256-9UO4XHf3Nm3yFi3hwA490sLHUXG36WcM/8C2rFYdcpM=";
17 };
18
19 cargoDeps = rustPlatform.fetchCargoVendor {
20 inherit pname version src;
21 hash = "sha256-sTJ2jA/TLoVp7UTC2YMKzuJi1SxldG8gj3YGPbVco5s=";
22 };
23
24 build-system = [
25 rustPlatform.maturinBuildHook
26 rustPlatform.cargoSetupHook
27 ];
28
29 nativeCheckInputs = [
30 pytestCheckHook
31 ];
32
33 meta = {
34 description = "Data collaborative and version-controlled JSON with CRDTs";
35 homepage = "https://github.com/loro-dev/loro-py";
36 changelog = "https://github.com/loro-dev/loro-py/releases/tag/${version}";
37 license = lib.licenses.mit;
38 maintainers = with lib.maintainers; [
39 dmadisetti
40 ];
41 };
42}