Skip to main content

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

Downloads Documentation Status (Badges for me :D)

Bigyo (비교(KR): Comparison) is 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
0.1.2   2022.12.21 Now with sphinx document!
0.1.3   2022.12.21 Requirements.txt had typo.
0.1.4   2022.12.27 Documentation fixs
0.1.4a8 2023.01.05 Tinkering with github action (nothing to do with actual program!)
1.0.0   2023.01.10 Added VerticalBigyoRenderer

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bigyo-1.0.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

bigyo-1.0.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file bigyo-1.0.0.tar.gz.

File metadata

  • Download URL: bigyo-1.0.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for bigyo-1.0.0.tar.gz
Algorithm Hash digest
SHA256 59e666c2dda106c1eba0f263941d731b98d9d03d0caa83c159bd0015ff4d5367
MD5 79d9b930c7fb2f8c2d4a949602c6d736
BLAKE2b-256 e6f82fe50ee60279667d3f90cc6dee3bec569254cc62e3a37ddd9bff6db7a6cb

See more details on using hashes here.

File details

Details for the file bigyo-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bigyo-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for bigyo-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d54c357ae3c623773f81726fb20923857c7eb4e5bf0ae8f1a19abf31c13d38b7
MD5 23de5328973696eb007678fe6db4856b
BLAKE2b-256 90c02f5a99ab8eef39193d285474e837a5d407759fefad1d4945fd9631874e98

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page