A Python package to fetch current weather data using OpenWeatherMap API
Project description
BlockX Weather
A Python package for weather data processing and calculations.
Installation
pip install blockx-weather
Features
- Create and manage weather data objects
- Convert temperatures between different units (Celsius, Fahrenheit, Kelvin)
- Calculate heat index (feels like temperature) based on temperature and humidity
- Calculate wind chill factor based on temperature and wind speed
- Calculate dew point based on temperature and humidity
- Command-line interface (CLI) for quick access to all features
- No external API dependencies - works offline
Usage
As a Library
from blockx_weather import (
WeatherData,
convert_temperature,
calculate_heat_index,
calculate_wind_chill,
calculate_dew_point
)
# Create a weather data object
weather = WeatherData("London", "GB")
weather.set_temperature(20.5, 19.8, "metric")
weather.set_atmosphere(humidity=65, pressure=1013)
weather.set_wind(speed=5.5, direction=180)
weather.set_description("clear sky")
weather.set_timestamp()
# Convert temperature between units
temp_f = convert_temperature(25.0, "metric", "imperial") # Celsius to Fahrenheit
print(f"25.0°C = {temp_f:.2f}°F")
# Calculate heat index
hi = calculate_heat_index(30.0, 80.0, "metric") # 30°C with 80% humidity
print(f"Heat index: {hi:.2f}°C")
# Calculate wind chill
wc = calculate_wind_chill(5.0, 20.0, "metric") # 5°C with 20 m/s wind
print(f"Wind chill: {wc:.2f}°C")
# Calculate dew point
dp = calculate_dew_point(20.0, 65.0, "metric") # 20°C with 65% humidity
print(f"Dew point: {dp:.2f}°C")
Via Command Line
The package provides several CLI commands:
# Generate sample weather data
blockx-weather sample "London" --temp 20.5 --units metric
# Convert temperature between units
blockx-weather convert 25.0 --from metric --to imperial
# Calculate heat index
blockx-weather heat-index 30.0 80.0 --units metric
# Calculate wind chill
blockx-weather wind-chill 5.0 20.0 --units metric
# Calculate dew point
blockx-weather dew-point 20.0 65.0 --units metric
Development
Setup
- Clone the repository
- Install development dependencies:
pip install -e ".[dev]"
Running Tests
python -m unittest discover tests
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
blockx_weather-0.1.1.tar.gz
(8.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blockx_weather-0.1.1.tar.gz.
File metadata
- Download URL: blockx_weather-0.1.1.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
803f0fa03ed387ae50ab7abb211db1a8be1f11bd00a754b9482ef3d3ceb2a79d
|
|
| MD5 |
7262212d81261e8addeb4ce048423946
|
|
| BLAKE2b-256 |
c73afd3aa598aeca8e24895c653b08e840ffc5f9d7171639331bf99e1f76f220
|
File details
Details for the file blockx_weather-0.1.1-py3-none-any.whl.
File metadata
- Download URL: blockx_weather-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47b63300638c24e12bd05c5018fa72131f9f91b5ae724a6268858d28fee07827
|
|
| MD5 |
04f57ea59a3f3db7e09e409fbe1a7476
|
|
| BLAKE2b-256 |
225bf260db5062ecc127684e2a4f16e9a5d37dcadb057c05a3b67db129897c00
|