defe - All your tech updates at one place
TLDR;
I created defe (devfeed), a WebApp & CLI for aggregating popular โTechโ feeds for developers & Tech Enthusiasts
Why did I built this ยฏ\_(ใ)_/ยฏ
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) & 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
Features โจ
- PWA
- Read & Share Stories
- Dark Mode *
- Minimal UI
- CLI
- Filter Feed
Is that it ?
No
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.
How its built ๐ค
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
- Python
- JavaScript
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.
How it looks :fire:
Here is a demo for the defe CLI
And the WebApp Looks like
Contribute ๐ค
I still have a lot of ideas to improve defe, but not all of it I can do alone, I require your help :heart: Feel free to contribute at
You can also request feeders by commenting your favourite sites below or add them yourself
Future Visions ๐
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.
Feedback ๐ญ
Did you like defe ? or maybe its something you want to say, comment below You can reach me directly at Telegram | Twitter | E-mail