{"id":18369554,"url":"https://github.com/henriqueotogami/app-previsao-tempo-python","last_synced_at":"2026-02-16T02:32:40.767Z","repository":{"id":50145107,"uuid":"271173175","full_name":"henriqueotogami/App-Previsao-Tempo-Python","owner":"henriqueotogami","description":"Back-end do projeto de aplicativo de Previsão do Tempo, do curso de Python 3 na Udemy.","archived":false,"fork":false,"pushed_at":"2025-03-04T05:36:18.000Z","size":10628,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-04T06:28:56.854Z","etag":null,"topics":["accuweather","api","geoplugin","json","mapbox","python3"],"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/henriqueotogami.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}},"created_at":"2020-06-10T03:49:15.000Z","updated_at":"2025-03-04T05:36:22.000Z","dependencies_parsed_at":"2024-11-05T23:32:02.264Z","dependency_job_id":"f9ea4e52-915c-4daf-8b8b-caf707daaaae","html_url":"https://github.com/henriqueotogami/App-Previsao-Tempo-Python","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2FApp-Previsao-Tempo-Python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2FApp-Previsao-Tempo-Python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2FApp-Previsao-Tempo-Python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2FApp-Previsao-Tempo-Python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henriqueotogami","download_url":"https://codeload.github.com/henriqueotogami/App-Previsao-Tempo-Python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248281424,"owners_count":21077423,"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","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":["accuweather","api","geoplugin","json","mapbox","python3"],"created_at":"2024-11-05T23:29:46.670Z","updated_at":"2026-02-16T02:32:40.762Z","avatar_url":"https://github.com/henriqueotogami.png","language":"Python","funding_links":["https://ko-fi.com/seu_usuario"],"categories":[],"sub_categories":[],"readme":"# App de Previsão do Tempo - Python\n\n\u003e Aplicação de previsão do tempo desenvolvida como back-end do curso de Python 3 na Udemy (Junho/2020), utilizando APIs de geolocalização e clima.\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/release-date/henriqueotogami/App-Previsao-Tempo-Python\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/henriqueotogami/App-Previsao-Tempo-Python\"\u003e\n\u003cimg src=\"https://img.shields.io/github/issues/henriqueotogami/App-Previsao-Tempo-Python\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/forks/henriqueotogami/App-Previsao-Tempo-Python?style=flat\"\u003e\n\u003cimg src=\"https://img.shields.io/github/stars/henriqueotogami/App-Previsao-Tempo-Python?style=flat\"\u003e\n\u003cimg src=\"https://img.shields.io/github/license/henriqueotogami/App-Previsao-Tempo-Python\"\u003e\n\u003c/div\u003e\n\n---\n\n## 📋 Sobre o Projeto\n\nEste projeto contém uma aplicação em Python para consulta de previsão do tempo, desenvolvida durante o curso de Python 3 na Udemy. Os scripts consomem APIs externas para obter localização (por IP ou por nome da cidade), clima atual e previsão para cinco dias. O código inclui versões progressivas das aulas (clima atual, previsão 5 dias e pesquisa por local).\n\n**Professor do curso:** Ivan Lourenço Gomes.\n\n## 📁 Estrutura do Projeto\n\n### Scripts por funcionalidade\n\n| Arquivo | Descrição |\n|--------|-----------|\n| **Aula30 - Previsao Atual.py** | Clima atual com base na localização do IP |\n| **Aula37 - Previsao 5 Dias.py** | Clima atual + previsão para 5 dias (localização por IP) |\n| **Aula43-Pesquisa-do-Local.py** | Aplicação completa: IP + 5 dias + busca por cidade e Estado |\n\n### Estrutura do repositório\n\n```\nLICENSE\nREADME.md\nrequirements.txt\nAula30 - Previsao Atual.py    # clima atual (IP)\nAula37 - Previsao 5 Dias.py   # clima atual + 5 dias (IP)\nAula43-Pesquisa-do-Local.py   # app completo com busca por cidade\n```\n\n## 🛠️ Tecnologias Utilizadas\n\n- **Python 3** — Linguagem de programação\n- **requests** — Requisições HTTP às APIs\n- **Geoplugin** — Geolocalização por IP (latitude/longitude)\n- **AccuWeather** — Condições atuais e previsão (geoposition, currentconditions, forecasts)\n- **Mapbox** — Geocoding (busca por nome da cidade e Estado)\n\n## 📝 APIs Utilizadas\n\n| API | Uso |\n|-----|-----|\n| **Geoplugin** (JSON) | Obter latitude e longitude a partir do IP |\n| **AccuWeather – geoposition** | Obter código do local a partir de lat/long |\n| **AccuWeather – currentconditions** | Clima atual pelo código do local |\n| **AccuWeather – forecasts** | Previsão para 5 dias |\n| **Mapbox – geocoding** | Coordenadas a partir de cidade e Estado |\n\n## 🚀 Como Executar\n\n### 1. Clonar e entrar no projeto\n\n```bash\ngit clone https://github.com/henriqueotogami/App-Previsao-Tempo-Python.git\ncd App-Previsao-Tempo-Python\n```\n\n### 2. Criar ambiente virtual (recomendado)\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate   # Linux/macOS\n# ou: venv\\Scripts\\activate  # Windows\n```\n\n### 3. Instalar dependências\n\n```bash\npip install -r requirements.txt\n```\n\n### 4. Configurar chaves de API\n\nNos arquivos `.py`, substitua:\n\n- `accuweatherAPIKey = 'INSERT YOUR KEY HERE'` pela sua chave em [AccuWeather](https://developer.accuweather.com/).\n- No **Aula43-Pesquisa-do-Local.py**: `mapboxToken = \"INSERT YOUR MAPBOX TOKEN HERE\"` pelo seu token em [Mapbox](https://www.mapbox.com/).\n\n### 5. Executar\n\n```bash\n# Clima atual (localização por IP)\npython \"Aula30 - Previsao Atual.py\"\n\n# Clima atual + previsão 5 dias (localização por IP)\npython \"Aula37 - Previsao 5 Dias.py\"\n\n# App completo (IP + 5 dias + busca por cidade e Estado)\npython Aula43-Pesquisa-do-Local.py\n```\n\n## ⚙️ Como Funciona\n\n### Fluxo geral (Aula43 – versão completa)\n\n1. **Localização inicial:** Requisição ao Geoplugin retorna latitude e longitude do IP.\n2. **Código do local:** AccuWeather (geoposition) devolve o código e nome do local.\n3. **Clima atual:** AccuWeather (currentconditions) retorna condição e temperatura.\n4. **Previsão 5 dias:** AccuWeather (forecasts) retorna mínima, máxima e descrição por dia.\n5. **Busca por cidade:** O usuário informa cidade e Estado; Mapbox (geocoding) retorna coordenadas; em seguida repete-se o fluxo AccuWeather (passos 2–4).\n\n### Funções principais (Aula37 / Aula43)\n\n- `pegarCoordenadas()` — Coordenadas via Geoplugin (IP).\n- `pegarCodigoLocal(lat, long)` — Código e nome do local no AccuWeather.\n- `pegarTempoAgora(codigoLocal, nomeLocal)` — Condição e temperatura atuais.\n- `pegarPrevisao5Dias(codigoLocal)` — Previsão diária (mín, máx, descrição).\n- `pesquisarLocal(local)` — (Aula43) Coordenadas via Mapbox a partir de texto (cidade/Estado).\n\n## 📚 Conteúdos Abordados\n\n- Requisições HTTP em Python (`requests`)\n- Leitura e manipulação de JSON\n- Tratamento de erros e códigos de status\n- Organização em funções reutilizáveis\n- Uso de APIs REST (geolocalização e clima)\n- Entrada do usuário e fluxo interativo (previsão 5 dias, busca por cidade)\n\n## 📄 Licença\n\nEste projeto está licenciado sob a MIT License — veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n\n## 📖 Referências\n\n- Curso Python 3 — Udemy (Prof. Ivan Lourenço Gomes)\n- [Geoplugin](http://www.geoplugin.net/) — API de geolocalização por IP\n- [AccuWeather API](https://developer.accuweather.com/) — Clima e previsão\n- [Mapbox Geocoding](https://docs.mapbox.com/api/search/geocoding/) — Busca por endereço/local\n\n---\n\n\u003cimg width=\"auto\" src=\"https://github.com/henriqueotogami/App-Previsao-Tempo-Python/blob/master/Weather-App.png?raw=true\"\u003e\n\n\u003cbr\u003e\n\n\u003cimg width=\"auto\" src=\"https://github.com/henriqueotogami/App-Previsao-Tempo-Python/blob/master/App-Weather.gif?raw=true\"\u003e\n\n---\n\n### Hashtags\n\n#Python #PrevisaoTempo #WeatherApp #API #AccuWeather #Mapbox #Geoplugin #REST #OpenSource #GitHub #Udemy #Programming #Geolocalizacao #Clima\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://ko-fi.com/seu_usuario\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.ko-fi.com/cdn/kofi3.png?v=3\" alt=\"Buy Me a Coffee at ko-fi.com\" width=\"200\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n**Desenvolvido por Henrique Matheus Alves Pereira**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Fapp-previsao-tempo-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenriqueotogami%2Fapp-previsao-tempo-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Fapp-previsao-tempo-python/lists"}