Metadata-Version: 2.1
Name: reader
Version: 1.9
Summary: A minimal feed reader library.
Home-page: https://github.com/lemon24/reader
Author: lemon24
License: BSD
Project-URL: Documentation, https://reader.readthedocs.io/
Project-URL: Code, https://github.com/lemon24/reader
Project-URL: Issue tracker, https://github.com/lemon24/reader/issues
Description: .. begin-intro
        
        **reader** is a Python feed reader library.
        
        *reader* can be used to retrieve, store, and manage Atom and RSS feeds.
        It is designed to allow writing feed reader applications
        without any business code,
        and without enforcing a dependency on a particular framework.
        
        
        .. end-intro
        
        
        |build-status-travis| |build-status-github| |code-coverage| |documentation-status| |pypi-status| |type-checking| |code-style|
        
        .. |build-status-travis| image:: https://travis-ci.com/lemon24/reader.svg?branch=master
          :target: https://travis-ci.com/lemon24/reader
          :alt: build status (Travis CI)
        
        .. |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/github/lemon24/reader/coverage.svg?branch=master
          :target: https://codecov.io/github/lemon24/reader?branch=master
          :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
        
        
        Features:
        
        .. begin-features
        
        * Stand-alone library with stable, clearly documented API, and excellent test coverage.
        * Full-text search.
        * User-defined feed tags and metadata.
        * Feed and entry filtering.
        * Minimal web interface that works even with text-only browsers.
        
          * ... with automatic tag fixing for podcasts (MP3 enclosures).
        
        * (Some) plugin support.
        
        .. end-features
        
        
        Documentation: `reader.readthedocs.io`_
        
        .. _reader.readthedocs.io: https://reader.readthedocs.io/
        
        
        Usage:
        
        .. begin-usage
        
        .. code-block:: bash
        
            $ pip install reader[search]
        
        .. 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_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.enable_search()
            >>> reader.update_search()
            >>>
            >>> for e in list(reader.search_entries('year'))[: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
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
Provides-Extra: search
Provides-Extra: cli
Provides-Extra: app
Provides-Extra: plugins
Provides-Extra: enclosure-tags
Provides-Extra: preview-feed-list
Provides-Extra: dev
Provides-Extra: docs
