Skip to main content

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/boostable
{$HOME}/.fcli/processed/boosted
{$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

Kick off the workflow using the default entry point:

python -m fcli

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.

There are a few command line options you'll find if you look at the code, but they're obsolete.

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

fcli_client-1.0.1.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

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

fcli_client-1.0.1-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file fcli_client-1.0.1.tar.gz.

File metadata

  • Download URL: fcli_client-1.0.1.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for fcli_client-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a92b141f2e113e8e8e060ba4bbbf3449d4914f3e72f10debebc791955fc7b6dc
MD5 253e80ada75b70a47c1f450b254dbd5f
BLAKE2b-256 40798faee712e9d27ce58533b1f92cad4c8575625ef01446e370a2efe620ab40

See more details on using hashes here.

File details

Details for the file fcli_client-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: fcli_client-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for fcli_client-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f230942e2f7268d5f06f6dcc37fd9e96de01a62d37fa4a2e347f0c4110fc13ae
MD5 a14c84a6d531c4616bc422d987719036
BLAKE2b-256 487f467ca72c32e11f74ab77897bb97e0c54cf690a1df4d0211eedba553e2fad

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