Release: Fossil 0.2

I just pushed fossil v0.2. Fossil is a Mastodon client built for reading. It includes an AI-based algorithm for displaying your feed as an automatically curated list of topics. I personally enjoy this algorithm because it lets me skip right to the content I care most about, without relying on authors to correctly use hashtags.

You can install from PyPi via:

pip install fossil

Note that it requires Python >=3.10, which often isn’t available by default on your system. This can make it a little difficult to setup (contribution idea).

Plugin System

This release fleshes out the plugin system. Here are the currently available integration points:

  • Algorithm: Write a Python class that implements your own algorithm. See topic_cluster.py for an example of how to do this.
  • Display Buttons: Add buttons alongside the “favorite” and “boost” buttons on each toot. Previously, I had a “debug” button that would print out the Mastodon JSON to the server terminal to help me debug Mastodon behavior. For this release, I’ve moved this to a plugin that ships by default, see toot_debug.py
  • API Operations: Add API operations. See toot_debug.py for an example. These are useful in combination with Display Buttons, so that a button can trigger Python code. I anticipate needing this to support algorithms that require user guidance.

In general, I’ve been trying to move functionality out of the core and into plugins, so that Fossil becomes more of a framework or platform for experimenting with algorithms.

New Functionality

  • Boost button (@alenachao)
  • Like button (@alenachao)
  • Plugin system
  • LLM — use llm to run models, this punts LLM integration with many models to llm’s plugin system
  • Local models (@golfinq) — Demonstrated that we can indeed run fossil on local models instead of OpenAI

Bugs

Thanks to all contributors!