Pangea RSS Feed Generator
Find a file
2026-03-29 14:46:57 +02:00
demo switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
nix/packages/pygea nixify 2026-03-29 13:48:30 +02:00
pygea switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
tests switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
.envrc switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
.gitignore switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
flake.lock nixify 2026-03-29 13:48:30 +02:00
flake.nix switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
LICENSE add license 2026-02-20 10:14:10 +01:00
pangea.sh import project from david with uv 2026-02-20 10:07:49 +01:00
pyproject.toml switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
README.md switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00
treefmt.nix nixify 2026-03-29 13:48:30 +02:00
uv.lock switch to TOML config and export republisher feed manifests 2026-03-29 14:46:57 +02:00

pygea

Generate RSS feeds from the Pangea HTTP API using a TOML runtime config.

nix develop
uv sync --all-groups
cp demo/pygea.toml pygea.toml
$EDITOR pygea.toml
uv run pygea --config pygea.toml

Each [[feeds]] entry is explicit and stable:

[[feeds]]
name = "Info Martí "
slug = "info-marti"
only_newest = false

slug is required and is used as the output subdirectory name. Generated feeds are written to <output_directory>/<slug>/rss.xml. A manifest.toml is also written to <output_directory>/manifest.toml using the same [[feeds]] structure that republisher-redux can import directly:

[[feeds]]
name = "Info Martí "
slug = "info-marti"
url = "file:///absolute/path/to/feed/info-marti/rss.xml"

Omit content_type on a feed to use default_content_type.

PYGEA_API_KEY takes precedence over runtime.api_key in the TOML config.

See demo/README.md for a self-contained example.