Skip to content

Repository files navigation

App de Previsão do Tempo - Python

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.


GitHub last commit


📋 Sobre o Projeto

Este 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).

Professor do curso: Ivan Lourenço Gomes.

📁 Estrutura do Projeto

Scripts por funcionalidade

Arquivo Descrição
Aula30 - Previsao Atual.py Clima atual com base na localização do IP
Aula37 - Previsao 5 Dias.py Clima atual + previsão para 5 dias (localização por IP)
Aula43-Pesquisa-do-Local.py Aplicação completa: IP + 5 dias + busca por cidade e Estado

Estrutura do repositório

LICENSE
README.md
requirements.txt
Aula30 - Previsao Atual.py    # clima atual (IP)
Aula37 - Previsao 5 Dias.py   # clima atual + 5 dias (IP)
Aula43-Pesquisa-do-Local.py   # app completo com busca por cidade

🛠️ Tecnologias Utilizadas

  • Python 3 — Linguagem de programação
  • requests — Requisições HTTP às APIs
  • Geoplugin — Geolocalização por IP (latitude/longitude)
  • AccuWeather — Condições atuais e previsão (geoposition, currentconditions, forecasts)
  • Mapbox — Geocoding (busca por nome da cidade e Estado)

📝 APIs Utilizadas

API Uso
Geoplugin (JSON) Obter latitude e longitude a partir do IP
AccuWeather – geoposition Obter código do local a partir de lat/long
AccuWeather – currentconditions Clima atual pelo código do local
AccuWeather – forecasts Previsão para 5 dias
Mapbox – geocoding Coordenadas a partir de cidade e Estado

🚀 Como Executar

1. Clonar e entrar no projeto

git clone https://github.com/henriqueotogami/App-Previsao-Tempo-Python.git
cd App-Previsao-Tempo-Python

2. Criar ambiente virtual (recomendado)

python3 -m venv venv
source venv/bin/activate   # Linux/macOS
# ou: venv\Scripts\activate  # Windows

3. Instalar dependências

pip install -r requirements.txt

4. Configurar chaves de API

Nos arquivos .py, substitua:

  • accuweatherAPIKey = 'INSERT YOUR KEY HERE' pela sua chave em AccuWeather.
  • No Aula43-Pesquisa-do-Local.py: mapboxToken = "INSERT YOUR MAPBOX TOKEN HERE" pelo seu token em Mapbox.

5. Executar

# Clima atual (localização por IP)
python "Aula30 - Previsao Atual.py"

# Clima atual + previsão 5 dias (localização por IP)
python "Aula37 - Previsao 5 Dias.py"

# App completo (IP + 5 dias + busca por cidade e Estado)
python Aula43-Pesquisa-do-Local.py

⚙️ Como Funciona

Fluxo geral (Aula43 – versão completa)

  1. Localização inicial: Requisição ao Geoplugin retorna latitude e longitude do IP.
  2. Código do local: AccuWeather (geoposition) devolve o código e nome do local.
  3. Clima atual: AccuWeather (currentconditions) retorna condição e temperatura.
  4. Previsão 5 dias: AccuWeather (forecasts) retorna mínima, máxima e descrição por dia.
  5. Busca por cidade: O usuário informa cidade e Estado; Mapbox (geocoding) retorna coordenadas; em seguida repete-se o fluxo AccuWeather (passos 2–4).

Funções principais (Aula37 / Aula43)

  • pegarCoordenadas() — Coordenadas via Geoplugin (IP).
  • pegarCodigoLocal(lat, long) — Código e nome do local no AccuWeather.
  • pegarTempoAgora(codigoLocal, nomeLocal) — Condição e temperatura atuais.
  • pegarPrevisao5Dias(codigoLocal) — Previsão diária (mín, máx, descrição).
  • pesquisarLocal(local) — (Aula43) Coordenadas via Mapbox a partir de texto (cidade/Estado).

📚 Conteúdos Abordados

  • Requisições HTTP em Python (requests)
  • Leitura e manipulação de JSON
  • Tratamento de erros e códigos de status
  • Organização em funções reutilizáveis
  • Uso de APIs REST (geolocalização e clima)
  • Entrada do usuário e fluxo interativo (previsão 5 dias, busca por cidade)

📄 Licença

Este projeto está licenciado sob a MIT License — veja o arquivo LICENSE para mais detalhes.

📖 Referências




Hashtags

#Python #PrevisaoTempo #WeatherApp #API #AccuWeather #Mapbox #Geoplugin #REST #OpenSource #GitHub #Udemy #Programming #Geolocalizacao #Clima


Buy Me a Coffee at ko-fi.com

Desenvolvido por Henrique Matheus Alves Pereira

About

Back-end do projeto de aplicativo de Previsão do Tempo, do curso de Python 3 na Udemy.

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

Used by

Contributors

Languages