1{
2 lib,
3 buildPythonPackage,
4 colorama,
5 fetchFromGitHub,
6 packaging,
7 poetry-core,
8 pydantic,
9 pythonRelaxDepsHook,
10 redis,
11 structlog,
12}:
13
14buildPythonPackage rec {
15 pname = "diffsync";
16 version = "2.0.0";
17 format = "pyproject";
18
19 src = fetchFromGitHub {
20 owner = "networktocode";
21 repo = "diffsync";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-4LS18FPrnGE1tM0pFzAw0+ajDaw9g7MCgIwS2ptrX9c=";
24 };
25
26 nativeBuildInputs = [
27 poetry-core
28 pythonRelaxDepsHook
29 ];
30
31 pythonRelaxDeps = [
32 "packaging"
33 "structlog"
34 ];
35
36 propagatedBuildInputs = [
37 colorama
38 packaging
39 pydantic
40 redis
41 structlog
42 ];
43
44 pythonImportsCheck = [ "diffsync" ];
45
46 meta = with lib; {
47 description = "Utility library for comparing and synchronizing different datasets";
48 homepage = "https://github.com/networktocode/diffsync";
49 changelog = "https://github.com/networktocode/diffsync/blob/v${version}/CHANGELOG.md";
50 license = with licenses; [ asl20 ];
51 maintainers = with maintainers; [ clerie ];
52 };
53}