imgcat
The imgcat CLI, written in Python (and Python API, too).
It works with iTerm2 and WezTerm, and even inside tmux (for tmux, see Notes below).
Installation and Usage
pip install imgcat
Command-line interface (similar to iTerm2's imgcat):
$ imgcat local_image.png
$ imgcat a.png b.png c.png
$ cat from_stdin.gif | imgcat
# height is 10 lines
$ imgcat a.png --height 10
Python API:
>>> from imgcat import imgcat
# from the content of image (e.g. buffer in python3, str in python2)
>>> imgcat(open("./local_image.png"))
# or numpy arrays!
>>> im = skimage.data.chelsea() # [300, 451, 3] ndarray, dtype=uint8
>>> imgcat(im, height=7)
# matplotlib, PIL.Image, etc.
>>> imgcat(Image.fromarray(im))
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(); ax.plot([1, 2, 3, 4, 5])
>>> imgcat(fig)
Matplotlib Backend: module://imgcat
MPLBACKEND="module://imgcat" python draw_matplotlib.py
>>> import matplotlib
>>> matplotlib.use("module://imgcat")
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> ax.text(0.5, 0.5, "Hello World!");
>>> fig.show()
# an image shall be displayed on your terminal!
IPython magic (works both in terminal and notebook)
%load_ext imgcat
%imgcat skimage.data.chelsea()
Notes
- tmux 2.5+ cannot display big images. Use tmux <= 2.4 or run outside tmux.
- In tmux 3.3a or higher, it is required to have
set-option -g allow-passthrough onin~/.tmux.conf. - TODO: General platform/emulator support (introduce multiple backends) including Sixel
Related Projects
- Original implementation: imgcat from iTerm2 (limited tmux support)
- There are modified versions with better tmux support by Eric Dobson and by @krtx
- Node.js: term-img (no tmux support)
- Go: iterm2-imagetools (no tmux support)
License
Release files for imgcat 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| imgcat-0.6.0.tar.gz | 12.7 kB | Details |
Release files / imgcat-0.6.0.tar.gz
| Download URL | imgcat-0.6.0.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3547b68adb3f1f9b611390e804c94ebd464a215858543cbf97df86fbcd7935c
|
|
BLAKE2b-256 checksum How to use checksums |
9cfac09733cb5f8a793d2429d06c510a9eaa605fc14381de6701c2df6be69502
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.20
|