reader logo

reader

  •  0 ratings
In category: Feed Readers

About reader

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.

  •   645  
  •   0  
  •   0  
  •   0  
Github stats:
  •  Commits: N/A  
  •   N/A  
  •   N/A  
  •  Latest commit: N/A  

Deploy this app to RackNerd for $0.99/mo only!

Languages/Platforms/Technologies:
Lincenses:

More about reader

.. 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

  • add arbitrary tags/metadata to feeds and articles
  • filter feeds and articles
  • full-text search articles
  • get statistics on feed and user activity
  • write plugins to extend its functionality
  • skip all the low level stuff and focus on what makes your feed reader different

...all these with:

  • a stable, clearly documented API
  • excellent test coverage
  • fully typed Python

What reader doesn't do:

  • provide an UI
  • provide a REST API (yet)
  • depend on a web framework
  • have an opinion of how/where you use it

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

Comments (0)

Please login to join the discussion on this project.

reader Reviews (0)

Overall Rating

None

based on 0 ratings

Please login to review this project.

No reviews for this project yet.

↑ back to top

RackNerd Medium Rectangle Banner

Popular Projects

FluxBB

in Social Networks and Forums
 40k    0    0    0  

Nextcloud

in File Transfer & Synchronization
 30k    1    1    0  

Dashboard

in Personal Dashboards
 10k    0    0    0  

Libreddit

in Social Networks and Forums
 10k    0    1    0  

Audiobookshelf

in Audio Streaming
 8k    0    1    0  

Libre Translate

in Miscellaneous
 8k    0    0    0  

CasaOS

in Self-hosting Solutions
 7k    0    0    0  

Most Discussed

Nextcloud

in File Transfer & Synchronization
 30k    1    1    0  

Tube Archivist

in Automation
 5k    0    1    0  

OneDev

in Project Management
 3k    0    0    0  

iodine

in Proxy
 3k    0    0    0  

Alf.io

in Booking and Scheduling
 3k    0    0    0  

sysPass

in Password Managers
 2k    0    0    0  

Misskey

in Social Networks and Forums
 3k    0    0    0  
pCloud Lifetime

Top Rated Projects

Gitea

 1 rating
in Project Management

Bagisto

 1 rating
in E-commerce

LinkAce

 1 rating
in Bookmarks and Link Sharing

Pydio

 1 rating
in File Transfer & Synchronization

Audiobookshelf

 1 rating
in Audio Streaming

Nextcloud

 1 rating
in File Transfer & Synchronization

Seafile

 1 rating
in File Transfer & Synchronization

Categories

You May Also Be Interested In

Bubo Reader logo
Bubo Reader cover

Bubo Reader

Open source, "irrationally minimal" RSS feed reader.

PolitePol logo
PolitePol cover

PolitePol

Online tool for creation of RSS feeds for any web page.

Leed logo
Leed cover

Leed

Leed (for Light Feed) is a Free and minimalist RSS aggregat…