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.7.0.tar.gz (29.7 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.7.0-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mastui-0.7.0.tar.gz
  • Upload date:
  • Size: 29.7 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.7.0.tar.gz
Algorithm Hash digest
SHA256 4e660f69bce29a91951122d409b32639fa184d3bba1f4ce599e12df78a342c60
MD5 089c19be2646331356ddeccbb5a7df95
BLAKE2b-256 4b8af8d96eeb44546b7e9f6fca3d097ef3e92a77d7f2a0a993dfc6bf36b64af9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mastui-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 35.6 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe588f9b60dbc0ff3860e7735da9ab8b5ed8849a92de3285c8d1888caa99e36b
MD5 100fe1985c06ca7f6ce092fcf4bfcaa0
BLAKE2b-256 c65c24f5e72b8bd26ee40cd74a2091b812f6853933d1cdd1c6ba141f199f8de3

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