Skip to main content

Store for ActivityPub activities, actors and objects

Project description

bovine_store

Note: Development of bovine_store will probably be discontinued

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.15.tar.gz (68.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bovine_store-0.5.15-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bovine_store-0.5.15.tar.gz
Algorithm Hash digest
SHA256 f874a0dde3dee1087f93e3826a9e34904369e1f6b0e68f52af008a411f35b8fb
MD5 a676f5c2f6ad0ffd8b5089460b706d78
BLAKE2b-256 26ec87c10e7d8807e639584b136616f0bc8d7cf2b665efc5072d3e578960eb57

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for bovine_store-0.5.15-py3-none-any.whl
Algorithm Hash digest
SHA256 ea612e2dd5068305a907b514c12aafc9a011a9502bdb3f664079c2f33f124851
MD5 cfa99aca570634c6b4693b2e8984167c
BLAKE2b-256 92760180b05898311b5f5498d9cd40c23d2b60e4057cd9f89d78774d13bab61f

See more details on using hashes here.

Supported by

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