{"id":29927605,"url":"https://github.com/fityannugroho/csv-diff","last_synced_at":"2026-01-20T16:44:41.288Z","repository":{"id":306887405,"uuid":"1026285176","full_name":"fityannugroho/csv-diff","owner":"fityannugroho","description":"Compare CSV files and displaying the results in git diff style","archived":false,"fork":false,"pushed_at":"2026-01-13T08:27:05.000Z","size":315,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T08:42:27.405Z","etag":null,"topics":["csv","pypi-package","python"],"latest_commit_sha":null,"homepage":"https://pypi.org/p/csv-diff-py","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/fityannugroho.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["fityannugroho"],"patreon":null,"open_collective":null,"ko_fi":"fityannugroho","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://trakteer.id/fityannugroho/tip","https://saweria.co/fityannugroho"]}},"created_at":"2025-07-25T16:08:25.000Z","updated_at":"2026-01-13T08:27:05.000Z","dependencies_parsed_at":"2025-07-28T09:14:08.510Z","dependency_job_id":null,"html_url":"https://github.com/fityannugroho/csv-diff","commit_stats":null,"previous_names":["fityannugroho/csv-diff"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/fityannugroho/csv-diff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fityannugroho%2Fcsv-diff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fityannugroho%2Fcsv-diff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fityannugroho%2Fcsv-diff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fityannugroho%2Fcsv-diff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fityannugroho","download_url":"https://codeload.github.com/fityannugroho/csv-diff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fityannugroho%2Fcsv-diff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["csv","pypi-package","python"],"created_at":"2025-08-02T13:11:59.220Z","updated_at":"2026-01-16T05:57:49.182Z","avatar_url":"https://github.com/fityannugroho.png","language":"Python","funding_links":["https://github.com/sponsors/fityannugroho","https://ko-fi.com/fityannugroho","https://trakteer.id/fityannugroho/tip","https://saweria.co/fityannugroho"],"categories":[],"sub_categories":[],"readme":"# CSV Diff\n\n[![PyPI](https://img.shields.io/pypi/v/csv-diff-py.svg)][pypi-package]\n[![License](https://img.shields.io/github/license/fityannugroho/csv-diff)](https://github.com/fityannugroho/csv-diff/blob/main/LICENSE)\n[![CI](https://img.shields.io/github/actions/workflow/status/fityannugroho/csv-diff/test.yml?branch=main)](https://github.com/fityannugroho/csv-diff/actions/workflows/test.yml)\n\nCSV Diff is a CLI tool for comparing two CSV files and displaying the results in `git diff` style.\n\nFor example, there are two CSV files, [`districts-2022.csv`](https://github.com/fityannugroho/csv-diff/blob/main/docs/examples/districts-2022.csv) and [`districts-2025.csv`](https://github.com/fityannugroho/csv-diff/blob/main/docs/examples/districts-2025.csv). With this tool, you can easily see the data differences between these two CSV files. The output will be saved as a `.diff` file, like this:\n\n```diff\n--- districts-2022.csv\n+++ districts-2025.csv\n@@ -7,9 +7,9 @@\n 11.01.07,11.01,Sawang\n 11.01.08,11.01,Tapaktuan\n 11.01.09,11.01,Trumon\n-11.01.10,11.01,Pasi Raja\n-11.01.11,11.01,Labuhan Haji Timur\n-11.01.12,11.01,Labuhan Haji Barat\n+11.01.10,11.01,Pasie Raja\n+11.01.11,11.01,Labuhanhaji Timur\n+11.01.12,11.01,Labuhanhaji Barat\n 11.01.13,11.01,Kluet Tengah\n 11.01.14,11.01,Kluet Timur\n 11.01.15,11.01,Bakongan Timur\n@@ -141,7 +141,7 @@\n 11.08.11,11.08,Syamtalira Bayu\n 11.08.12,11.08,Tanah Luas\n 11.08.13,11.08,Tanah Pasir\n-11.08.14,11.08,T. Jambo Aye\n+11.08.14,11.08,Tanah Jambo Aye\n 11.08.15,11.08,Sawang\n 11.08.16,11.08,Nisam\n 11.08.17,11.08,Cot Girek\n... (truncated)\n```\n\n\u003e To see the full differences, please check the [`result.diff`](https://github.com/fityannugroho/csv-diff/blob/main/docs/examples/result.diff) file.\n\n## Usage\n\n```bash\ncsvdiff path/to/file1.csv path/to/file2.csv\n```\n\n\u003e Use `--help` to see the available options.\n\n## Installation\n\nThis package is available on [PyPI][pypi-package].\nYou can install it as a standalone CLI application using [`pipx`](https://pypa.github.io/pipx/) or [`uv`](https://docs.astral.sh/uv/guides/tools).\n\n### Using `pipx`\n\n```bash\npipx install csv-diff-py\ncsvdiff\n```\n\n### Using `uv`\n\n```bash\nuv tool install csv-diff-py\ncsvdiff\n```\n\nor without installing globally, you can use `uvx` to run it directly:\n```bash\nuvx --from csv-diff-py csvdiff\n```\n\n## Development Setup\n\n### Prerequisites\n\n- [`uv`](https://docs.astral.sh/uv/getting-started/installation) package manager\n- Python 3.8 or higher\n\n\u003e Tip: You can use `uv` to install Python. See the [Python installation guide](https://docs.astral.sh/uv/guides/install-python) for more details.\n\n### Steps\n\n1. Clone this repository\n    ```bash\n    git clone https://github.com/fityannugroho/csv-diff.git\n    cd csv-diff\n    ```\n\n1. Install dependencies\n    ```bash\n    uv sync --all-extras\n    ```\n\n1. Run the tool locally\n\n    Via `uv`:\n    ```bash\n    uv run csvdiff\n    ```\n\n    Via virtual environment:\n    ```bash\n    source .venv/bin/activate\n    csvdiff\n    ```\n\n1. Run tests\n    ```bash\n    uv run pytest\n    ```\n\n1. Run linter and formatter\n    ```bash\n    uv run ruff check\n    uv run ruff format\n    ```\n\n## Limitations\n\n- Only supports CSV files with a header row.\n\n[pypi-package]: https://pypi.org/project/csv-diff-py\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffityannugroho%2Fcsv-diff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffityannugroho%2Fcsv-diff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffityannugroho%2Fcsv-diff/lists"}