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.8.0.tar.gz (32.6 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.8.0-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mastui-0.8.0.tar.gz
  • Upload date:
  • Size: 32.6 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.8.0.tar.gz
Algorithm Hash digest
SHA256 98d644fc9e95d39435fd71bf9dc5d4fec986e8193a0bdf24cfabed11597b17a0
MD5 ea83b6cea9d0c2d1ae53bf21b9176c3e
BLAKE2b-256 317f67328a8db034d82d39ffeb1f87253651768f8bd8937438a7d8a37a7a5105

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mastui-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 39.8 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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cd15233ba1cc0f563680d8458d11a1564dc5aee0a8ec3108b8205fe3161a40f
MD5 f897d63433cc3c44b67456ff05a45af0
BLAKE2b-256 4616050c0c0121239f5924030f79ab6e77905e254b00743bd84945859f27477a

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