Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ericvolp12/bsky-experiments
A handful of Go-based tools for poking around with BlueSky using the AT Protocol
https://github.com/ericvolp12/bsky-experiments
Last synced: 3 days ago
JSON representation
A handful of Go-based tools for poking around with BlueSky using the AT Protocol
- Host: GitHub
- URL: https://github.com/ericvolp12/bsky-experiments
- Owner: ericvolp12
- License: mit
- Created: 2023-04-22T17:22:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-13T08:20:38.000Z (7 months ago)
- Last Synced: 2024-04-13T22:02:28.898Z (7 months ago)
- Language: Go
- Homepage:
- Size: 1.71 MB
- Stars: 125
- Watchers: 8
- Forks: 9
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BSky Experiments
This repo has contains some fun Go experiments interacting with BlueSky via the AT Protocol.
The Makefile contains some useful targets for building and running the experiments.
Check out the contents of the `cmd` folder for some Go binaries that are interesting.
Don't expect any help running these, they change often and are not built to work in every environment and require external infrastructure to operate properly (Postgres, Redis, ScyllaDB, etc.)
Some of the experiments include:
- `consumer` - A firehose consumer and backfiller that indexes the contents of the ATProto firehose for search and filtering by other services.
- `feedgen-go` - A feed generator backend that serves many different feeds from the datastores populated by the consumer and other services.
- `graphd` - An in-memory graph database that tracks follows between users to make lookups and intersections faster in my other services.
- `indexer` - A worker that grabs posts from the DB created by the consumer and processes them for language detection, sentiment analysis, and object detection of images by sending them to various python services from the `python` folder.
- `jazbot` - A bot that interacts with users and sources data from the DBs populated by other services.
- `ts-layout` - A TypeScript service that handles ForceAtlas2 layouts of threads for visualization in my [Thread Visualizer](https://bsky.jazco.dev/thread)
- `object-detection` - A Python service that downloads images and detects objects in them.
- `sentiment` - A Python service that runs sentiment analysis on the textual content of posts.
- `plc` - A shallow mirror of `plc.directory` that contains the "latest" values for DID -> Handle resolution.
- `search` - A catch-all Go HTTP API that tracks statistics of AT Proto and has some useful endpoints that the other services make use of.