Skip to main content

Multi-tile tail viewer for terminal

Project description

CI PyPI Downloads

 ┌──────┬──────┬──────┐   ████████╗ █████╗ ██╗██╗      ██████╗ ██████╗ ██╗██████╗
 │ tail │ tail │ tail │   ╚══██╔══╝██╔══██╗██║██║     ██╔════╝ ██╔══██╗██║██╔══██╗
 ├──────┼──────┼──────┤      ██║   ███████║██║██║     ██║  ███╗██████╔╝██║██║  ██║
 │ tail │ tail │ tail │      ██║   ██╔══██║██║██║     ██║   ██║██╔══██╗██║██║  ██║
 ├──────┼──────┼──────┤      ██║   ██║  ██║██║███████╗╚██████╔╝██║  ██║██║██████╔╝
 │ tail │ tail │ tail │      ╚═╝   ╚═╝  ╚═╝╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝╚═════╝
 └──────┴──────┴──────┘
                          watch multiple files · grid-view · one terminal · zero deps
tailgrid screenshot

A minimal, dependency-free Python tool to monitor multiple log files simultaneously in a single terminal window. Like tail -f, but for up to 9 files at once in a clean tiled layout. ~315 lines of code. Tested on Ubuntu and macOS. Brought to you & tested via Claude Code Opus 4.5.

Features

  • Zero dependencies — Python 3.10+ standard library only
  • Quick pathtailgrid /path/ auto-selects .txt/.log/.out/.err files
  • Up to 9 tiles — auto-layout or manual grid selection
  • Scroll mode — freeze tile with f, scroll with j/k
  • Session restore — saves last 10 sessions

Viewer: +/- lines | f freeze | j/k scroll | Tab focus | q quit

Quick start

From PyPI:

pip install tailgrid
tailgrid

Quick start with path (auto-selects .txt/.log/.out/.err files, newest first):

tailgrid /var/log/       # selects all files up to 9 (newest)
tailgrid /var/log/ 4     # 4 newest files shown in 2x2 grid

From source:

git clone https://github.com/ferreirafabio/tailgrid.git
cd tailgrid
python -m tailgrid

Menu

  tailgrid - Multi-file tail viewer

    1) Browse directory
    2) Add paths manually
    3) Resume session

  Select 1-3 (q=quit):

Browse directory

Select 1 to browse a directory and pick files interactively:

  Directory path (b=back, q=quit): /var/log/

The file picker lets you select multiple files:

 Select files from: /var/log/
 ─────────────────────────────────────
 [x] auth.log
 [ ] boot.log
 [x] syslog
 [ ] kern.log
 [x] dpkg.log

 3/9 selected │ ↑↓/jk nav │ SPACE sel │ a all │ ENTER ok │ q quit

Layout is auto-selected based on file count:

  • 1 file → Single
  • 2 files → Choose vertical or horizontal
  • 3-4 files → 2×2 grid
  • 5-9 files → 3×3 grid

Resume session

Select 3 from menu to restore one of the last 10 sessions:

  Recent sessions:

    0) 2 file(s), 10 lines
       • /var/log/syslog
       • /var/log/auth.log
    1) 4 file(s), 10 lines
       • ~/app/logs/error.log
       • ~/app/logs/access.log
       • ~/app/logs/debug.log
       • ~/app/logs/info.log

  Select 0-1 (b=back, q=quit):

Sessions are stored in ~/.config/tailgrid/sessions.json.

Add paths manually

Select 2 to manually enter paths and pick a layout:

  Select layout:

    1) Single        2) Vertical      3) Horizontal    4) 2x2 Grid     5) 3x3 Grid
       ┌─────┐          ┌──┬──┐          ┌─────┐          ┌──┬──┐         ┌──┬──┬──┐
       │  1  │          │ 1│ 2│          │  1  │          │ 1│ 2│         │ 1│ 2│ 3│
       └─────┘          └──┴──┘          ├─────┤          ├──┼──┤         ├──┼──┼──┤
                                         │  2  │          │ 3│ 4│         │ 4│ 5│ 6│
                                         └─────┘          └──┴──┘         ├──┼──┼──┤
                                                                          │ 7│ 8│ 9│
                                                                          └──┴──┴──┘

  Layout 1-5 (b=back, q=quit): 4

  Enter 4 file path(s) (b=back, q=quit):

    [1] /var/log/syslog
    [2] /var/log/auth.log
    [3] ~/app/logs/error.log
    [4] ~/app/logs/access.log

  Starting with 4 file(s)...

Requirements

  • Python 3.10+
  • Linux or macOS (curses is not available on Windows)

License

Apache-2.0

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

tailgrid-0.4.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tailgrid-0.4.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file tailgrid-0.4.0.tar.gz.

File metadata

  • Download URL: tailgrid-0.4.0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for tailgrid-0.4.0.tar.gz
Algorithm Hash digest
SHA256 2408fe1b453a5d8cc992a522ba3fbb9e4492520c96a6c910c7b3d038aa38e103
MD5 60e9a224b23bb16bdd61e23805509f47
BLAKE2b-256 b4731734a1b471566a3216bab159ae40d2eb426347bc2d361668facb50897a87

See more details on using hashes here.

File details

Details for the file tailgrid-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: tailgrid-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for tailgrid-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02c3c754d63dda651a3d650bcb997c3ac58dd784cba4588ef1ef4ccbad8c4162
MD5 6600164b972196d4936b05da4499b493
BLAKE2b-256 435140c676cf2a21b3200eac441c138df81507f22650b0bfb5a703f81d94c1b2

See more details on using hashes here.

Supported by

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