分析我使用过的mastodon应用程序
#python #datascience #mastodon

几个月前,我写了关于the opportunities for developers around Mastodon的文章。

从那以后,我很高兴看到乳齿生态系统周围弹出不同的应用程序 - 仅在iOS上,过去两周,three or four impressive new client apps emerge(以及更多正在测试),以及Elk等出色的渐进式网络应用程序,如。

Toot reading: "With @ivory @icecubesapp and @tusker all moving from TestFlight to App Store in the space of a few days, it is an exciting time. I remain excited to see what developers build on Mastodon (and ActivityPub). It would be great to see more options for web embeds, sharing etc, and greater diversity of Android apps too"

(好奇Mastodon客户有什么?

我自己对平台的使用量很大,我想看看我最常使用的应用程序。

将Python与Mastodon API(与Mastodon.py library一起使用),以及Python生态系统中可用的可爱工具 - 在这种情况下,Pandas和Matplotlib-我们可以快速了解我在哪里度过的时间,以及我的时间,我一直在尝试的地方。

Chart showing the number of Toots posted via different Mastodon apps. Web, and Ivory for iOS, are the most-used

这是对代码的快速概述,将最低限度降低到最低限度:

from mastodon import Mastodon
import pandas as pd
import matplotlib.pyplot as plt

API_KEY = "TOKEN"
mstdn_url = "https://my.instance"
user_id = "ID"

mstdn = Mastodon(access_token=API_KEY,
                 api_base_url=mstdn_url)

print("Getting All The Statuses ...")
# get only toots from this account (no boosts)
statuses = mstdn.account_statuses(user_id, exclude_reblogs=True)

apps_list = []

while statuses:
    statuses = mstdn.fetch_remaining(statuses)

    for s in statuses:
        apps_list.append(s["application"]["name"])
        break

print("Charting ...")

pd.Series(apps_list).value_counts(sort=False).plot(
    kind='barh', color='#563ACC', title="Mastodon client usage")
plt.savefig('toot-apps.pdf', bbox_inches='tight')

print('... done!')

让我们介绍一下:

  • 我们与pandas一起导入mastodon.py库
  • 我们设置了一些变量来定义我们的home mastodon实例和一个API令牌(我们在Mastodon设置中的开发部分下创建了一个应用程序)
  • 我们致电API以获取目标用户的所有状态(TOOTS)(这使用Mastodon.py中可用的分页功能)
    • 排除助推器,因为这些不带有有关用于增强Toot的应用程序的数据。
  • 对于每个状态,我们获取所使用的应用程序的名称,然后将其添加到列表
  • 最后,我们使用熊猫和matplotlib在摩托道紫色的颜色中创建水平条形图,然后保存到PDF。
    • 我在这里还有很多事情,例如显示如何在不同时间使用不同的应用程序(仅通过与使用日期相关联)

一些数据点:由于我在11月将my Mastodon presence移至我当前的实例(Macaw.Social),因此我发布了1609个状态,其中954个是我自己的有机状态,而不是增强状态。其中一半使用默认的Web UI发布。我一直在使用各种移动应用程序,并且主要是在iOS上使用metatext的开始 - 最近,我发现自己使用了象牙色(我在Testflight中使用过),但是我真的很喜欢其他一些选项还有...冰块,象牙和猛mm是很棒的应用程序。

当然,这只是显示我最常使用的应用程序来主动发布的应用程序,并且不会反映在应用程序或网站上花费的时间 - 我认为数据会讲另一个故事,但它需要来自我一直在使用的设备,而不是来自API。

只是一个快速的帖子来总结我自己的一些数据 - 让我知道您正在使用的应用程序,或者您有兴趣使用Mastodon API。

在#fediverse中见!