Processing of Side Effects of ActivityPub Activities for an ActivityPub Server
Project description
bovine_process
bovine_process
consists of the side effect logic of Activity objects. This means it contains the code, the logic that for an incoming object, one executes:
- Store object in bovine_store
- Add reference to inbox
- Perform side effects
- Enque object for bovine_pubsub
And a similar list of effects for outgoing objects, i.e
- Store object in bovine_store
- Add reference to outbox
- Perform side effects
- Send objects to follower's inbox
- Enque object for bovine_pubsub
The behavior defined in this package corresponds to 6. Client to Server Interactions and 7. Server to Server Interactions of the ActivityPub specification. However, only a small subset of side effects is implemented.
Implemented Side Effects
- Create, Update, Delete. Deletes are handled by replacing the object with a Tombstone. Various checks are performed to ensure only appropriate Updates happen.
- Specify Update checks
- Follow and Accept
- Outgoing Accept of Follow adds to followers
- Incoming Accept of Follows adds to following
- Implement other side effects, in particular Like, Announce, and inReplyTo
- Authority checks.
That's it. Currently, no collections for replies and likes are kept in bovine_store, so implementing these side effects cannot happen yet:
- Announce -> add to share collection
- Like -> add to likes collection
- Create with inReplyTo -> add to replies collection
Tests
The folder tests/data
contains test cases what side effects happen in the database for certain cases.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for bovine_process-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbcf57a410474ab79bbb8ce36fe3fb10f18f3d2da9453eb6ebfc5d309415a81b |
|
MD5 | c1cf462b49d731ad6b933465d7ead4ec |
|
BLAKE2b-256 | 7ed411104bd185ff31fe76e2b4f01d179e0d0aed3b573758a54fdc2ee8a26f8a |