Metadata-Version: 2.1
Name: browsr
Version: 1.16.0
Summary: TUI File Browser App
Project-URL: Documentation, https://github.com/juftin/browsr#readme
Project-URL: Issues, https://github.com/juftin/browsr/issues
Project-URL: Source, https://github.com/juftin/browsr
Author-email: Justin Flannery <justin.flannery@juftin.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: <4.0,>=3.8
Requires-Dist: art~=5.7
Requires-Dist: click~=8.1.3
Requires-Dist: pandas~=1.5.2
Requires-Dist: pillow>=9.1.0
Requires-Dist: pymupdf~=1.22.3
Requires-Dist: rich-click~=1.5.2
Requires-Dist: rich-pixels~=2.1.1
Requires-Dist: rich~=13.5.2
Requires-Dist: textual-universal-directorytree~=1.0.1
Requires-Dist: textual==0.36.0
Provides-Extra: all
Requires-Dist: pyarrow~=10.0.0; extra == 'all'
Requires-Dist: textual-universal-directorytree[remote]~=1.0.1; extra == 'all'
Provides-Extra: parquet
Requires-Dist: pyarrow~=10.0.0; extra == 'parquet'
Provides-Extra: remote
Requires-Dist: textual-universal-directorytree[remote]~=1.0.1; extra == 'remote'
Description-Content-Type: text/markdown

# browsr

<div align="center" href="https://github.com/juftin/browsr">
    <a href="https://github.com/juftin/browsr">
      <img src=https://raw.githubusercontent.com/juftin/browsr/main/docs/_static/browsr.png
        width="400" alt="browsr">
    </a>
</div>

[![browsr Version](https://img.shields.io/pypi/v/browsr?color=blue&label=browsr)](https://github.com/juftin/browsr)
[![PyPI](https://img.shields.io/pypi/pyversions/browsr)](https://pypi.python.org/pypi/browsr/)
[![Testing Status](https://github.com/juftin/browsr/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/juftin/browsr/actions/workflows/tests.yaml?query=branch%3Amain)
[![GitHub License](https://img.shields.io/github/license/juftin/browsr?color=blue&label=License)](https://github.com/juftin/browsr/blob/main/LICENSE)

**`browsr`** 🗂️ is a pleasant **file explorer** in your terminal. It's a command line **TUI**
(text-based user interface) application that empowers you to browse the contents of local
and remote filesystems with your keyboard or mouse.

You can quickly navigate through directories and peek at files whether they're hosted **locally**,
in **GitHub**, over **SSH**, in **AWS S3**, **Google Cloud Storage**, or **Azure Blob Storage**. View code files
with syntax highlighting, format JSON files, render images, convert data files to navigable
datatables, and more.

![](https://raw.githubusercontent.com/juftin/browsr/main/docs/_static/screenshot_utils.png)

<details>
<summary>Screenshots</summary>

<body>
<div>
    <img src="https://raw.githubusercontent.com/juftin/browsr/main/docs/_static/screenshot_datatable.png" alt="Image 2">
    <img src="https://raw.githubusercontent.com/juftin/browsr/main/docs/_static/screenshot_mona_lisa.png" alt="Image 3">
    <img src="https://raw.githubusercontent.com/juftin/browsr/main/docs/_static/screenshot_markdown.png" alt="Image 4">
</div>
</body>

</details>

<details>
<summary>Screen Recording</summary>

https://user-images.githubusercontent.com/49741340/238535232-459847af-a15c-4d9b-91ac-fab9958bc74f.mp4

</details>

## Installation

It's recommended to use [pipx](https://pypa.github.io/pipx/) instead of pip. `pipx` installs the package in
an isolated environment and makes it available everywhere. If you'd like to use `pip` instead, just replace `pipx`
with `pip` in the below command.

```shell
pipx install browsr
```

### Extra Installation

If you're looking to use **`browsr`** on remote file systems, like GitHub or AWS S3, you'll need to install the `remote` extra.
If you'd like to browse parquet files, you'll need to install the `parquet` extra. Or, even simpler,
you can install the `all` extra to get all the extras.

```shell
pipx install "browsr[all]"
```

## Usage

Simply give **`browsr`** a path to a local or remote file / directory.
[Check out the Documentation](https://juftin.com/browsr/) for more information
about the file systems supported.

### Local

```shell
browsr ~/Downloads/
```

### GitHub

```
browsr github://juftin:browsr
```

```
export GITHUB_TOKEN="ghp_1234567890"
browsr github://juftin:browsr-private@main
```

### Cloud

```shell
browsr s3://my-bucket
```

\*\* _Currently AWS S3, Google Cloud Storage, and Azure Blob Storage / Data Lake are supported._

### SSH / SFTP

```shell
browsr ssh://username@example.com:22
```

## License

**`browsr`** is distributed under the terms of the [MIT license](LICENSE).
