New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pygoogleweather

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pygoogleweather

Python library to get weather from Google Search. No API keys required.

  • 0.1.12
  • PyPI
  • Socket score

Maintainers
1

pygoogleweather

pygoogleweather is a Python library to get weather information from Google Search. No API keys required.

Features

  • Fetch current weather information for any city
  • Supports multiple languages
  • Convert temperature units between Celsius, Fahrenheit, and Kelvin
  • Get wind speed in km/h or mph
  • Reliable web scraping using Playwright

Installation

  1. Install the library using pip:
pip install pygoogleweather
  1. Install Playwright's browser (required):
playwright install chromium

Usage

Basic Usage

from google_weather.weather import get_weather_sync

# Get weather for a city (returns a dictionary with weather information)
result = get_weather_sync('Buenos Aires')
print(result)
# Output:
# {
#     'temperature': '24.0°C',
#     'humidity': '72%',
#     'wind': '34 km/h',
#     'condition': 'Mostly sunny',
#     'location': 'Buenos Aires, Argentina'
# }

Advanced Usage (with async)

import asyncio
from google_weather.weather import WeatherScraper

async def main():
    # Create a scraper instance with custom options
    scraper = WeatherScraper(headless=True, debug=False)
    
    try:
        # Get weather with custom language and units
        result = await scraper.get_weather(
            city='Paris',
            lang='fr',          # French language
            temp_unit='F',      # Fahrenheit
            wind_unit='mph'     # Miles per hour
        )
        print(result)
    finally:
        # Always close the scraper to free resources
        await scraper.close()

# Run the async function
asyncio.run(main())

Using in Google Colab

The library provides a special client for Google Colab that handles all the async complexity for you:

# Install
!pip install pygoogleweather
!playwright install chromium

from google_weather.colab import ColabWeatherClient

# Crear cliente
weather = ColabWeatherClient()

# Buenos Aires
result = weather.get_weather('Buenos Aires', lang='es')
print("\nBuenos Aires (ES):")
print(result)
# Buenos Aires (ES):
# {'location': 'Buenos Aires, Cdad. Autónoma de Buenos Aires, Argentina', 'temperature': '26.7°C', 'condition': 'Parcialmente nublado', 'humidity': '53%', 'wind': '12.0 km/h'}


# New York
result = weather.get_weather('New York', lang='en', temp_unit='F', wind_unit='mph')
print("\nNew York (EN, °F, mph):")
print(result)
# New York (EN, °F, mph):
# {'location': 'New York, NY', 'temperature': '30.0°F', 'condition': 'Partly cloudy', 'humidity': '45%', 'wind': '6.0 mph'}

# Paris
result = weather.get_weather('Paris', lang='fr', temp_unit='C', wind_unit='kmh')
print("\nParis (FR, °C, kmh):")
print(result)
# Paris (FR, °C, kmh):
# {'location': 'Paris, France', 'temperature': '3.9°C', 'condition': 'Nuageux', 'humidity': '93%', 'wind': '12.0 km/h'}

Debug Mode

You can enable debug mode to save screenshots during scraping:

scraper = WeatherScraper(debug=True)  # Screenshots will be saved in 'debug_screenshots' directory

Options

The WeatherScraper class accepts these parameters:

  • headless (bool): Run browser in headless mode (default: True)
  • debug (bool): Enable debug mode with screenshots (default: False)

The get_weather method accepts:

  • city (str): City name
  • lang (str): Language code (default: 'en')
  • temp_unit (str): Temperature unit ('C', 'F', or 'K', default: 'C')
  • wind_unit (str): Wind speed unit ('kmh' or 'mph', default: 'kmh')

Requirements

  • Python 3.9+
  • Playwright
  • Chromium browser (installed via playwright install)
  • nest-asyncio (for Google Colab usage)

License

This project is licensed under the MIT License - see the LICENSE file for details.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc