Python library for side-by-side diff in terminal, use difflib as its engine. Supports beautiful output with multi-width or zero-width character.
Project description
bigyo
Simple python library for side-by-side diff in terminal.
Use difflib as its engine.
Supports beautiful output with multi-width or zero-width character.
Install
pip install bigyo
It just works!
How to
Replace
difflib.Differ().compare(a, b)
to
bigyo.Bigyo().compare(a, b)
and you get your nice side-by-side comparison generator. (Note it is generator)
Also, to get full comparison string at once, there is
bigyo.Bigyo().comparison_string(a, b)
method for you to use.
Bigyo rendering strategy
Default bigyo rendering strategy is SimpleBigyoRenderer
with default params, which will look like this.
- Hello, World |+ Helo, Wold!
? - - |? +
However, you can change separator (defaults to |
) if you wish, by making BigyoRenderer
class with parameter,
bigyo_rd = SimpleBigyoRenderer(sep="*")
...And give it as parameter of Bigyo
.
bigyo_cls = bigyo.Bigyo(bigyo_renderer = bigyo_rd)
In this case, result will look like this.
- Hello, World *+ Helo, Wold!
? - - *? +
Also there exists OnelineBigyoRenderer
which will render difference like this.
He>l<lo, Wo>r<ld|Helo, Wold<!>
History
All the commits can be found in github page.
0.0.1 2022.12.15 Project init!
0.1.0 2022.12.17 Added comparison_string method, changed name from BigyoStrategy to BigyoRenderer, bugfix
0.1.1 2022.12.17 Separate bigyo_renderer, change directory structure
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.