Skip to main content

Middleware for the Fediverse

Project description

cattle_grid

THIS README needs to be updated for cattle_grid 0.2.0

cattle_grid is meant to simplify handling authentication in server to server communication of the Fediverse. cattle_grid checks the HTTP signatures based on the headers. For this public keys are retrieved and cached.

For installation instructions see the documentation.

Development

Testing

You can run the pytest tests via

uv run pytest

or in watch mode

uv run ptw .

Running behave tests

Build the container via

./update_docker.sh

This script uses the requirements from pyproject.toml via uv export to install python dependencies in the container. This means this script needs to be rerun, if you make changes to the dependencies. Startup the docker environment via

docker compose up

Open a runner container

docker compose run --rm --name runner cattle_grid_app /bin/sh

Inside this container, you now run

fediverse-features
behave

The first step downloads some features from fediverse-features and the second step runs the test suite.

Building end 2 end reports (as done by CI)

The process to build the end to end reports is described here. The reports should be published to this repository and then made available here.

Running as stand alone

Create a requirements.txt file and start a virgin docker container

uv export --no-editable --no-emit-project --no-hashes --no-dev > requirements.txt
docker run --rm -ti -p 8000:8000\
    -v ./cattle_grid:/app/cattle_grid\
    -v ./requirements.txt:/app/requirements.txt \
    --workdir /app\
    helgekr/bovine:python3.13 /bin/sh

Once inside the docker container install dependencies

pip intall -r requirements.txt

and run cattle_grid via

uvicorn cattle_grid:create_app --factory --host 0.0.0.0

This currently fails.

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

cattle_grid-0.5.9.tar.gz (448.3 kB view details)

Uploaded Source

Built Distribution

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

cattle_grid-0.5.9-py3-none-any.whl (221.8 kB view details)

Uploaded Python 3

File details

Details for the file cattle_grid-0.5.9.tar.gz.

File metadata

  • Download URL: cattle_grid-0.5.9.tar.gz
  • Upload date:
  • Size: 448.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for cattle_grid-0.5.9.tar.gz
Algorithm Hash digest
SHA256 fde2e33c7bd5adb313afe28dbfba34aadbcf3c11bc044cdbba537c41bcdcc6ce
MD5 832e80dbbf15cd60e5334401ac903cd5
BLAKE2b-256 ed188dfe5f515a7326564db3ab5363b2ee3ba80b34a573dd35959b7e503e7168

See more details on using hashes here.

File details

Details for the file cattle_grid-0.5.9-py3-none-any.whl.

File metadata

File hashes

Hashes for cattle_grid-0.5.9-py3-none-any.whl
Algorithm Hash digest
SHA256 5544224fc0ae1f001a34dd9f1be7b2e0a1f6ddc5267df4fd79b8348eb44d26bb
MD5 3c3d94791b935c930f15e180bebedd7c
BLAKE2b-256 bab0ac347b275147bb829ab17d6728fb16001314270211e022f83312b3170cad

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