bovine-process


Namebovine-process JSON
Version 0.5.18 PyPI version JSON
download
home_pagehttps://codeberg.org/bovine/bovine
SummaryProcessing of Side Effects of ActivityPub Activities for an ActivityPub Server
upload_time2025-02-07 18:13:27
maintainerNone
docs_urlNone
authorHelge
requires_python<4.0,>=3.11
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
SPDX-FileCopyrightText: 2023 Helge

SPDX-License-Identifier: MIT
-->

# bovine_process

__Note__: Development of bovine_process will probably be discontinued

`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](https://www.w3.org/TR/activitypub/#client-to-server-interactions) and [7. Server to Server Interactions](https://www.w3.org/TR/activitypub/#server-to-server-interactions) of the ActivityPub specification. However, only a small subset of side effects is implemented.

## Implemented Side Effects

- Create, Update, Delete on objects, i.e. basic crud
- Like, Dislike, EmojiReact -> add to likes collection; Undo removes
- Announce -> add to share collection; Undo removes
- The same person can Like, Announce, etc.. multiple times
- Create with inReplyTo -> add to replies collection; Delete removes

- Follow and Accept
  - Outgoing Accept of Follow adds to followers
  - Incoming Accept of Follows adds to following

- [ ] Specify Update checks
- [ ] Authority checks.
- [ ] Refactor for easier customization / extension. Adding a new side effect currently requires publishing a new package. This should not be the case.

## Tests

The folder `tests/data` contains test cases what side effects happen in the database for certain cases.

            

Raw data

            {
    "_id": null,
    "home_page": "https://codeberg.org/bovine/bovine",
    "name": "bovine-process",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "Helge",
    "author_email": "helge.krueger@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/67/c7/acbb2a21e15ddd3ff04f2c722c133bfc023e3220439153b67500e88fa515/bovine_process-0.5.18.tar.gz",
    "platform": null,
    "description": "<!--\nSPDX-FileCopyrightText: 2023 Helge\n\nSPDX-License-Identifier: MIT\n-->\n\n# bovine_process\n\n__Note__: Development of bovine_process will probably be discontinued\n\n`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:\n\n- Store object in bovine_store\n- Add reference to inbox\n- Perform side effects\n- Enque object for bovine_pubsub\n\nAnd a similar list of effects for outgoing objects, i.e\n\n- Store object in bovine_store\n- Add reference to outbox\n- Perform side effects\n- Send objects to follower's inbox\n- Enque object for bovine_pubsub\n\nThe behavior defined in this package corresponds to [6. Client to Server Interactions](https://www.w3.org/TR/activitypub/#client-to-server-interactions) and [7. Server to Server Interactions](https://www.w3.org/TR/activitypub/#server-to-server-interactions) of the ActivityPub specification. However, only a small subset of side effects is implemented.\n\n## Implemented Side Effects\n\n- Create, Update, Delete on objects, i.e. basic crud\n- Like, Dislike, EmojiReact -> add to likes collection; Undo removes\n- Announce -> add to share collection; Undo removes\n- The same person can Like, Announce, etc.. multiple times\n- Create with inReplyTo -> add to replies collection; Delete removes\n\n- Follow and Accept\n  - Outgoing Accept of Follow adds to followers\n  - Incoming Accept of Follows adds to following\n\n- [ ] Specify Update checks\n- [ ] Authority checks.\n- [ ] Refactor for easier customization / extension. Adding a new side effect currently requires publishing a new package. This should not be the case.\n\n## Tests\n\nThe folder `tests/data` contains test cases what side effects happen in the database for certain cases.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Processing of Side Effects of ActivityPub Activities for an ActivityPub Server",
    "version": "0.5.18",
    "project_urls": {
        "Documentation": "https://bovine-process.readthedocs.io/en/latest/",
        "Homepage": "https://codeberg.org/bovine/bovine",
        "Repository": "https://codeberg.org/bovine/bovine"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06a2550cbc5631ab856eafdd5d3da474682afc0222905b9facf1dcaf9f98a992",
                "md5": "d698c891766dfc0e7c1c5ae8d51444c7",
                "sha256": "cbd25e9582cc47d629ef445c286bb626e8ab38b891c1476e46b718a8950d8532"
            },
            "downloads": -1,
            "filename": "bovine_process-0.5.18-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d698c891766dfc0e7c1c5ae8d51444c7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 26750,
            "upload_time": "2025-02-07T18:13:26",
            "upload_time_iso_8601": "2025-02-07T18:13:26.709088Z",
            "url": "https://files.pythonhosted.org/packages/06/a2/550cbc5631ab856eafdd5d3da474682afc0222905b9facf1dcaf9f98a992/bovine_process-0.5.18-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67c7acbb2a21e15ddd3ff04f2c722c133bfc023e3220439153b67500e88fa515",
                "md5": "dcc4278eb931f21f3362404b06a7b82f",
                "sha256": "d3f932913fd31d63b966477a84daad3ab1daa4b243ac1a837696edce56e97af9"
            },
            "downloads": -1,
            "filename": "bovine_process-0.5.18.tar.gz",
            "has_sig": false,
            "md5_digest": "dcc4278eb931f21f3362404b06a7b82f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 36774,
            "upload_time": "2025-02-07T18:13:27",
            "upload_time_iso_8601": "2025-02-07T18:13:27.896255Z",
            "url": "https://files.pythonhosted.org/packages/67/c7/acbb2a21e15ddd3ff04f2c722c133bfc023e3220439153b67500e88fa515/bovine_process-0.5.18.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-07 18:13:27",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": true,
    "codeberg_user": "bovine",
    "codeberg_project": "bovine",
    "lcname": "bovine-process"
}
        
Elapsed time: 1.06698s