{"id":28339506,"url":"https://github.com/andredisa/pythondevhub","last_synced_at":"2026-04-29T08:32:54.835Z","repository":{"id":288028551,"uuid":"966126681","full_name":"andredisa/PythonDevHub","owner":"andredisa","description":"🐍  This repository includes three command-line tools that integrate with real-world APIs to fetch data, visualize it, and interact with the user through practical examples. ","archived":false,"fork":false,"pushed_at":"2025-05-23T06:36:29.000Z","size":45,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T09:44:11.907Z","etag":null,"topics":["api","educational-project","matplotlib-python","newsapi","openrouteservice","openstreetmap","openwheatherapi","projects","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/andredisa.png","metadata":{"files":{"readme":"README.md","changelog":"newsApi/README.md","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}},"created_at":"2025-04-14T12:50:45.000Z","updated_at":"2025-05-23T06:36:33.000Z","dependencies_parsed_at":"2025-04-15T07:40:38.915Z","dependency_job_id":"d5e3395f-0c90-48b2-8b85-bcf4fe55597b","html_url":"https://github.com/andredisa/PythonDevHub","commit_stats":null,"previous_names":["andredisa/pythondevhub"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andredisa/PythonDevHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andredisa%2FPythonDevHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andredisa%2FPythonDevHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andredisa%2FPythonDevHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andredisa%2FPythonDevHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andredisa","download_url":"https://codeload.github.com/andredisa/PythonDevHub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andredisa%2FPythonDevHub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32417601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["api","educational-project","matplotlib-python","newsapi","openrouteservice","openstreetmap","openwheatherapi","projects","python"],"created_at":"2025-05-27T01:43:47.866Z","updated_at":"2026-04-29T08:32:54.830Z","avatar_url":"https://github.com/andredisa.png","language":"Python","funding_links":["https://www.buymeacoffee.com/andredisa"],"categories":[],"sub_categories":[],"readme":"# 🐍 Python API Projects Collection\n\nWelcome to my collection of **Python projects**! 🎓\n\n\u003e This repository includes three command-line tools that integrate with real-world APIs to fetch data, visualize it, and interact with the user through practical examples. Each project focuses on a specific domain — **news**, **travel**, and **finance** — and is ideal for learning how to work with APIs, parse JSON, and organize Python code.\n\n---\n\n## 📦 Project Overview\n\n### 1. 📰 News Aggregator  \n**Folder:** `newsApi/`\n\nFetch and explore the latest headlines from around the world using the [NewsAPI.org](https://newsapi.org/) service.\n\n- 🌍 Top headlines by country or language  \n- 🔍 Keyword or topic search  \n- 📅 Filter by date range  \n- 🌟 Sort by popularity or domain  \n- 📖 View full article content  \n\n\u003e 🔧 Technologies: **Python 3**, `requests`, **NewsAPI**\n\n\u003e 📌 Concepts: `REST API`, `HTTP parameters`, `JSON parsing`, `OOP`, `CLI`\n\n---\n\n### 2. 🌍 Route Planner + Weather Forecast  \n**Folder:** `calcKmPrevisione/`\n\nPlan a multi-stop trip and get live weather info at each destination. Calculates distance and estimated travel time.\n\n- 🗺️ Add and validate multiple locations  \n- 🧭 Calculates distances and travel time between stops  \n- 🌦️ Fetches current weather using OpenWeatherMap  \n- 🔁 Ensures at least two locations before building a route  \n- 📈 Displays totals at the end  \n\n\u003e 🔧 Technologies: **Python 3**, `requests`, `OpenStreetMap`, `OpenRouteService`, `OpenWeatherMap`\n\n\u003e 📌 Concepts: `Multi-API integration`, `modular Python`, `data aggregation`, `CLI input`\n\n---\n\n### 3. 📈 Stock Price Visualizer  \n**Folder:** `graficoFinanza/`\n\nVisualize a stock’s daily **Open** and **Close** prices for a selected month and year with a beautiful line graph.\n\n- 🗓️ User input for month, year, and stock symbol  \n- 📊 Graphs daily Open/Close prices  \n- ✅ Validates stock symbols and dates  \n- 🔒 API key handled via config file  \n- 🖼️ Line plot with `matplotlib`  \n\n\u003e 🔧 Technologies: **Python 3**, `matplotlib`, `requests`, **Polygon.io**\n\n\u003e 📌 Concepts: `API interaction`, `data visualization`, `OOP`, `config management`\n\n---\n\n## 🎓 Shared Learning Objectives\n\nEach project is designed to help you:\n\n- ✅ Understand and integrate REST APIs  \n- 🧾 Parse and process JSON responses  \n- 🧱 Structure Python projects using classes and modules  \n- 📊 Visualize or display real-world data  \n- 🧠 Handle user input in CLI environments  \n\n---\n\n## 🛠️ Setup Instructions\n\n\u003e Each project is standalone. Follow individual project READMEs for detailed API setup and usage.\n\n### 🔃 Common Dependencies\n\nInstall core dependencies using:\n\n```bash\npip install requests matplotlib\n```\n\n**⚠️ Note: You’ll need to get free API keys from the respective services (NewsAPI, OpenWeatherMap, OpenRouteService, Polygon.io) and add them in config files or directly in the code (as instructed).**\n\n---\n\n## 🚀 Ideas for Future Improvements\n- 🖼️ Add GUI versions with Tkinter or Flask\n\n- 💾 Save outputs (JSON, text, plots) to local files\n\n- 🔐 Move API keys to .env and use python-dotenv\n\n- 🧪 Add unit tests for key components\n\n- 🌐 Convert CLI projects into web apps\n\n---\n\n## ⚠️ Disclaimer\n`These projects are for educational purposes only. Data may be subject to rate limits and may not be suitable for real-time or commercial use.`\n\n---\n\n## ☕ Support Me\n\nIf you find my work useful and would like to support me, you can buy me a coffee! Your support helps me keep creating and improving my projects. Thank you! 😊\n\n\u003ca href=\"https://www.buymeacoffee.com/andredisa\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\n---\n\n### 👨‍💻 Happy coding and have fun exploring APIs with Python!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandredisa%2Fpythondevhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandredisa%2Fpythondevhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandredisa%2Fpythondevhub/lists"}