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.5.tar.gz (421.7 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.5-py3-none-any.whl (219.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cattle_grid-0.5.5.tar.gz
Algorithm Hash digest
SHA256 94a9e356628397215c2368d869a520b16ed74aa9af9b7a86a625c6d2c8bad616
MD5 a0378f7b6ab5f6956de919d35b906f02
BLAKE2b-256 20fb8d8b302424c3dcecf83e9deb1f5438021135724bfc34645c2c8761c6e25d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cattle_grid-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 169456df381cdc3c874c61dec9e5dc07a3309913879b9ff66bc25b98fd1d17ed
MD5 6b62db2a1fec34cbb11496cbc3d73c16
BLAKE2b-256 10a7c9c099fc4ea1b92e31b4ec9db660a68fcd12b1652f44bd111cb9986cfd27

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