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