{"id":27646186,"url":"https://github.com/fbarffmann/python-api-challenge","last_synced_at":"2026-05-10T03:16:55.732Z","repository":{"id":242929555,"uuid":"810966428","full_name":"fbarffmann/python-api-challenge","owner":"fbarffmann","description":"Accessed and analyzed real-world weather and location data using Python and public APIs. Automated data collection, cleaned API responses, and visualized geographic trends to support business-ready insights.","archived":false,"fork":false,"pushed_at":"2025-04-13T13:16:12.000Z","size":4081,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-19T02:41:33.247Z","etag":null,"topics":["api","automation","data-analysis","data-visualization","google-places-api","mapping","openweathermap-api","pandas","python","weather-analysis"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fbarffmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-06-05T17:27:48.000Z","updated_at":"2025-04-13T13:27:04.000Z","dependencies_parsed_at":"2025-04-24T01:17:25.543Z","dependency_job_id":"d3132e21-748a-4083-9232-e032c916b6b2","html_url":"https://github.com/fbarffmann/python-api-challenge","commit_stats":null,"previous_names":["fbarffmann/python-api-challenge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fbarffmann/python-api-challenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarffmann%2Fpython-api-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarffmann%2Fpython-api-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarffmann%2Fpython-api-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarffmann%2Fpython-api-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fbarffmann","download_url":"https://codeload.github.com/fbarffmann/python-api-challenge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarffmann%2Fpython-api-challenge/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266404941,"owners_count":23923491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["api","automation","data-analysis","data-visualization","google-places-api","mapping","openweathermap-api","pandas","python","weather-analysis"],"created_at":"2025-04-24T01:17:23.133Z","updated_at":"2026-05-10T03:16:55.691Z","avatar_url":"https://github.com/fbarffmann.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python API Challenge\n\nThis project demonstrates API access, data cleaning, analysis, and visualization using Python. The challenge was divided into two parts: analyzing weather data across global cities and visualizing vacation data based on weather preferences.\n\n---\n\n## Project Overview\n\n### Part 1: WeatherPy\n\nCollected and analyzed weather data from 500+ cities using OpenWeatherMap API.\n\n#### Analysis Included:\n- Temperature (Max)\n- Humidity\n- Cloudiness\n- Wind Speed\n- Geolocation (Latitude vs Weather Metrics)\n\n#### Deliverables:\n- API call automation to retrieve weather data\n- Cleaned and transformed data into structured DataFrames\n- Visualized relationships between latitude and weather conditions\n- Exported data and visualizations for reporting\n\n---\n\n### Part 2: VacationPy\n\nLeveraged weather data to identify ideal vacation destinations based on:\n- Preferred temperature ranges\n- Low humidity\n- Clear weather conditions\n\n#### Deliverables:\n- Used Google Places API to locate hotels near ideal cities\n- Visualized results on heatmaps and marker layers using Jupyter Notebooks and Matplotlib Basemap\n- Created dynamic visualizations for client-ready deliverables\n\n---\n\n## Tools \u0026 Technologies Used\n\n- Python 3.x\n- Jupyter Notebooks\n- Pandas\n- Matplotlib\n- OpenWeatherMap API\n- Google Places API\n- Requests Library\n- CSV File Handling\n- API Key Management\n- Data Visualization\n\n---\n\n## File Structure\n\n```text\nWeatherPy/\n├── WeatherPy.ipynb - API access, weather data analysis, visualizations\n├── VacationPy.ipynb - Hotel search and vacation mapping\n├── api_keys.py - API key storage (excluded from GitHub)\n├── output_data/\n│   ├── cities.csv - Cleaned weather data\n│   ├── Fig1.png - Latitude vs Max Temp\n│   ├── Fig2.png - Latitude vs Humidity\n│   ├── Fig3.png - Latitude vs Cloudiness\n│   └── Fig4.png - Latitude vs Wind Speed\n```\n\n---\n\n## Skills Demonstrated\n\n- Accessing and using public APIs\n- Automating data collection\n- Data cleaning and transformation with Pandas\n- Visualizing geographic data trends\n- Using Python to generate client-friendly reports\n- Handling API keys securely\n- Mapping data visually for business storytelling\n\n---\n\n## Key Takeaways\n\n- Developed a repeatable process for data extraction from APIs.\n- Learned how to clean and organize real-world messy API data.\n- Used Python visualizations to support business-relevant recommendations.\n- Strengthened skills in automating data analysis pipelines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbarffmann%2Fpython-api-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffbarffmann%2Fpython-api-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbarffmann%2Fpython-api-challenge/lists"}