A Python feed reader web app and library (so you can use it to build your own), with only standard library and pure-Python dependencies.
Deploy this app to Linode with a free $100 credit!
.. begin-intro
reader is a Python feed reader library.
It is designed to allow writing feed reader applications without any business code, and without depending on a particular framework.
.. end-intro
|build-status-github| |code-coverage| |documentation-status| |pypi-status| |type-checking| |code-style|
.. |build-status-github| image:: https://github.com/lemon24/reader/workflows/build/badge.svg :target: https://github.com/lemon24/reader/actions?query=workflow%3Abuild :alt: build status (GitHub Actions)
.. |code-coverage| image:: https://codecov.io/gh/lemon24/reader/branch/master/graph/badge.svg?token=lcLZaSFysf :target: https://codecov.io/gh/lemon24/reader :alt: code coverage
.. |documentation-status| image:: https://readthedocs.org/projects/reader/badge/?version=latest&style=flat :target: https://reader.readthedocs.io/en/latest/?badge=latest :alt: documentation status
.. |pypi-status| image:: https://img.shields.io/pypi/v/reader.svg :target: https://pypi.python.org/pypi/reader :alt: PyPI status
.. |type-checking| image:: http://www.mypy-lang.org/static/mypy_badge.svg :target: http://mypy-lang.org/ :alt: checked with mypy
.. |code-style| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: code style: black
.. begin-features
reader allows you to:
retrieve, store, and manage Atom, RSS, and JSON feeds
and even follow Twitter accounts
mark articles as read or important
...all these with:
What reader doesn't do:
The following exist, but are optional (and frankly, a bit unpolished):
a minimal web interface
that works even with text-only browsers
with automatic tag fixing for podcasts (MP3 enclosures)
a command-line interface
.. end-features
Documentation: reader.readthedocs.io
_
.. _reader.readthedocs.io: https://reader.readthedocs.io/
Usage:
.. begin-usage
.. code-block:: bash
$ pip install reader
.. code-block:: python
>>> from reader import make_reader
>>>
>>> reader = make_reader('db.sqlite')
>>> reader.add_feed('http://www.hellointernet.fm/podcast?format=rss')
>>> reader.update_feeds()
>>>
>>> entries = list(reader.get_entries())
>>> [e.title for e in entries]
['H.I. #108: Project Cyclops', 'H.I. #107: One Year of Weird', ...]
>>>
>>> reader.mark_entry_as_read(entries[0])
>>>
>>> [e.title for e in reader.get_entries(read=False)]
['H.I. #107: One Year of Weird', 'H.I. #106: Water on Mars', ...]
>>> [e.title for e in reader.get_entries(read=True)]
['H.I. #108: Project Cyclops']
>>>
>>> reader.update_search()
>>>
>>> for e in reader.search_entries('year', limit=3):
... title = e.metadata.get('.title')
... print(title.value, title.highlights)
...
H.I. #107: One Year of Weird (slice(15, 19, None),)
H.I. #52: 20,000 Years of Torment (slice(17, 22, None),)
H.I. #83: The Best Kind of Prison ()
.. end-usage
Please login to review this project.
No reviews for this project yet.
Fetches RSS/Atom-feeds and pushes new Content to any email-…
Free and open source feeds reader, including all major Goog…
Leed (for Light Feed) is a Free and minimalist RSS aggregat…
Comments (0)
Please login to join the discussion on this project.