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.4.tar.gz (421.2 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.4-py3-none-any.whl (218.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cattle_grid-0.5.4.tar.gz
Algorithm Hash digest
SHA256 0789f9fee99f941d7bce8d507e6e9e7a7a393419cab84ab07d7204f850ac32d3
MD5 cadb38283858c9c6089243db23e0d487
BLAKE2b-256 364122917cbfc6820e57047f1d7abf5ebd931eeda43d8b7667e6156805e54a15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cattle_grid-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 855790c59d01651198983c64780cf6fbef9136e5a80265fc37993e9bf266456c
MD5 ed8f578814c750a6b0e270b021f1844e
BLAKE2b-256 fa7c289261931a585411549236d288c68b0f7c22242366df636a51723c2eb331

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