Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/stefanbohacek/fediverse-connections

A few Python scripts to explore your fediverse connections.
https://github.com/stefanbohacek/fediverse-connections

data dataviz fediverse mastodon python

Last synced: about 2 months ago
JSON representation

A few Python scripts to explore your fediverse connections.

Awesome Lists containing this project

README

        

![A tinted screenshot of two charts generated by some of the scripts from this project.](https://stefanbohacek.com/wp-content/uploads/2023/05/exploring-fediverse-connections-data-thumbnail-small.png)

# Exploring your fediverse connections

These are the scripts made for [my article about working with data](https://stefanbohacek.com/blog/exploring-your-fediverse-connections/) exported from [my tool for exploring fediverse connections](https://data.stefanbohacek.dev/projects/fediverse).

## How to use the scripts

You can [follow along with my article](https://stefanbohacek.com/blog/exploring-your-fediverse-connections/), but in short:

1. Visit [data.stefanbohacek.dev/projects/fediverse](https://data.stefanbohacek.dev/projects/fediverse) and log in with your fediverse account (see [list of supported platforms](https://stefanbohacek.com/project/explore-your-fediverse-connections/#supported-platforms)).
2. Use the "Download your data" button to download a CSV file with your data and save it as `connections.csv`.
3. Install dependencies.

```sh
pip install pandas matplotlib tldextract
```

4. Run the `connections.py` script to generate a `platforms.csv` dataset with a breakdown of fediverse platforms by popularity of your connections' servers.

```sh
python connections.py
```

5. Use the `platforms.py` script to generate a bar chart from `platforms.csv`. (See `platforms.png` inside the `example-output` folder.)

```sh
python platforms.py
```

6. Make a copy of the `connections.csv` file called `domains.csv` and remove the `connections` and `percentage` columns.
7. Run the `domains.py` script to generate `domain-info.csv` with dates of registration of each domain. Make sure you have `whois` available in your terminal.

```sh
python domains.py
```

8. Use the `domain-info.py` script to generate a scatter plot chart from `domain-info.csv`.

```sh
python domain-info.py
```

BONUS: You can use the `accounts.py` script to download information about the number of accounts on each server.

```sh
python accounts.py
```