All Projects → NicolasLM → Atoma

NicolasLM / Atoma

Licence: mit
Atom, RSS and JSON feed parser for Python 3

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Atoma

Gofeed
Parse RSS, Atom and JSON feeds in Go
Stars: ✭ 1,762 (+2529.85%)
Mutual labels:  rss, parser, atom, feed
Picofeed
PHP library to parse and write RSS/Atom feeds
Stars: ✭ 439 (+555.22%)
Mutual labels:  rss, parser, atom, feed
Liferea
Liferea (Linux Feed Reader), a news reader for GTK/GNOME
Stars: ✭ 612 (+813.43%)
Mutual labels:  rss, atom, feed
laminas-feed
Consume and generate Atom and RSS feeds, and interact with Pubsubhubbub.
Stars: ✭ 97 (+44.78%)
Mutual labels:  atom, rss, feed
Miniflux Legacy
Minimalist RSS reader (version 1.x)
Stars: ✭ 897 (+1238.81%)
Mutual labels:  rss, atom, feed
Python Feedgen
Python module to generate ATOM feeds, RSS feeds and Podcasts.
Stars: ✭ 501 (+647.76%)
Mutual labels:  rss, atom, feed
V2
Minimalist and opinionated feed reader
Stars: ✭ 3,239 (+4734.33%)
Mutual labels:  rss, atom, feed
feed2email
RSS/Atom feed updates in your email
Stars: ✭ 37 (-44.78%)
Mutual labels:  atom, rss, feed
Feed Module
Everyone deserves RSS, ATOM and JSON feeds!
Stars: ✭ 182 (+171.64%)
Mutual labels:  rss, atom, feed
baRSS
Menu Bar RSS reader for macOS
Stars: ✭ 39 (-41.79%)
Mutual labels:  atom, rss, feed
meta-extractor
Super simple and fast html page meta data extractor with low memory footprint
Stars: ✭ 38 (-43.28%)
Mutual labels:  atom, rss, feed
feeds-to-pocket
Sends entries from RSS and Atom feeds to Pocket (https://getpocket.com)
Stars: ✭ 24 (-64.18%)
Mutual labels:  atom, rss, feed
Feed
A RSS, Atom and JSON Feed generator for Node.js, making content syndication simple and intuitive! 🚀
Stars: ✭ 523 (+680.6%)
Mutual labels:  rss, atom, feed
Rss
Library for serializing the RSS web content syndication format
Stars: ✭ 223 (+232.84%)
Mutual labels:  rss, parser, feed
Jquery Rss
An easy-to-use rss plugin for jquery with templating.
Stars: ✭ 443 (+561.19%)
Mutual labels:  rss, atom, feed
Feed Io
A PHP library to read and write feeds in JSONFeed, RSS or Atom format
Stars: ✭ 200 (+198.51%)
Mutual labels:  rss, atom, feed
Reader
Free and open source feeds reader, including all major Google Reader features
Stars: ✭ 347 (+417.91%)
Mutual labels:  rss, atom, feed
Posidonlauncher
a one-page homescreen with a news feed
Stars: ✭ 163 (+143.28%)
Mutual labels:  rss, atom, feed
Pluto
pluto gems - planet feed reader and (static) website generator - auto-build web pages from published web feeds
Stars: ✭ 174 (+159.7%)
Mutual labels:  rss, atom, feed
vuepress-plugin-feed
RSS, Atom, and JSON feeds generator plugin for VuePress 1.x
Stars: ✭ 46 (-31.34%)
Mutual labels:  atom, rss, feed

Atoma

.. image:: https://travis-ci.org/NicolasLM/atoma.svg?branch=master :target: https://travis-ci.org/NicolasLM/atoma .. image:: https://coveralls.io/repos/github/NicolasLM/atoma/badge.svg?branch=master :target: https://coveralls.io/github/NicolasLM/atoma?branch=master

Atom, RSS and JSON feed parser for Python 3.

Quickstart

Install Atoma with pip::

pip install atoma

Load and parse an Atom XML file:

.. code:: python

>>> import atoma
>>> feed = atoma.parse_rss_file('rss-feed.xml')
>>> feed.description
'The blog relating the daily life of web agency developers'
>>> len(feed.items)
5

Parsing feeds from the Internet is easy as well:

.. code:: python

>>> import atoma, requests
>>> response = requests.get('http://lucumr.pocoo.org/feed.atom')
>>> feed = atoma.parse_atom_bytes(response.content)
>>> feed.title.value
"Armin Ronacher's Thoughts and Writings"

Features

  • RSS 2.0 - RSS 2.0 Specification <http://cyber.harvard.edu/rss/rss.html>_
  • Atom Syndication Format v1 - RFC4287 <https://tools.ietf.org/html/rfc4287>_
  • JSON Feed v1 - JSON Feed specification <https://jsonfeed.org/version/1>_
  • OPML 2.0, to share lists of feeds - OPML 2.0 <http://dev.opml.org/spec2.html>_
  • Typed: feeds decomposed into meaningful Python objects
  • Secure: uses defusedxml to load untrusted feeds
  • Compatible with Python 3.6+

Security warning

If you use this library to display content from feeds in a web page, you NEED to clean the HTML contained in the feeds to prevent Cross-site scripting (XSS) <https://en.wikipedia.org/wiki/Cross-site_scripting>. The bleach <https://github.com/mozilla/bleach> library is recommended for cleaning feeds.

Useful Resources

To use this library a basic understanding of feeds is required. For Atom, the Introduction to Atom <https://validator.w3.org/feed/docs/atom.html>_ is a must read. The RFC 4287 <https://tools.ietf.org/html/rfc4287>_ can help lift some ambiguities. Finally the feed validator <https://validator.w3.org/feed/>_ is great to test hand-crafted feeds.

For RSS, the RSS specification <http://cyber.harvard.edu/rss/rss.html>_ and rssboard.org <http://www.rssboard.org>_ have a ton of information and examples.

For OPML, the OPML specification <http://dev.opml.org/spec2.html#subscriptionLists>_ has a paragraph dedicated to its usage for syndication

Non-implemented Features

Some seldom used features are not implemented:

  • XML signature and encryption
  • Some Atom and RSS extensions
  • Atom content other than text, html and xhtml

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].