https://github.com/ibnu-umer/tech-pulse
Async-powered tech aggregator fetching real-time trends from GitHub, Reddit, and News APIs.
https://github.com/ibnu-umer/tech-pulse
aiohttp api-aggregator async portfolio python
Last synced: 4 days ago
JSON representation
Async-powered tech aggregator fetching real-time trends from GitHub, Reddit, and News APIs.
- Host: GitHub
- URL: https://github.com/ibnu-umer/tech-pulse
- Owner: ibnu-umer
- License: mit
- Created: 2025-10-15T09:39:31.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-10-15T09:54:43.000Z (8 months ago)
- Last Synced: 2025-10-16T01:51:35.325Z (8 months ago)
- Topics: aiohttp, api-aggregator, async, portfolio, python
- Language: Python
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# β‘ TechPulse β Async Tech Intelligence Aggregator
> A fast, asynchronous Python tool that aggregates **real-time tech news, Reddit discussions, and GitHub trends** for your chosen topics β all in one place.
## π§ Overview
TechPulse solves a simple but painful problem:
Tech professionals waste time jumping across News sites, Reddit, and GitHub to figure out whatβs trending.
TechPulse automates that β fetching, filtering, and summarizing everything **concurrently** using `asyncio` and `aiohttp`.
You give it a few topics, it gives you a **real-time tech pulse report**.
## π Example Usage
```bash
python main.py --topics "AI, Python, Tesla" --limit 5
```
### Output
**π TechPulse Report**
πΉ AI
- π° OpenAI launches GPT-6 β https://newsapi.org/...
- π¬ Reddit: "Prompt Engineering is Dead" β 2.3k upvotes
- π» GitHub: huggingface/transformers β 125k β
πΉ Python
- π° Python 3.13 Released β https://gnews.io/...
- π» GitHub: fastapi/fastapi β 75k β
## π§© Features
- π Async fetching from multiple APIs in parallel
- π° Aggregates data from NewsAPI, Reddit, GitHub
- βοΈ Configurable topics and limits via CLI
- πΎ Exports results as structured JSON
- π§ Easily extendable (add more sources or processing layers)
## βοΈ Tech Stack
| Component | Purpose |
|------------|----------|
| `asyncio` | Core async orchestration |
| `aiohttp` | Non-blocking HTTP client |
| `requests` | For any blocking fallback APIs |
| `argparse` | CLI argument handling |
| `json`, `pathlib` | Data formatting & output |
## π§± Project Structure
```plaintext
techpulse/
βββ main.py
βββ core/
β βββ fetcher.py # Manages concurrent API calls
β βββ processor.py # Cleans + merges responses
β βββ reporter.py # Formats console + JSON output
βββ apis/
β βββ news_api.py
β βββ reddit_api.py
β βββ github_api.py
βββ output/
βββ report.json
```
## π Setup
### 1. Clone the repo
```bash
git clone https://github.com/yourusername/techpulse.git
cd techpulse
```
### 2. Install dependencies
```bash
pip install -r requirements.txt
```
### 3. Add API Keys
Create a .env file and set:
```bash
NEWS_API_KEY=your_api_key_here
GITHUB_TOKEN=optional_token_here
(Reddit uses public endpoints; no auth needed for now.)
```
### 4. Run it
```bash
python main.py --topics "AI, Tesla"
```
## π¦ Output
- Console summary (pretty printed)
- JSON report at /output/report.json
## π§ Roadmap
- Add YouTube API integration
- Add Hacker News scraper
- Add async caching layer
- Add sentiment analysis on Reddit discussions
- Add Slack/email notifications
## π§ Author
TechPulse β built for developers who want the worldβs tech chatter at a glance.