{"id":51005494,"url":"https://github.com/ibnu-umer/tech-pulse","last_synced_at":"2026-06-20T20:02:10.127Z","repository":{"id":318861178,"uuid":"1076749008","full_name":"ibnu-umer/tech-pulse","owner":"ibnu-umer","description":"Async-powered tech aggregator fetching real-time trends from GitHub, Reddit, and News APIs.","archived":false,"fork":false,"pushed_at":"2025-10-15T09:54:43.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-16T01:51:35.325Z","etag":null,"topics":["aiohttp","api-aggregator","async","portfolio","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ibnu-umer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-15T09:39:31.000Z","updated_at":"2025-10-15T09:49:17.000Z","dependencies_parsed_at":"2025-10-16T21:38:45.573Z","dependency_job_id":null,"html_url":"https://github.com/ibnu-umer/tech-pulse","commit_stats":null,"previous_names":["ibnu-umer/tech-pulse"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ibnu-umer/tech-pulse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnu-umer%2Ftech-pulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnu-umer%2Ftech-pulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnu-umer%2Ftech-pulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnu-umer%2Ftech-pulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibnu-umer","download_url":"https://codeload.github.com/ibnu-umer/tech-pulse/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibnu-umer%2Ftech-pulse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34583589,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiohttp","api-aggregator","async","portfolio","python"],"created_at":"2026-06-20T20:02:00.855Z","updated_at":"2026-06-20T20:02:10.114Z","avatar_url":"https://github.com/ibnu-umer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡ TechPulse — Async Tech Intelligence Aggregator\n\n\u003e A fast, asynchronous Python tool that aggregates **real-time tech news, Reddit discussions, and GitHub trends** for your chosen topics — all in one place.\n\n\n## 🧠 Overview\n\nTechPulse solves a simple but painful problem:\nTech professionals waste time jumping across News sites, Reddit, and GitHub to figure out what’s trending.\nTechPulse automates that — fetching, filtering, and summarizing everything **concurrently** using `asyncio` and `aiohttp`.\n\nYou give it a few topics, it gives you a **real-time tech pulse report**.\n\n\n## 🚀 Example Usage\n\n```bash\npython main.py --topics \"AI, Python, Tesla\" --limit 5\n```\n\n### Output\n**📊 TechPulse Report**\n\n🔹 AI\n  - 📰 OpenAI launches GPT-6 — https://newsapi.org/...\n  - 💬 Reddit: \"Prompt Engineering is Dead\" — 2.3k upvotes\n  - 💻 GitHub: huggingface/transformers — 125k ⭐\n\n🔹 Python\n  - 📰 Python 3.13 Released — https://gnews.io/...\n  - 💻 GitHub: fastapi/fastapi — 75k ⭐\n\n\n## 🧩 Features\n  - 🔄 Async fetching from multiple APIs in parallel\n  - 📰 Aggregates data from NewsAPI, Reddit, GitHub\n  - ⚙️ Configurable topics and limits via CLI\n  - 💾 Exports results as structured JSON\n  - 🧠 Easily extendable (add more sources or processing layers)\n\n\n## ⚙️ Tech Stack\n\n| Component | Purpose |\n|------------|----------|\n| `asyncio` | Core async orchestration |\n| `aiohttp` | Non-blocking HTTP client |\n| `requests` | For any blocking fallback APIs |\n| `argparse` | CLI argument handling |\n| `json`, `pathlib` | Data formatting \u0026 output |\n\n\n## 🧱 Project Structure\n\n```plaintext\ntechpulse/\n├── main.py\n├── core/\n│   ├── fetcher.py        # Manages concurrent API calls\n│   ├── processor.py      # Cleans + merges responses\n│   ├── reporter.py       # Formats console + JSON output\n├── apis/\n│   ├── news_api.py\n│   ├── reddit_api.py\n│   └── github_api.py\n└── output/\n    └── report.json\n```\n\n\n## 🔑 Setup\n\n### 1. Clone the repo\n```bash\ngit clone https://github.com/yourusername/techpulse.git\ncd techpulse\n```\n\n### 2. Install dependencies\n```bash\npip install -r requirements.txt\n```\n\n### 3. Add API Keys\nCreate a .env file and set:\n```bash\nNEWS_API_KEY=your_api_key_here\nGITHUB_TOKEN=optional_token_here\n(Reddit uses public endpoints; no auth needed for now.)\n```\n\n### 4. Run it\n```bash\npython main.py --topics \"AI, Tesla\"\n```\n\n\n## 📦 Output\n- Console summary (pretty printed)\n- JSON report at /output/report.json\n\n\n## 🧭 Roadmap\n - Add YouTube API integration\n - Add Hacker News scraper\n - Add async caching layer\n - Add sentiment analysis on Reddit discussions\n - Add Slack/email notifications\n\n\n## 🧠 Author\nTechPulse — built for developers who want the world’s tech chatter at a glance.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibnu-umer%2Ftech-pulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibnu-umer%2Ftech-pulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibnu-umer%2Ftech-pulse/lists"}