{"id":15570901,"url":"https://github.com/nicolaslm/atoma","last_synced_at":"2025-04-09T09:06:21.511Z","repository":{"id":28731932,"uuid":"119187100","full_name":"NicolasLM/atoma","owner":"NicolasLM","description":"Atom, RSS and JSON feed parser for Python 3","archived":false,"fork":false,"pushed_at":"2022-10-28T07:18:47.000Z","size":85,"stargazers_count":106,"open_issues_count":3,"forks_count":15,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-23T16:09:48.819Z","etag":null,"topics":["atom","feed","json-feed","parser","python3","rfc-4287","rss","rss-feed-parser","syndication"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NicolasLM.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-27T17:40:36.000Z","updated_at":"2024-04-13T13:09:52.000Z","dependencies_parsed_at":"2022-08-07T14:00:39.146Z","dependency_job_id":null,"html_url":"https://github.com/NicolasLM/atoma","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasLM%2Fatoma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasLM%2Fatoma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasLM%2Fatoma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasLM%2Fatoma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NicolasLM","download_url":"https://codeload.github.com/NicolasLM/atoma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008629,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atom","feed","json-feed","parser","python3","rfc-4287","rss","rss-feed-parser","syndication"],"created_at":"2024-10-02T17:49:15.089Z","updated_at":"2025-04-09T09:06:21.492Z","avatar_url":"https://github.com/NicolasLM.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Atoma\n=====\n\n.. image:: https://github.com/NicolasLM/atoma/actions/workflows/test.yml/badge.svg\n    :target: https://github.com/NicolasLM/atoma/actions/workflows/test.yml\n.. image:: https://codecov.io/gh/NicolasLM/atoma/branch/main/graph/badge.svg\n    :target: https://codecov.io/gh/NicolasLM/atoma\n\n\n\nAtom, RSS and JSON feed parser for Python 3.\n\nQuickstart\n----------\n\nInstall Atoma with pip::\n\n   pip install atoma\n\nLoad and parse an Atom XML file:\n\n.. code:: python\n\n    \u003e\u003e\u003e import atoma\n    \u003e\u003e\u003e feed = atoma.parse_atom_feed('atom-feed.xml')\n    \u003e\u003e\u003e feed.description\n    'The blog relating the daily life of web agency developers'\n    \u003e\u003e\u003e len(feed.items)\n    5\n\nA small change is needed if you are dealing with an RSS XML file:\n\n.. code:: python\n\n    \u003e\u003e\u003e feed = atoma.parse_rss_feed('rss-feed.xml')\n\nParsing feeds from the Internet is easy as well:\n\n.. code:: python\n\n    \u003e\u003e\u003e import atoma, requests\n    \u003e\u003e\u003e response = requests.get('http://lucumr.pocoo.org/feed.atom')\n    \u003e\u003e\u003e feed = atoma.parse_atom_bytes(response.content)\n    \u003e\u003e\u003e feed.title.value\n    \"Armin Ronacher's Thoughts and Writings\"\n\nFeatures\n--------\n\n* RSS 2.0 - `RSS 2.0 Specification \u003chttp://cyber.harvard.edu/rss/rss.html\u003e`_\n* Atom Syndication Format v1 - `RFC4287 \u003chttps://tools.ietf.org/html/rfc4287\u003e`_\n* JSON Feed v1 - `JSON Feed specification \u003chttps://jsonfeed.org/version/1\u003e`_\n* OPML 2.0, to share lists of feeds - `OPML 2.0 \u003chttp://dev.opml.org/spec2.html\u003e`_\n* Typed: feeds decomposed into meaningful Python objects\n* Secure: uses defusedxml to load untrusted feeds\n* Compatible with Python 3.6+\n\nSecurity warning\n----------------\n\nIf you use this library to display content from feeds in a web page, you NEED\nto clean the HTML contained in the feeds to prevent `Cross-site scripting (XSS)\n\u003chttps://en.wikipedia.org/wiki/Cross-site_scripting\u003e`_. The `bleach\n\u003chttps://github.com/mozilla/bleach\u003e`_ library is recommended for cleaning feeds.\n\nUseful Resources\n----------------\n\nTo use this library a basic understanding of feeds is required. For Atom, the\n`Introduction to Atom \u003chttps://validator.w3.org/feed/docs/atom.html\u003e`_ is a must\nread. The `RFC 4287 \u003chttps://tools.ietf.org/html/rfc4287\u003e`_ can help lift some\nambiguities. Finally the `feed validator \u003chttps://validator.w3.org/feed/\u003e`_ is\ngreat to test hand-crafted feeds.\n\nFor RSS, the `RSS specification \u003chttp://cyber.harvard.edu/rss/rss.html\u003e`_ and\n`rssboard.org \u003chttp://www.rssboard.org\u003e`_ have a ton of information and\nexamples.\n\nFor OPML, the `OPML specification\n\u003chttp://dev.opml.org/spec2.html#subscriptionLists\u003e`_ has a paragraph dedicated\nto its usage for syndication\n\nNon-implemented Features\n------------------------\n\nSome seldom used features are not implemented:\n\n* XML signature and encryption\n* Some Atom and RSS extensions\n* Atom content other than ``text``, ``html`` and ``xhtml``\n\nLicense\n-------\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolaslm%2Fatoma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicolaslm%2Fatoma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolaslm%2Fatoma/lists"}