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 tollm
’s plugin system - Local models (@golfinq) — Demonstrated that we can indeed run fossil on local models instead of OpenAI
Bugs
- Fix pagination (@johnmcdonnell) — A bug in pagination prevented many toots from loading properly
- Refactored config options (AutumnalAntlers)
Thanks to all contributors!