Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rupurt/tif
Lightning fast tabular diffs, patches and merges for larger than memory datasets
https://github.com/rupurt/tif
csv diff relational-model table-diff zig
Last synced: 21 days ago
JSON representation
Lightning fast tabular diffs, patches and merges for larger than memory datasets
- Host: GitHub
- URL: https://github.com/rupurt/tif
- Owner: rupurt
- License: mit
- Created: 2023-08-29T01:08:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-14T08:19:46.000Z (about 1 year ago)
- Last Synced: 2024-10-10T14:39:23.244Z (about 1 month ago)
- Topics: csv, diff, relational-model, table-diff, zig
- Language: Zig
- Homepage:
- Size: 16.6 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tif
Lightning fast tabular [diffs](./docs/DIFF.md), [patches](./docs/PATCH.md) and
[merges](./docs/MERGE.md) for larger than memory datasets.## Usage
```shell
tif test/fixtures/people.csv test/fixtures/people_reverse.csv
``````shell
tif
[-h] [-r ] [-c ] [-m ]
``````shell
tif -h
-h, --help
Display this help and exit.-r, --readbuffer
Number of bytes to use as a buffer. Default: 65536-c, --colbuffer
Number of bytes to use as a column buffer. Default: 4096-m, --maxcolumns
Maximum number of columns in a record. Default: 512
The base path
The path to compare
```## How
`tif` produces differences over datasets by generating a [literal](./docs/ARCHITECTURE.md#literal-layer),
[logical](./docs/ARCHITECTURE.md#logical-layer) and [physical](./docs/ARCHITECTURE.md#physical-layer) layer
for the given inputs.Diffs are produced according to the [Daff tabular diff specification](http://paulfitz.github.io/daff-doc/spec.html).
## Development
This project assumes you have already [installed nix](https://determinate.systems/posts/determinate-nix-installer)
1. Start a Nix devshell
```shell
nix develop -c $SHELL
```2. Build and run with the zig toolchain
```shell
zig build run -- test/fixtures/people.csv test/fixtures/people_reverse.csv
```## License
`tif` is released under the [MIT license](./LICENSE)