At the heart of Planet Atom is the mergeatom module. I've updated mergeatom a lot since I first released it. It's still a simple Python utility for merging multiple Atom 1.0 feeds into an aggregated feed. Some of the features:
- Reads in a list of atom URLs, files or content strings to be merged into a given target document
- Puts out a complete, merged Atom document (duplicates by atom:id are suppressed).
- Collates the entries according to date, allowing you to limit the total. WARNING: Entries from the original Atom feed may be deleted according to ID duplicate removal or entry count limits.
- Allows you to set the sort order of resulting entries
- Uses atom:source elements, according to the spec, to retain key metadata from the originating feeds
- Normalizes XML namespaces prefixes for output Atom elements (uses atom:*)
- Allows you to limit contained entries to a date range
- Handles base URIs fixup intelligently (Base URIs on feed elements are) migrated on to copied entries so that contained relative links remain correct