A workflow oriented, command line Mastodon client
Project description
FCLI
FCLI is an experimental command line Mastodon client. The goals of the project are:
-
To experiment with 'algorithms' to manage post volumes. Currently the number of posts reviewed per session is limited to 50, and feedback (interesting / not interesting) is recorded for all posts which are reviewed. This is used to prioritise posts from accounts known to post a high percentage of high quality posts.
-
To provide a 'workflow' based interface, i,e. posts are reviewed in order and next actions must be decided before moving on to the next post.
-
To integrate into broader personal information management processes, in particular project and goal tracking, reading list management and next action tracking.
The software is currently at a very stage of development, but I am using it on a daily basis. Please let me know if you're interested in the project.
Installation
FCLI is a python project, so you'll need a working python environment.
Requirements are listed in requirements.txt
in the usual way.
This guide is for installation on Linux (which I use) - you'll need to vary things (and probably also edit the code) to make it work on other platforms.
You'll need to register a Mastodon app at your instance. You can do this using
curl
with somethign like the following:
curl --form 'client_name=fcli' --form 'redirect_uris=urn:ietf:wg:oauth:2.0:oob' --form 'scopes=read write' https://<instance hostname>/api/v1/apps
The app also depends on Everdo (which I personally use for my own information management workflows). You'll need to configure it to expose a local API.
Configuration is via an INI file in {$HOME}/.config/fcli/config.ini
:
[Mastodon]
Server = <instance hostname>
Username = <username>
ClientID = <client ID from app registration>
ClientSecret = <client secret from app registration>
[Everdo]
Key = <API key>
Finally, you'll need to create some directories to store state:
{$HOME}/.fcli/cache
{$HOME}/.fcli/outbox
{$HOME}/.fcli/processed/actionable
{$HOME}/.fcli/processed/actioned
{$HOME}/.fcli/processed/interesting
{$HOME}/.fcli/processed/not_interesting
{$HOME}/.fcli/processed/skipped
{$HOME}/.fcli/sent
{$HOME}/.fcli/staging
There are probably other things you need to do - my isntallation has evolved with the codebase, so let me know if you run into any problems.
Usage
First of all, sync the local state with the server:
python -m fcli sync
You'll be asked to authenticate via an OAuth 2.0 code. This step will also post
the content of any files in {$HOME}/.fcli/outbox
. Once you've done this, you
can start the review workflow:
python -m fcli review
Finally, upload any actionable posts as inbox items in Everdo. Make sure the Everdo API is up when you run this step:
python -m fcli actions
You'll also need to manually move some files around:
mv ~/.fcli/processed/actionable/* ~/.fcli/processed/actioned/
mv ~/.fcli/cache/* ~/.fcli/processed/skipped/
Finally, update the stats databases ussed by the algorithm:
python -m fcli stats
At somepoint soon I'll combine these steps into a single workflow.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fcli_client-1.0.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7304f17817314c82a7326cc680865fdf4fd1f18f0583f8bb1d88dbab139d956d |
|
MD5 | 088101d1f8feaf2a8ded796d425fb21c |
|
BLAKE2b-256 | a7f1f8fe18cb2894ac0e80cf7293fcef8244096f2318552975ea02f7735cde07 |