{"id":19120722,"url":"https://github.com/waylonwalker/kedro-diff","last_synced_at":"2026-03-10T05:32:35.670Z","repository":{"id":49497911,"uuid":"353870278","full_name":"WaylonWalker/kedro-diff","owner":"WaylonWalker","description":"quickly diff kedro history","archived":false,"fork":false,"pushed_at":"2024-07-10T07:13:37.000Z","size":86,"stargazers_count":10,"open_issues_count":9,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-05T16:19:56.826Z","etag":null,"topics":["data-science","diff","kedro","kedro-hook","kedro-plugin","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WaylonWalker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-02T01:25:01.000Z","updated_at":"2023-05-18T20:22:26.000Z","dependencies_parsed_at":"2024-11-09T05:14:55.826Z","dependency_job_id":"ca29ffe6-5777-40a2-861e-c8f7226a976a","html_url":"https://github.com/WaylonWalker/kedro-diff","commit_stats":{"total_commits":91,"total_committers":3,"mean_commits":"30.333333333333332","dds":0.4945054945054945,"last_synced_commit":"98f49fa5cd8d71222b11990521e50eb1aac1ac69"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaylonWalker%2Fkedro-diff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaylonWalker%2Fkedro-diff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaylonWalker%2Fkedro-diff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WaylonWalker%2Fkedro-diff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WaylonWalker","download_url":"https://codeload.github.com/WaylonWalker/kedro-diff/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252531879,"owners_count":21763293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","diff","kedro","kedro-hook","kedro-plugin","python"],"created_at":"2024-11-09T05:14:46.811Z","updated_at":"2026-03-10T05:32:35.626Z","avatar_url":"https://github.com/WaylonWalker.png","language":"Python","readme":"# kedro-diff\n\n\n`kedro-diff` aims to be a familiar interface into comparing two points in\nhistory.  Git diffs are fantastic tools but often are too granular to see what\nhas changed inside the pipeline.  `kedro-diff` aims to be a familiar tool at a\nhigher level so we can see changes to nodes (names, inputs, outputs, tags).\n\n## Installation\n\n\n``` bash\npip install kedro-diff\n```\n\n## Example\n\n``` diff\nkedro diff --stat develop..master\nM  __default__      | 6 ++++-\nM  data_science     | 3 +++\nM  data_engineering | 3 ++-\n?? new_pipeline\n\n4 pipelines changed, 5 insertions(+), 4 deletions(-)\n```\n\n## Usage\n\n``` diff\n# diff develop into master\nkedro diff develop..master\n\nkedro diff develop master\n\n# diff current state with main\nkedro diff main\n\n# diff current state with main\nkedro diff ..main\n\n# comparing pipelines from two branches\nkedro diff master new_branch data_science\n```\n\n## More examples\n\n``` diff\nkedro diff develop..master\n╭──────────────────────────────────────────────────────────────────────────────╮\n│ modified: data_engineering                                                   │\n╰──────────────────────────────────────────────────────────────────────────────╯\n+ strip_whitespace\n+ lowercase_columns\n+ get_trains\n- get_tains\n╭──────────────────────────────────────────────────────────────────────────────╮\n│ modified: data_science                                                       │\n╰──────────────────────────────────────────────────────────────────────────────╯\n+ split_data\n```\n\n## Roadmap\n\n### 1.0.0\n\n- [x] commit parser\n- [x] get `pipeline.to_json()` for `__default__` for two different commits\n- [x] get `pipeline.to_json()` for all pipelines for two different commits\n- [x] --stat compares the number of nodes added or dropped in `__default__`\n- [x] --stat compares the number of nodes added or dropped in all pipelines\n- [x] --stat compares attribute changes (inputs, outputs, tags) in all pipelines\n- [x] compare input names\n- [x] compare output names\n- [ ] speed up getting repeat pipelines from the same commit (no need to reaload a new session)\n- [ ] speed up getting repeat commits by checking commit hash (reuse existing json)\n- [ ] minimize untested code\n\n### 2.0.0\n\n_super-size `pipeline.to_json()`_\n- [x] compare all attributes on a node ( not just inputs, outputs, tags)\n- [ ] allow users to specify custom to_json method\n- [ ] function names\n- [ ] function hashes\n- [ ] catalog _filepath\n- [ ] catalog _sql\n\n## Testing\n\nThis project strives for 100% test coverage where it makes sense.  Other kedro\nplugins I have created have suffered development speed by the complexity of\nfully testing on a full kedro project. There are so many pieces to get into\nplace that it becomes difficult to test accross multiple versions of kedro or\nkeep the tests working as kedro changes.  Minimal functionality will be placed\ninto modules that require a kedro full kedro project in place to work.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylonwalker%2Fkedro-diff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaylonwalker%2Fkedro-diff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylonwalker%2Fkedro-diff/lists"}