Well I like reading tech, this involves subscribing to newsletters & listening to various podcasts.
But the only problem with this is that all of this is distributed causing me to waste my time by installing various apps (which I open only once per day, No hard feelings for DEV, I ❤️ it) & subscribing to a number of newsletters.
Well of course you have feedly but hey its not free right ?
That's why I thought of creating a FOSS alternative which is
- Simple Enough to use (Minimal UI)
- Is available for multiple clients (PWA & CLI for terminal lovers)
- Can show me information while I'm travelling
- Read & Share Stories
- Dark Mode *
- Minimal UI
- Filter Feed
Is that it ?
defe is a package, so you can make Bots 🤖 using it.
from defe import defe import pprint f = defe.feed() pprint.pprint(f.news())
This will print all the News from available News Feeders. You can read the documentation on how to use the package.
The architecture is fairly simple
Multiple feeders are fetched at the same time using
ThreadPoolExecutor() & are kept in a cache.
Feeders are web-sources which have a public feed (RSS/Atom) link
You can have a look at all the feeders here.
Let's say you request
/news or run
defe news (on CLI) all the available feeders under News category would be fetched simultaneously and are pushed in a disk based cache, subsequent requests will come from this cache.
For now the cache expiry time-limit is set to 1 hr by default (future releases might have a option to clear cache manually)
I used the following stack to build defe
Few pre-built libraries/components which helped me build defe
- MaterialzeCSS For the front-end of WebApp
- feedparser For parsing RSS/Atom feeds of web sources.
- diskcache Used for temporarily storing feeds for faster access.
Here is a demo for the defe CLI
And the WebApp Looks like
I still have a lot of ideas to improve defe, but not all of it I can do alone, I require your help ❤️
Feel free to contribute at
You can also request feeders by commenting your favourite sites below
or add them yourself
Some of the things I wish to implement in future
- Push Notifications
- Bookmark Stories
- Play Podcasts right in terminal (for defe CLI)
- Custom Feeds
You can have a look at projects board for more upcoming features in defe.