reader
reader copied to clipboard
A Python feed reader library.
A database with ~3000 entries takes about 21M, which is perfectly acceptable. However, at the moment there is no way to remove old entries, and the database can grow arbitrarily.
Could show it in a block quote before the main content. Not as easy as that, though: * some entries only have a summary (no content) * some entries have...
CI hangs (or takes very long – even hours) on PyPy. Examples: [one](https://github.com/lemon24/reader/runs/8292735662), [two](https://github.com/lemon24/reader/actions/runs/3032438516). The cause may be test_update_hook_unexpected_exception, added in https://github.com/lemon24/reader/commit/f81aaee1733b9cd552fb89dbf0611f7d23b23ada (or some interaction of it with PyPy/pytest/coverage); commits...
They should likely be moved to an "Archived" feed (mentioned in https://github.com/lemon24/reader/issues/96#issuecomment-460077441). * Old entries in the archived feed should not be deleted (by #96); if they remain important, they...
This is to track all the backwards compatibility breaks we want to do in 4.0. Things that require deprecation warnings pre-4.0: * [ ] remove EntryCounts.averages (once a replacement exists;...
Two semi-related ideas: 1. (from [One process programming...](https://crawshaw.io/blog/one-process-programming-notes)) Split the FTS table into a separate, ATTACH-ed database. * Pro: Actual data is separated from transient data (mainly useful for backups)....
Allow making a read-only Reader. This is useful at least during debugging, to prevent accidentally changing an old database in any way (including migrations). This should use the lowest-level mechanism...
It would be nice if the [mark-as-read](https://reader.readthedocs.io/en/latest/plugins.html#reader-mark-as-read) plugin would allow matching the current rules against *existing* entries in a feed, and not only new ones. Two ways the user could...
https://pluggy.readthedocs.io/ Pros: * widely used (pytest, tox, datasette) * standardization * validation (all hooks have specs, argument names) * opt-in arguments, deprecations (API evolution) * discovery (via setuptools entry points)...