Skip to main content

A Mastodon TUI client.

Project description

Mastui - A Modern Mastodon TUI Client

Mastui is a powerful, fast, and feature-rich Mastodon client for your terminal. Built with Python and the modern Textual framework, it provides a highly efficient, multi-column layout that lets you keep an eye on all the action at once. Whether you're a power user who wants to manage multiple timelines or someone who just loves the terminal, Mastui is designed to be your new favorite way to interact with Mastodon.

:eight_pointed_black_star: :eight_pointed_black_star: Follow Mastui on Mastodon :eight_pointed_black_star: :eight_pointed_black_star:

Features

  • Multi-Column Layout: View your Home, Notifications, and Federated timelines all at once.
  • Timeline Caching: A persistent SQLite cache makes loading posts fast and resilient to network issues.
  • Compose and Reply: A full-featured compose window for new posts and replies, with a character counter, content warnings, and language selection.
  • "Infinite" Scrolling: Scroll down to load older posts from your cache or the server.
  • Interactive Posts: Like, boost, and reply to posts with keyboard shortcuts.
  • View Profiles and Threads: Dive deeper into conversations by viewing post threads and user profiles.
  • Image Support: View images directly in your terminal with multiple renderers (Auto, ANSI, Sixel, TGP), with a persistent image cache.
  • Highly Configurable:
    • Toggle the visibility of each timeline.
    • Configure auto-refresh intervals for each timeline.
    • Choose between light and dark mode themes.
  • And much more... including content warning support, SSL verification options, and a detailed help screen.

Screenshots

Here's a glimpse of what Mastui looks like in action.

Single-Column View The default three-column layout is showing the Home, Notifications, and Federated timelines (see top of this site). In narrow spaces it looks like this Multi-Column View

Profile View Viewing a user's profile, with their bio, stats, and links. Profile View

Image Support Images can be displayed directly in the timeline. Image Support

Light Theme Mastui supports both light and dark themes, which can be configured in the options. Light Theme

Options Window The options window, where you can configure everything from timeline visibility to image rendering. Options Window

Installation

The recommended way to install Mastui is with pipx.

  1. Install pipx (if you don't have it already):

    python3 -m pip install --user pipx
    python3 -m pipx ensurepath
    
  2. Install mastui using pipx:

    pipx install mastui
    

After this, you can run the application from anywhere by simply typing mastui.

Upgrading

To upgrade to the latest version of Mastui, run the following command:

pipx upgrade mastui

Technology Stack

Known issues

  • Sixel images seems to be generated correctly but not displayed correctly in some terminals (even ones with Sixel support)

License

Mastui is licensed under the MIT license. See LICENSE for more information.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Kim Schulz - Initial work - kimusan

See also the list of contributors who participated in this project.

Acknowledgments

  • Inspiration and guidance from the Textual community and the Poetry team
  • The Mastodon community for their contributions to the development of the application and its features
  • Other projects that have inspired or influenced the design of Mastui

Please feel free to reach out to me if you have any questions, comments, or concerns.

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

mastui-0.9.0.tar.gz (35.9 kB view details)

Uploaded Source

Built Distribution

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

mastui-0.9.0-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file mastui-0.9.0.tar.gz.

File metadata

  • Download URL: mastui-0.9.0.tar.gz
  • Upload date:
  • Size: 35.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for mastui-0.9.0.tar.gz
Algorithm Hash digest
SHA256 0ca3d7ea1de74cf9aa53241a8da71c74968f2b5e788ce5986bb073878970a697
MD5 e7bc1689d13820e74c2a76a4d1cc9f8b
BLAKE2b-256 da781d7888f2295d3e3e39fd82b1078dad7f2c088e93cbb03d0f4a343a088bb2

See more details on using hashes here.

File details

Details for the file mastui-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: mastui-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 43.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for mastui-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a180cbfdcc1578661fdf911bd6328b9765d930df5f9a87085be3b22438084110
MD5 ad9aeff003df8e318b95aa8bf8e34f0d
BLAKE2b-256 e40cf17c8f7bc0863e0ec95f8aece9fc77769a7ee0155c5d9b632536c497fc8b

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