A package to access meteorological data from Environment Canada
Project description
Environment Canada (env_canada)
This package provides access to various data sources published by Environment and Climate Change Canada.
Weather Observations and Forecasts
ECWeather
provides current conditions and forecasts. It automatically determines which weather station to use based on latitude/longitude provided. It is also possible to specify a specific station code of the form AB/s0000123
based on those listed in this CSV file. For example:
import asyncio
from env_canada import ECWeather
ec_en = ECWeather(coordinates=(50, -100))
ec_fr = ECWeather(station_id='ON/s0000430', language='french')
asyncio.run(ec_en.update())
# current conditions
ec_en.conditions
# daily forecasts
ec_en.daily_forecasts
# hourly forecasts
ec_en.hourly_forecasts
# alerts
ec_en.alerts
Weather Radar
ECRadar
provides Environment Canada meteorological radar imagery.
import asyncio
from env_canada import ECRadar
radar_coords = ECRadar(coordinates=(50, -100))
# Conditions Available
animated_gif = asyncio.run(radar_coords.get_loop())
latest_png = asyncio.run(radar_coords.get_latest_frame())
Air Quality Health Index (AQHI)
ECAirQuality
provides Environment Canada air quality data.
import asyncio
from env_canada import ECAirQuality
aqhi_coords = ECAirQuality(coordinates=(50, -100))
asyncio.run(aqhi_coords.update())
# Data available
aqhi_coords.current
aqhi_coords.forecasts
Water Level and Flow
ECHydro
provides Environment Canada hydrometric data.
import asyncio
from env_canada import ECHydro
hydro_coords = ECHydro(coordinates=(50, -100))
asyncio.run(hydro_coords.update())
# Data available
hydro_coords.measurements
Historical Weather Data
ECHistorical
provides historical daily weather data. The ECHistorical object is instantiated with a station ID, year, language, and format (one of xml or csv). Once updated asynchronously, historical weather data is contained with the station_data
property. If xml
is requested, station_data
will appear in a dictionary form. If csv
is requested, station_data
will contain a CSV-readable buffer. For example:
import asyncio
from env_canada import ECHistorical, get_historical_stations
# search for stations, response contains station_ids
coordinates = [53.916944, -122.749444] # [lat, long]
# coordinates: [lat, long]
# radius: km
# limit: response limit, value one of [10, 25, 50, 100]
# The result contains station names and ID values.
stations = asyncio.run(get_historical_stations(coordinates, radius=200, limit=100))
ec_en_xml = ECHistorical(station_id=31688, year=2020, language="english", format="xml")
ec_fr_xml = ECHistorical(station_id=31688, year=2020, language="french", format="xml")
ec_en_csv = ECHistorical(station_id=31688, year=2020, language="english", format="csv")
ec_fr_csv = ECHistorical(station_id=31688, year=2020, language="french", format="csv")
asyncio.run(ec_en_xml.update())
asyncio.run(ec_en_csv.update())
# metadata describing the station
ec_en_xml.metadata
# historical weather data, in dictionary form
ec_en_xml.station_data
# csv-generated responses return csv-like station data
import pandas as pd
df = pd.read_csv(ec_en_csv.station_data)
License
The code is available under terms of 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
Built Distribution
File details
Details for the file env_canada-0.5.0.tar.gz
.
File metadata
- Download URL: env_canada-0.5.0.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4221ac5122552f920c4df845c78f586c403ece68738880e7b79970d75975fa33 |
|
MD5 | c451ff40da3649dc809b7b4a5730538c |
|
BLAKE2b-256 | 52d7562df8fa0f782edf80c45db0e59f8b1dce4a6bed3156aae3ebb21de7c4a5 |
File details
Details for the file env_canada-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: env_canada-0.5.0-py3-none-any.whl
- Upload date:
- Size: 21.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | deb988d69d4ce694cc8a6875fee2dfca9056e65b8b8e45688e99406f3336088c |
|
MD5 | f65a9db9aaa33f4804ee3f4bff2cad2f |
|
BLAKE2b-256 | a067a0555f7c28f4feae5e92f0f3f5b24ab3541cb02d4355c2c8de8776353abb |