Skip to main content

Store for ActivityPub activities, actors and objects

Project description

bovine_store

bovine_store is meant to be the module handling storing of local ActivityPub objects and caching of remote ActivityPub objects.

Usage

bovine_store assumes that a database connection is initialized using tortoise-orm. See examples/basic_app.py for how to do this in the context of a quart app.

TODO

  • When properties of actor are updated, send an update Activity
    • Doesn't fit into the current bovine framework ... bovine_store doesn't know how to send activities
  • Generally rework the actor properties mechanism. It is currently not possible to emulate say Mastodon featured collection with it.
  • bovine_store.models.BovineActorKeyPair needs renamings; and work, e.g. a future identity column should have a uniqueness constraint.
  • Generally the code quality is not as high as it should be.

Examples

A demonstration webserver can be seen using

poetry run python examples/basic_app.py

Note this is a very basic example. Instructions what the example does are printed to the command line after start.

Note: This example creates two files db.sqlite3, which contains the database and context_cache.sqlite, which contains the cache of json-ld contexts.

Running tests

For sqlite3

poetry run pytest

For postgres

BOVINE_DB_URL=postgres://postgres:secret@postgres:5432/postgres poetry run pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bovine_store-0.5.10.tar.gz (67.1 kB view details)

Uploaded Source

Built Distribution

bovine_store-0.5.10-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file bovine_store-0.5.10.tar.gz.

File metadata

  • Download URL: bovine_store-0.5.10.tar.gz
  • Upload date:
  • Size: 67.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.11.3 Linux/6.1.0-13-amd64

File hashes

Hashes for bovine_store-0.5.10.tar.gz
Algorithm Hash digest
SHA256 1a3a78db125a996aaad38b2849e7ad70ac8718289a869f0c499255502d768fa7
MD5 e9fc1735681f678a456ffde08d5d3f4d
BLAKE2b-256 87c61badbda668a8d69c1110cab8cd992b362d409a0041e3e927557b30782d32

See more details on using hashes here.

File details

Details for the file bovine_store-0.5.10-py3-none-any.whl.

File metadata

  • Download URL: bovine_store-0.5.10-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.11.3 Linux/6.1.0-13-amd64

File hashes

Hashes for bovine_store-0.5.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1a121b183899a3befae502d6f2dc66a0ab0a82bd4e98506d330b0f5f743bcf3d
MD5 cdf05fceacc43c9deb84a8aa85a38981
BLAKE2b-256 753ea137261a73476086ec76207b99f35721541e3949efc363938f524928ced6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page