Skip to main content

Roboherd

Roboherd is a framework for building Fediverse bots using the Cattle Drive Protocol.

For more information, see the documentation or the repository.

Developping with cattle_grid

In your catle_grid config directory add a roboherd user, e.g. a file testing.toml with content

[testing]
enable = true

[[testing.accounts]]
name = "herd"
password = "pass"
permissions = ["admin"]

Configure roboherd via roboherd.toml, e.g.

base_url = "http://abel"
connection_string = "ws://herd:pass@localhost:3000/ws/"

[cow.rooster]
bot = "roboherd.examples.rooster:bot"

This will trigger a periodic message to cattle_grid.

nginx for cattle_grid

The nginx in the cattle_grid configuration should forward the path /ws/ to rabbitmq (supporting mqtt over websockets)

server {
    listen 80;
    
    location /ws/ {
        proxy_pass http://rabbitmq:15675;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_read_timeout 86400; # neccessary to avoid websocket timeout disconnect
        proxy_send_timeout 86400; # neccessary to avoid websocket timeout disconnect
        proxy_redirect off;
        proxy_buffering off;
    }
}

similarly nginx should forward port 80 to 3000 (in the docker compose file).

BDD Tests

Start the pasture currently from containers. Run a runner container via

docker run --rm -it -e UV_PROJECT_ENVIRONMENT=/tmp/venv\
    -v .:/app --workdir /app\
    --network fediverse-pasture\
    ghcr.io/astral-sh/uv:alpine /bin/sh

Then run

uv sync --group bdd
uv run behave

Metadata

Release files for roboherd 0.1.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for roboherd 0.1.14
File Size Uploaded Provenance
roboherd-0.1.14.tar.gz 344.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for roboherd 0.1.14
File Interpreter ABI Platform
roboherd-0.1.14-py3-none-any.whl Python 3 none any Details

Total release size: 376.1 kB

Release files / roboherd-0.1.14.tar.gz

Download URL roboherd-0.1.14.tar.gz
Size 344.6 kB
Tags Source
SHA-256 checksum
How to use checksums
160e7edf83769988af7d9951df27f6625e7101c02d74cca932f576ed2da87362
BLAKE2b-256 checksum
How to use checksums
2a1e5796d22091a2373ead5fefcaf6867d121ae2d6c156b011e2374a85e2d41d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Release files / roboherd-0.1.14-py3-none-any.whl

Download URL roboherd-0.1.14-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d1c6bc20101f2c6888bbd3544b3340db6fcf772a691e88f8c2809794c280276b
BLAKE2b-256 checksum
How to use checksums
0113a183476afa31c83cb60aa41f907b5f628ea57205002137cdfaa58f670d9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.5

Security for roboherd 0.1.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page