All Projects → magicalraccoon → Tootstream

magicalraccoon / Tootstream

Licence: mit
A command line interface for interacting with Mastodon instances

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Tootstream

Forget
Continuous post deletion for twitter and mastodon
Stars: ✭ 104 (-54.98%)
Mutual labels:  mastodon
Hyperspace
The new beautiful, fluffy client for Mastodon in React + TypeScript
Stars: ✭ 124 (-46.32%)
Mutual labels:  mastodon
Mastodonkit
MastodonKit is a Swift Framework that wraps Mastodon's API
Stars: ✭ 134 (-41.99%)
Mutual labels:  mastodon
Go Blurhash
A Blurhash implementation in pure Go (Decode/Encode)
Stars: ✭ 115 (-50.22%)
Mutual labels:  mastodon
Mastodon Api
A ruby interface for the Mastodon API
Stars: ✭ 121 (-47.62%)
Mutual labels:  mastodon
Thedesk
Mastodon/Misskey Client for PC.
Stars: ✭ 127 (-45.02%)
Mutual labels:  mastodon
Naumanni
Naumanni is a Web user interface specially designed for Mastodon.
Stars: ✭ 97 (-58.01%)
Mutual labels:  mastodon
Mastodon Bot
a bot for mirroring Twitter/Tumblr accounts and RSS feeds on Mastodon
Stars: ✭ 158 (-31.6%)
Mutual labels:  mastodon
Tooty
An alternative multi-accounts Web client for Mastodon.
Stars: ✭ 124 (-46.32%)
Mutual labels:  mastodon
Sengi
Mastodon & Pleroma Multi-account Desktop Client
Stars: ✭ 133 (-42.42%)
Mutual labels:  mastodon
Wordpress Activitypub
ActivityPub for WordPress
Stars: ✭ 118 (-48.92%)
Mutual labels:  mastodon
Gakki
🌼🌸 A React Native App for Mastodon. 一个由React Native编写的长毛象客户端App🦋
Stars: ✭ 120 (-48.05%)
Mutual labels:  mastodon
Guidetomastodon
An increasingly less-brief guide to Mastodon
Stars: ✭ 129 (-44.16%)
Mutual labels:  mastodon
Documentation
Full documentation repository for Mastodon
Stars: ✭ 1,450 (+527.71%)
Mutual labels:  mastodon
Brutaldon
A brutalist web interface for Mastodon: moved to https://git.carcosa.net/jmcbray/brutaldon
Stars: ✭ 137 (-40.69%)
Mutual labels:  mastodon
The Federation.info
Statistics hub for the Fediverse
Stars: ✭ 101 (-56.28%)
Mutual labels:  mastodon
Tsuru
desktop client.
Stars: ✭ 126 (-45.45%)
Mutual labels:  mastodon
Twidere Android
twidere.com
Stars: ✭ 2,486 (+976.19%)
Mutual labels:  mastodon
Mastodon.el
Emacs client for Mastodon
Stars: ✭ 150 (-35.06%)
Mutual labels:  mastodon
Madonctl
CLI client for the Mastodon social network API
Stars: ✭ 129 (-44.16%)
Mutual labels:  mastodon

tootstream

A command line interface for interacting with Mastodon instances written in Python (requires Python 3).

OAuth and 2FA are supported.

Inspired by Rainbowstream.

Demo

tootstream displaying the Federated timeline

Install via pip

1: Create a virtual environment

$ virtualenv -p python3 /path/to/tootstream
$ source /path/to/tootstream/bin/activate

2: Install via pip

$ pip install tootstream

3: See the Usage section for how to use Tootstream.

Install for development

1: Clone this repo and enter the project directory through a virtual environment

$ git clone https://github.com/magicalraccoon/tootstream.git
$ cd tootstream

2: Create a Virtual Environment

# Create a virtual environment
$ virtualenv -p python3 /path/to/tootstream
$ source /path/to/tootstream/bin/activate

3: Install the project

$ python3 setup.py install

4: Close the environment with $ deactivate

Usage

1: Return to your virtual environment

$ source /path/to/tootstream/bin/activate

2: Run the program

$ tootstream

3: Use the help command to see the available commands

[@myusername (default)]: help

4: Exit the program when finished

[@myusername (default)]: quit

5: Close the environment with $ deactivate

Ubuntu and Unicode

Tootstream relies heavily on Unicode fonts. The best experience can be had by installing the following package:

$ sudo apt-get install ttf-ancient-fonts

Configuration

By default tootstream uses configparser for configuration. The default configuration is stored in the default location for configparser (on the developer's machine this is under /home/myusername/.config/tootstream/tootstream.conf).

At the moment tootstream only stores login information for each instance in the configuration file. Each instance is under its own section (the default configuration is under the [default] section). Multiple instances can be stored in the tootstream.conf file. (See "Using multiple instances")

Using multiple instances

Tootstream supports using accounts on multiple Mastodon instances.

Use the --instance parameter to pass the server location (in the case of Mastodon.social we'd use --instance mastodon.social).

Use the --profile parameter to use a different named profile. (in the case of Mastodon.social we could call it mastodon.social and name the section using --profile mastodon.social).

By default tootstream uses the [default] profile. If this already has an instance associated with it then tootstream will default to using that instance.

If you have already set up a profile you may use the --profile command-line switch to start tootstream with it. The --instance parameter is optional (and redundant).

You may select a different configuration using --config and pass it the full-path to that file.

Notes on networking

Tootstream and Mastodon.py use the requests library for communicating with the Mastodon instance. Any proxy settings you may need to communicate with the network will need to be in a format that the requests library understands. See the requests documentation for more details on what those environment variables should be.

Contributing

Contributions welcome! Please read the contributing guidelines before getting started.

Code of Conduct

This project is intended to be a safe, welcoming space for collaboration. All contributors are expected to adhere to the Contributor Covenant code of conduct. Thank you for being kind to each other!

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].