https://github.com/twm/yarrharr
Yarrharr Feed Reader
https://github.com/twm/yarrharr
feed-reader python3 rss-aggregator twisted
Last synced: 3 months ago
JSON representation
Yarrharr Feed Reader
- Host: GitHub
- URL: https://github.com/twm/yarrharr
- Owner: twm
- License: gpl-3.0
- Created: 2013-09-01T02:36:41.000Z (over 12 years ago)
- Default Branch: trunk
- Last Pushed: 2026-01-02T09:55:30.000Z (4 months ago)
- Last Synced: 2026-01-08T00:50:41.211Z (4 months ago)
- Topics: feed-reader, python3, rss-aggregator, twisted
- Language: Python
- Homepage:
- Size: 4.33 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# Yarrharr
Yarrharr is a simple web-based feed reader intended for self-hosting.
## Project Status
This is a personal passion project and learning tool.
I’m not looking for collaborators.
It’s implemented as a [Django](https://www.djangoproject.com/) app served via [Twisted](https://twisted.org/).
The frontend is mostly static HTML with a few web components for in-page interactivity.
Yarrharr isn’t ready for you to use it, and probably won't be any time soon.
The [1.0 milestone](https://github.com/twm/yarrharr/milestone/1) tracks whether the project is ready for general use.
## Development
Yarrharr is a Python application, but also a modern web app, so its dependencies are numerous.
The following steps work on Ubuntu 20.04; some modification may be necessary for Debian.
The [conventions document](./conventions.md) describes some idioms used in the codebase.
### Get the Source and Dependencies
Grab the build dependencies with:
$ sudo apt install brotli inkscape git scour python3-dev build-essential
[Install uv](https://docs.astral.sh/uv/getting-started/installation/).
[Install Just](https://just.systems/man/en/), probaby via Cargo.
Check out the repository:
$ git checkout https://github.com/twm/yarrharr.git
$ cd yarrharr
### Running the Django Development Server
Run the Django development server via Tox with:
$ just devserver
The Django dev server is running at [http://127.0.0.1:8888/](http://127.0.0.1:8888/).
If you make changes to the Django models you can generate migrations by running::
$ just makemigrations
If you wish to check feeds for updates:
$ just poll-feeds
By default, polling for feeds will only poll feeds that have been scheduled to be checked.
To schedule an immediate check of all feeds:
$ just force-poll
## Running the `yarrharr` Executable
To run the `yarrharr` Twisted executable in a development, stop the Django dev server and run:
$ just realserver
Yarrharr is running at [http://127.0.0.1:8888/](http://127.0.0.1:8888/).
## Releasing Yarrharr
$ just release
## License
Copyright © 2013–2025 Tom Most
This program is free software; you can redistribute it and/or modify it under
the terms of the [GNU General Public License](./COPYING) as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program; if not, see .