A python library to parse and generate RSS or atom feeds.
This module can:
- parse and generate RSS feeds
- parse and generate RDF (RSS v1.0) feeds (thanks to @inigoserna)
- parse and generate Atom feeds
- access standard fields via
feedclass andfeed.itemlist - preserve all data parsed, even in custom fields, when generating a RSS/Atom/RDF text
- read an url if
requestsis installed - access non-standard fields via
_datadict - create arbitrary feed
- modify an existing feed
For RSS:
feed = feedendum.from_rss_file(file_path)
feed = feedendum.from_rss_text(txt)
For RDF (RSS v1.0):
feed = feedendum.from_rdf_file(file_path)
feed = feedendum.from_rdf_text(txt)
For Atom:
feed = feedendum.from_atom_file(file_path)
feed = feedendum.from_atom_text(txt)
Standard fields:
print("Title", feed.title)
print("First entry title", feed.items[0].title)
For other fields, not defined in Feed class:
print("Extra attributes in the feed", feed._data)
print("Extra attributes in the first entry", feed.items[0]._data)
For RSS:
feedendum.to_rss_string(feed)
For RDF (RSS v1.0):
feedendum.to_rdf_string(feed)
For Atom:
feedendum.to_atom_string(feed)
This package is developed with uv.
Just run:
uv sync
Done via unittest
uv run python -m unittest discover -s tests
With build and hatchling
uvx --from build pyproject-build --installer uv
To publish to PyPi
uvx twine upload dist/*