Metadata-Version: 2.4
Name: seejx
Version: 0.3.0
Summary: Interactive JSONL browser with rich rendering and full-screen scrolling (fork of seej)
Author-email: "busi.wp" <busi.wp@alibaba-inc.com>
License: MIT License
        
        Copyright (c) 2025 Lei Zhang (original "seej" project)
        Copyright (c) 2025 seejx contributors
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://pypi.org/project/seejx/
Keywords: jsonl,browser,cli,rich,viewer,tui,pager
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: rich>=10.0.0
Requires-Dist: readchar>=3.0.0
Requires-Dist: tqdm>=4.0.0
Requires-Dist: wcwidth>=0.2.5
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: black>=21.0; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=4.0; extra == "dev"
Dynamic: license-file

# seejx

**seejx** is an interactive terminal JSONL (JSON Lines) browser with rich
rendering and a built-in **full-screen scroll viewer**. It steps through
`.jsonl` files record by record, with pluggable per-field renderers for complex
data (chat messages, tables, nested structures).

It is a fork of [`seej`](https://pypi.org/project/seej/) (MIT, © 2025 Lei Zhang)
that replaces the old "clear-and-reprint" navigation with a proper scrollable
pager — so long records scroll smoothly and you can always reach the top.

## Features

- **Full-screen scrolling** — trackpad / mouse wheel / arrow keys scroll within
  a record; the whole record is kept in memory, so top and bottom are always
  reachable (independent of terminal scrollback size).
- **Rich output** — formatting via the [`rich`](https://github.com/Textualize/rich) library.
- **CJK-aware wrapping** — double-width characters wrap correctly (via `wcwidth`).
- **Per-field renderers** — map fields to renderers (messages, tables, nested structures).
- **Filtering** — keep rows matching a safe Python expression.
- **Plugins** — extend rendering via Python entry points (`seejx.plugins`).
- **View modes** — toggle between rich and plain-text rendering.

## Installation

```bash
pip install seejx
```

## Quick start

```bash
# Basic usage
seejx path/to/file.jsonl

# Start at a given record index
seejx path/to/file.jsonl -I 10

# Plain text instead of rich rendering
seejx path/to/file.jsonl --raw
```

## Keys (in the viewer)

| Key | Action |
| --- | --- |
| Two-finger swipe / mouse wheel / ↑ ↓ / `j` `k` | Scroll line by line |
| PageUp / PageDown / Space / `b` | Scroll by page |
| `g` / `G` | Jump to top / bottom |
| → / ← (or `n` / `p` / Enter) | Next / previous record |
| `t` | Toggle rich / raw rendering |
| `q` (or Ctrl-C) | Quit |

> Tip: while the viewer is open it captures the trackpad for scrolling. To
> select text the normal way, hold **Option/Fn** while dragging.

## License

MIT. See [LICENSE](LICENSE) and [NOTICE](NOTICE) (fork attribution).
